Canada · Free chart of accounts template

Ontario Construction Chart of Accounts for Xero (Holdbacks + HST, Free)

Free Xero chart of accounts for Ontario builders: holdback accounts, subcontractor coding and HST defaults, readable CSV plus import CSV.

By ExpenseFlow team
· 6 July 2026

Free download · no email required

CSV with default and alternative Xero tax codes for every construction account. Import file and rate list below.

Download chart of accounts (CSV)

A general Ontario chart falls over quickly on a construction company: progress billings arrive minus a statutory holdback, subcontractors bill with and without HST depending on their registration, and municipal permit fees sit outside the tax system entirely. This Xero chart bakes those patterns in, with the tax treatment carried per account in Xero’s own Canadian rate names.

What is different from a generic Ontario chart

  • Holdbacks receivable (asset) and holdbacks payable (liability): the Construction Act’s retained percentages, tracked separately from ordinary receivables and payables so a job’s cash position reads true. Both default to the custom Out of Scope rate; the tax event for the held-back slice generally lands when the holdback is released.
  • Subcontractor labour (cost of sales) defaults to ON - HST on Purchases and lists Out of Scope as its legitimate alternative for unregistered small suppliers. The account note is the checklist: confirm the sub’s GST/HST registration before crediting the 13%.
  • Materials and equipment and tool rentals as separate direct-cost lines, both at 13% with full input tax credits, so labour, materials, and plant costs can be compared per job without dissection.
  • Safety gear and PPE at 13% (claimable), and permits and inspection fees on Out of Scope, because municipal charges are not taxable supplies.

The generic backbone stays: meals for site crews still hit the 50% ITC limitation, insurance premiums are HST-exempt but usually carry Ontario’s 8% RST as a pure cost, and wages plus source deductions stay out of scope.

Before the import: two minutes of setup

Xero’s Canadian edition seeds only the provincial purchases and sales pairs. Create the three custom 0% rates this chart references (Zero Rated, Exempt, Out of Scope) under the Tax menu, Tax settings, then Tax rates. Custom rates apply to both sales and purchases, so three cover everything. Then import through Accounting, Chart of accounts, Import; Xero will match the Tax Code column to the rates that now exist.

Place of supply on jobs

Construction work is taxed where the work is performed. An Ontario contractor building in Ottawa charges 13% HST; the same firm doing a job across the river in Gatineau is in Quebec’s system for that supply, and materials delivered to an out-of-province site follow that province’s taxes too. Xero seeds every province’s rate pair, so coding those jobs is picking the right province’s rate, not building one. The chart’s alternatives column flags the accounts where this comes up most: revenue, materials, and travel.

Working with it

  1. Add the three custom rates, then import into a demo org first if you want a dry run.
  2. Rename accounts to match how you quote jobs (labour, materials, plant) but keep the tax defaults.
  3. Give the readable CSV to whoever enters bills; the notes column is written for them.
  4. At month end, reconcile the holdback accounts against contracts; releases are the moment tax and revenue timing move.

One structural suggestion for firms running several jobs at once: resist the urge to clone accounts per project. Xero’s tracking categories carry the job dimension cleanly, so one materials account plus a Job tracking category beats a chart with forty materials accounts, and the tax defaults in this file keep working unchanged. The chart stays small enough to brief a new site administrator in one sitting, which is worth more than any theoretical precision a sprawling account list promises.

Volume is the enemy on a construction ledger: supplier bills, fuel slips, and site purchases arrive daily. Hubdoc captures and files them. ExpenseFlow reads each bill, distinguishes registered subs from small suppliers, codes materials at 13% and holdback lines out of scope, and posts to Xero against these accounts. Dext enforces per-supplier consistency for the merchants your crews hit weekly.

The QuickBooks version of this chart, with the same holdback and subcontractor structure in QBO’s format, is at Ontario construction chart of accounts for QuickBooks. Rate names and validity live in the Ontario Xero tax rates reference.

Questions, answered

Common questions

Why does a construction chart need holdback accounts?

Ontario's Construction Act lets customers retain a statutory holdback from each progress billing until lien periods expire. That retained money is neither revenue you can spend nor a cost you have paid, so it needs its own asset account (holdbacks customers owe you) and liability account (holdbacks you owe subcontractors) to keep job profitability honest.

How is HST handled on a holdback?

Generally the HST on the held-back portion becomes payable when the holdback is released rather than when the progress invoice is issued. Keeping holdbacks in their own accounts is what makes that timing visible; confirm treatment for your contracts with your accountant.

A subcontractor charged me no HST. Is that a problem?

Not necessarily. A small supplier under the $30,000 registration threshold legitimately charges nothing, and there is simply no input tax credit on that bill. The problem is the opposite pattern: paying 13% to someone who is not actually registered gives you an ITC the CRA can deny. Confirm registration for new subs before claiming.

Which tax rates must exist in Xero before I import this?

The Ontario pair (ON - HST on Purchases and ON - HST on Sales) ships with every Canadian Xero org. You add three custom 0% rates named Zero Rated, Exempt, and Out of Scope under Tax settings first; the import references them on the no-tax accounts like holdbacks, wages, and permits.

Keep exploring

Stop filling in spreadsheets by hand

A template is a starting point. ExpenseFlow captures receipts, reads the tax automatically, and posts the cleaned record to Xero or QuickBooks Online, so the log keeps itself.

Start free trial