Skip to content

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.

Typical costs and the account each goes to
What you pay forAccount
Lumber, fixtures and other materials5000 Purchases and materials
Subcontractors: electrical, plumbing, drywall5100 SubcontractorsKept apart from materials for T5018.
Fuel and repairs for the work truck7200 Vehicle expenses
A truck, trailer or excavator you buy1520 Vehicles
Large tools and equipment1500 Equipment and furnitureAn asset, not an expense.
Liability insurance6200 Insurance
Permits and trade licences6400 Licences, dues and memberships
Crew wages6800 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 construction

T5018: 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 slip

Records 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

Start your books today

Free, with no card. Upload a few months of statements and see them sorted.

Start your books