# Projet : AIR — Accounting Intermediate Representation # Auteur : Simon-Pierre Boucher # Contact : contact@spboucher.ai # # ALSL v0.1 policy set — Canada / Quebec, verified 2026-08-05. # Every rate below is cited; see docs/research/canada-gst-qst.md for sources # (Revenu Québec rate tables, CRA canada.ca, Excise Tax Act s. 165.2). # Rates are YAML strings on purpose: bare floats are rejected by the loader. alsl_version: "0.1" policy_set: ca-qc version: "2026.08" description: > Canadian sales taxes (Quebec focus) + baseline classification policies. GST 5% (since 2008-01-01); QST 9.975% on the pre-GST price (since 2013-01-01); HST for participating provinces; GST-only for AB/NT/NU/YT. functional_currency: CAD # Excise Tax Act s. 165.2(2): fractions < $0.005 disregarded, >= $0.005 deemed # one cent => round-half-up to the cent. Same rule for QST (RQ IN-203-V). # NOT banker's rounding — this is a legal requirement, hence a policy value. rounding: mode: half_up source: docs/research/canada-gst-qst.md accounts: cash: {code: "1000", name: "Cash", type: asset} accounts_receivable: {code: "1100", name: "Accounts receivable", type: asset} gst_receivable: {code: "1210", name: "GST recoverable (ITC)", type: asset} qst_receivable: {code: "1220", name: "QST recoverable (ITR)", type: asset} hst_receivable: {code: "1230", name: "HST recoverable (ITC)", type: asset} equipment: {code: "1500", name: "Equipment", type: asset} accounts_payable: {code: "2000", name: "Accounts payable", type: liability} gst_payable: {code: "2310", name: "GST payable", type: liability} qst_payable: {code: "2320", name: "QST payable", type: liability} hst_payable: {code: "2330", name: "HST payable", type: liability} loan_payable: {code: "2500", name: "Loans payable", type: liability} owner_capital: {code: "3000", name: "Owner capital", type: equity} revenue: {code: "4000", name: "Sales revenue", type: revenue} fx_gain: {code: "4500", name: "Realized FX gain", type: revenue} expense_default: {code: "5000", name: "Operating expenses", type: expense} fx_loss: {code: "5500", name: "Realized FX loss", type: expense} policies: # GST 5% — applies across Canada outside HST provinces (here: QC + AB). # Source: CRA GST/HST rate table; Revenu Québec "Basic Rules"; verified 2026-08-05. - name: gst_canada kind: tax when: jurisdiction_in: [CA-QC, CA-AB] apply: - code: GST rate: "0.05" base: subtotal payable_role: gst_payable receivable_role: gst_receivable recoverable_on_purchase: true source: docs/research/canada-gst-qst.md # QST 9.975% — calculated on the selling price NOT including GST (since 2013). # Combined effective rate with GST: 14.975%. Verified 2026-08-05. - name: qst_quebec kind: tax when: jurisdiction: CA-QC apply: - code: QST rate: "0.09975" base: subtotal payable_role: qst_payable receivable_role: qst_receivable recoverable_on_purchase: true source: docs/research/canada-gst-qst.md # HST Ontario 13% — single harmonized tax. Verified 2026-08-05. - name: hst_ontario kind: tax when: jurisdiction: CA-ON apply: - code: HST rate: "0.13" base: subtotal payable_role: hst_payable receivable_role: hst_receivable recoverable_on_purchase: true source: docs/research/canada-gst-qst.md # Illustrative capitalization threshold: purchases >= 5000 CAD are capitalized # as equipment. This is an entity accounting POLICY (not law) — tune per entity. - name: capitalization_equipment kind: classification when: event_type: Purchase min_amount: "5000" currency: CAD then: classify: asset account_role: equipment source: "entity accounting policy (example); materiality thresholds are entity-specific"