Why US-built accounting software fails in Canada
If you've ever tried to run a Canadian business on QuickBooks Online (US edition), Xero (in the early days), or any of the newer US-founded accounting tools, you already know the experience. Sales tax handling is a mess of custom tax codes you set up by hand. ITCs (Input Tax Credits) — Canada's mechanism for recovering the GST/HST you paid to vendors — are tracked as an afterthought, if at all. T-slip generation either doesn't exist or requires a separate add-on. The CRA's Business Number structure, with its program-account suffixes (RT, RP, RC, RM), doesn't map cleanly to anyone's data model. Multi-province sales tax is "supported" in the sense that you can set up 13 different tax codes manually and hope you keep them current as rates change.
The result is that Canadian SMBs and Canadian subsidiaries of US companies end up running their accounting in some uneasy combination of US-centric software plus a Canadian bookkeeper who knows the workarounds, plus a spreadsheet for HST/GST returns, plus an annual scramble at T-slip time. This works, in the sense that the CRA doesn't come knocking. It doesn't work in the sense that anyone enjoys it or trusts the numbers.
This guide walks through the parts of Canadian compliance that matter day-to-day for an SMB or the controller of a Canadian sub, and what to look for in a system that handles it properly.
GST, HST, PST, QST — explained per province
Canada has a federal sales tax (GST) plus, in some provinces, additional provincial sales taxes. In a few provinces those have been harmonized into a single tax (HST). In Quebec, there's GST plus QST (similar to HST in mechanism but administered separately). In a handful of provinces, GST applies on its own. In a small number of provinces, GST applies plus a separate provincial PST that's not harmonized.
The result, as of 2026:
| Province / Territory | Tax structure | Combined rate | Notes |
|---|---|---|---|
| Alberta | GST only | 5% | No provincial sales tax |
| British Columbia | GST + PST | 5% + 7% = 12% | PST administered separately by BC |
| Manitoba | GST + RST | 5% + 7% = 12% | Manitoba calls its PST "Retail Sales Tax" |
| New Brunswick | HST (harmonized) | 15% | Single rate, federally administered |
| Newfoundland & Labrador | HST (harmonized) | 15% | Single rate |
| Northwest Territories | GST only | 5% | |
| Nova Scotia | HST (harmonized) | 14% | Reduced from 15% to 14% effective April 1, 2025 |
| Nunavut | GST only | 5% | |
| Ontario | HST (harmonized) | 13% | Single rate, federally administered |
| Prince Edward Island | HST (harmonized) | 15% | Single rate |
| Quebec | GST + QST | 5% + 9.975% = 14.975% | QST administered by Revenu Québec, not CRA |
| Saskatchewan | GST + PST | 5% + 6% = 11% | PST administered separately by SK |
| Yukon | GST only | 5% |
A few things to notice from this table that trip up US-built software.
First, sales tax in Canada is destination-based for most transactions. If you're in Ontario and you ship something to a customer in Alberta, you charge GST at 5%, not Ontario HST at 13%. A tool that doesn't know the customer's "place of supply" will either over-collect or under-collect. The CRA's rules on place of supply for services are nuanced — particularly for services delivered remotely — and good software bakes those rules in.
Second, BC, Manitoba, Saskatchewan, and Quebec have provincial sales taxes that are administered separately from the GST. That means you may need to register with the BC Ministry of Finance for PST, with Manitoba Finance for RST, with the Government of Saskatchewan for PST, and with Revenu Québec for QST. Each of those is a separate registration, a separate return, and a separate set of rules about who needs to register. Most US-built systems collapse these into one "provincial tax" field and lose the distinction.
Third, QST in Quebec looks like HST but it's not. QST is administered by Revenu Québec on a separate cadence and has its own rules around input tax refunds (the QST equivalent of ITCs). The mechanics are similar but the filings are different. Software that treats QST as just "HST in Quebec" will get you in trouble at return time.
Practical implication: if you sell across provinces, your system needs to determine the right tax code from the place of supply (typically the customer's shipping address for goods, or the customer's location for services), apply the correct rate, and track each component separately on the GL — so you can file the right return to the right authority.
Input Tax Credits (ITCs) — how to track them properly
The thing that makes GST/HST/QST different from a regular sales tax is the ITC mechanism. When you pay GST/HST on a business expense, you can usually recover that GST/HST as a credit against the GST/HST you collect from your customers. The net amount is what you remit to the CRA (and, for QST, to Revenu Québec).
Concretely: you sell $10,000 of services in a quarter and collect $1,300 in HST (Ontario). In the same quarter, you spend $4,000 on business expenses that include $520 of HST. Your HST return shows $1,300 collected, $520 in ITCs, and you remit $780.
The trick is that ITCs need to be tracked at the line level — not at the invoice level, not at the vendor level — because some expenses are eligible for full ITCs, some for partial (meals and entertainment are typically 50% recoverable for ITC purposes, for example), and some for none (personal-use expenses, certain memberships).
A good system records the ITC eligibility on the transaction as it's entered. A bad system makes the bookkeeper figure it out at return time. We've seen finance teams spend an entire week per quarter just untangling ITCs from a transaction history — particularly for clients who run on US-centric software that didn't capture the distinction.
What proper ITC tracking looks like
- Every vendor bill has a tax code per line (Full ITC, 50% ITC, No ITC, etc.)
- The GL splits the tax portion into a separate "GST/HST Recoverable" account from day one
- At return time, the GST/HST Recoverable balance is the ITC total — no spreadsheet reconciliation needed
- QST is tracked separately as "QST Recoverable" with its own ITR (Input Tax Refund) rules
- PST and RST are not recoverable (they're true taxes on the buyer) — system should not propose them as ITCs
CRA Business Numbers — how the structure works
Every Canadian business has a 9-digit Business Number (BN) assigned by the CRA. But the BN itself is just the root. What matters for accounting is the program account suffixes that hang off it.
A BN looks like 123456789. Your various tax accounts with the CRA are extensions of this:
- 123456789 RT0001 — GST/HST account (RT = Registrant, GST/HST)
- 123456789 RP0001 — Payroll account (RP = Payroll deductions)
- 123456789 RC0001 — Corporate income tax (RC = Corporation income tax)
- 123456789 RM0001 — Import/export account (RM = Import/export)
The trailing number (0001, 0002, etc.) lets you have multiple accounts of the same type. A holding company with several operating subs might have multiple RT accounts for different GST registrations.
QST in Quebec uses a different number entirely — a 10-digit Quebec Enterprise Number (NEQ) plus a TQ file number — administered by Revenu Québec, not the CRA. So a Quebec entity has both a CRA BN and a separate Revenu Québec registration.
For accounting software, the implication is that the system needs to model these as proper program accounts attached to each legal entity, not as a single tax ID field. Otherwise you can't file separate returns to separate authorities, and you can't keep track of which entity is on the hook for which filing.
T4A vs T5 vs T5018 — who gets which
Canadian information slips are the rough equivalent of US 1099s, but they're more granular. The CRA cares deeply about which slip you issue for which type of payment.
| Slip | What it's for | Who issues it | Threshold / trigger |
|---|---|---|---|
| T4 | Employment income (salary, wages) | Employers | Any amount |
| T4A | Self-employment income, fees for services, scholarships, pension | Anyone paying a contractor for services | $500+ in a calendar year (some categories) |
| T5 | Investment income (dividends, interest) | Corporations paying dividends or interest | $50+ in interest; any amount for dividends |
| T5018 | Payments to subcontractors in construction | Construction industry payers | $500+ per subcontractor per year |
| T4A-NR | Payments to non-residents for services rendered in Canada | Anyone paying a non-resident contractor for Canadian services | Any amount; withholding may apply |
The most common confusion is T4A vs T5018 for contractors. The rule of thumb: T5018 is specifically for the construction industry (payments by construction businesses to subcontractors for construction services). For every other industry, contractor payments go on a T4A. If you're a software company paying a 1099-equivalent contractor for development work, that's a T4A — not a T5018.
Filing deadlines: T4 and T4A are due by the last day of February following the calendar year. T5018 has a six-month window after your fiscal year-end (which for construction businesses on a calendar year means June 30). T5 is due by the last day of February. T4A-NR is due by the last day of March.
The system requirement is that your software can correctly classify each payment, accumulate the totals through the year, and generate the slip at year-end — ideally with electronic filing to the CRA. A system that requires you to manually identify which payments need which slip is going to cause you to miss things.
Payroll deductions — CPP, EI, and income tax withholding
If you have employees in Canada, you're a withholding agent. Every paycheque needs to deduct:
- CPP (Canada Pension Plan) — both employee and employer contributions, calculated against pensionable earnings up to the annual YMPE ($69,700 for 2026) plus the second-tier CPP2 contribution against earnings between YMPE and the upper limit ($79,400 for 2026)
- QPP (Quebec Pension Plan) — Quebec equivalent for employees working in Quebec; slightly different rates and administered by Retraite Québec
- EI (Employment Insurance) — both employee and employer contributions; lower rate in Quebec because Quebec has its own QPIP (parental insurance plan)
- Federal income tax withholding — based on TD1 form and CRA payroll deduction tables
- Provincial income tax withholding — provincial TD1 and provincial tables; Quebec employees file Quebec source deductions separately via Revenu Québec
For VeloLedger customers, all of this is handled by VeloPulse (our HRIS/payroll product) and the resulting GL entries flow into VeloLedger automatically via MCP. The employer portion of CPP and EI lands as a payroll burden expense; the employee withholdings sit in liability accounts until remitted to the CRA (typically monthly or quarterly depending on remitter classification).
If you're running VeloLedger without VeloPulse, you can integrate with most Canadian payroll providers (Wagepoint, Payment Evolution, ADP Canada, etc.) and the same GL pattern applies — the system just needs to recognize the payroll JE and post the right accruals at month-end. See the month-end close checklist for how the payroll accrual fits into Day 3.
Bill 96 — what it means for Quebec entities
If you have a legal entity in Quebec — even just a sales office — Bill 96 (formally, an Act respecting French, the official and common language of Québec, in force since 2022 with provisions phased in through 2025) is relevant to how you operate. The accounting-specific implications are narrower than the law overall, but they do show up.
- Invoices and receipts — must be available in French. You can issue bilingual invoices, but the French version must be at least as prominent as English.
- Employment-related documents — offer letters, employment contracts, internal communications, and pay slips for Quebec employees must be in French (or bilingual with French given equal prominence).
- Vendor contracts — pre-printed contracts of adhesion must be in French; negotiated contracts can be in another language if both parties expressly agree.
- Business name and corporate filings — your business name in Quebec must include a French descriptive component, and registrations with Revenu Québec / the Registraire des entreprises must be in French.
- Compliance threshold — businesses with 25+ employees in Quebec must register with the Office québécois de la langue française (OQLF) and demonstrate francisation; the threshold was lowered from 50 to 25 employees in 2025.
For accounting software, the practical implication is that your system needs to produce French-language invoices, statements, and pay slips for Quebec customers and employees. VeloLedger supports bilingual document generation; many US-built tools do not.
Year-end CRA filings — the calendar
The Canadian compliance calendar is busy. Here's the typical year for a corporation on a calendar fiscal year:
| Deadline | Filing | Filed with |
|---|---|---|
| Last day of February | T4 slips and summary; T5 slips and summary; T4A slips and summary | CRA (and Revenu Québec for Quebec employees: RL-1, RL-3) |
| Last day of March | T4A-NR slips and summary; NR4 (non-resident withholding) | CRA |
| Within 6 months of fiscal year-end | T2 Corporate Income Tax Return | CRA |
| Within 6 months of fiscal year-end | CO-17 (Quebec corporate income tax) | Revenu Québec |
| Within 6 months of fiscal year-end | T5018 (construction industry) | CRA |
| Monthly / quarterly / annually (varies) | GST/HST return (frequency depends on revenue) | CRA |
| Monthly / quarterly / annually (varies) | QST return (for Quebec) | Revenu Québec |
| Monthly / quarterly / annually (varies) | PST or RST return (for BC, Manitoba, Saskatchewan) | Province |
| 15th of each month (or quarterly for small remitters) | Payroll source deductions remittance | CRA + Revenu Québec for Quebec |
Of these, the slips at end of February and the GST/HST/QST returns are the items where software does most of the work. The T2 and CO-17 are typically prepared by an external accountant from your year-end trial balance, but the cleaner your GL, the cheaper that engagement will be.
The honest take: if you're a Canadian SMB or a Canadian sub of a US company, you do not have to live with US-centric software that treats your country as an afterthought. The compliance requirements are knowable, well-documented, and stable — there's no reason a modern accounting platform shouldn't handle them as first-class concerns.
Built for Canada from day one
GST, HST, PST, QST, ITCs, T-slips, BN program accounts, and Bill 96 — all native. See how VeloLedger handles your jurisdiction in a 15-minute walkthrough.
Book a demo