Bookkeeping for contractors in Canada
Materials and subcontractors go under cost of sales, not overhead. Two rules are particular to construction: the GST/HST on a holdback isn't due until it's paid or the holdback period ends, and if construction is most of your income, you report what you pay subcontractors on T5018 slips.
Where the money goes in your books
What a construction business usually spends on, and the account in a Canadian chart of accounts it belongs in. The numbers are the account codes in Spark’s starting chart.
| What you pay for | Account |
|---|---|
| Lumber, fixtures and other materials | 5000 Purchases and materials |
| Subcontractors: electrical, plumbing, drywall | 5100 SubcontractorsKept apart from materials for T5018. |
| Fuel and repairs for the work truck | 7200 Vehicle expenses |
| A truck, trailer or excavator you buy | 1520 Vehicles |
| Large tools and equipment | 1500 Equipment and furnitureAn asset, not an expense. |
| Liability insurance | 6200 Insurance |
| Permits and trade licences | 6400 Licences, dues and memberships |
| Crew wages | 6800 Wages and benefitsThrough a payroll service. |
How a chart of accounts works · The whole chart, as a template
The tax rules that are different for you
Each one is from the CRA, checked in October 2026. The link goes to the page it came from.
GST/HST on a holdback waits for the holdback
On construction, renovation or repair work where part of the payment is held back under law or a written agreement, the GST/HST on the holdback is payable on the earlier of the day it's paid to you and the day the holdback period ends. Invoice $20,000 with 10% held back, and the tax on the $2,000 goes on a later return.
CRA: GST/HST and home constructionT5018: report what you pay subcontractors
You must issue T5018 slips if more than 50% of your business income is from construction, you paid Canadian-resident subcontractors for construction services, and you paid one of them more than $500 in the year, not counting GST/HST. Payments for goods only aren't reported. File within six months of the end of the period you report on.
CRA: T5018 slipRecords to keep
- Each subcontractor's legal name, address, and business number or SIN, collected before the first payment.
- Contracts and change orders, with the holdback percentage on each.
- Progress invoices and what was held back from each one.
- Supplier invoices, so you can tell materials (goods only) from labour (services).
Common mistakes
- Mixing subcontractors in with materials, so the T5018 totals are a week's work in June.
- Remitting the GST/HST on a holdback months before you're paid it.
- Booking a customer's deposit as revenue before the work is done.
- Treating a 90-day-old holdback like an overdue invoice. It's often exactly on schedule.
How Spark Books handles it
Fits, with limits
Fits a small contractor. Holdbacks, T5018 slips and job costing sit with you or your accountant.
What it does
- Sorts supplier, subcontractor, fuel and equipment payments into a chart that keeps materials and subcontractors apart, with the GST/HST split out.
- Sends progress invoices and marks them paid when the deposit arrives.
- A 13-week cash forecast, for the gap between buying materials and getting paid.
What it doesn’t
- The starting chart has no holdback accounts, and Spark doesn't hold back the GST/HST on a holdback for you.
- It doesn't produce T5018 slips. Subcontractor payments are kept in their own account, which gives you the totals.
- It doesn't track costs job by job.
- No live bank feed: you upload statements. Not available in Quebec yet.
Free, with no card. If you’d rather not do it yourself, a Spark bookkeeper keeps your books for $350 a month. How Spark Books works
Questions
- When is GST/HST due on a construction holdback?
- On the earlier of the day the holdback is paid to you and the day the holdback period ends. The rest of the invoice is reported in the period you bill it.
- Who has to file T5018 slips?
- A business whose income is more than 50% from construction, that paid Canadian-resident subcontractors for construction services, for each subcontractor paid more than $500 in the year, excluding GST/HST. Payments for goods only aren't reported.
- When is the T5018 due?
- Six months after the end of the reporting period. You choose whether the period is the calendar year or your fiscal year.
- Are subcontractors an expense or cost of sales?
- Cost of sales, along with materials, in their own account. That shows your gross margin and gives you the T5018 totals.
Read next
- Bookkeeping for contractors and trades in CanadaConstruction bookkeeping for Canadian contractors: job costing, holdbacks and their GST/HST, T5018 subcontractor reporting, and keeping cash in view.
- A chart of accounts for a small business in Canada (with template)A sample Canadian chart of accounts, numbered and mapped to CRA GIFI codes, with the GST/HST, shareholder loan and owner's draw accounts most templates miss.
- Cash vs accrual accounting in CanadaCash or accrual? What the CRA lets Canadian sole proprietors use, why most must report on accrual, how GST/HST timing works, and a worked year-end.
- Financing for construction firmsWhat a lender reads in a construction file, if you need financing.
Start your books today
Free, with no card. Upload a few months of statements and see them sorted.
Start your books