Skip to content
← Guides

Bookkeeping for contractors and trades in Canada

Construction bookkeeping for Canadian contractors: job costing, holdbacks and their GST/HST, T5018 subcontractor reporting, and keeping cash in view.

October 3, 2026 · 7 min read

Bookkeeping for a contractor is ordinary bookkeeping with three complications: money arrives job by job and late, some of it is held back until the work is accepted, and if construction is your main business the CRA wants a report of what you paid your subcontractors. Get those three right and the rest is the same as any small business.

Start with the basics

Before anything construction-specific:

Job costing: know which jobs make money

A contractor can be busy, profitable on paper, and losing money on half its jobs. The only way to see it is to track revenue and direct costs by job.

For each job, record:

  • Contract value, plus approved change orders
  • Materials bought for it
  • Subcontractors on it
  • Your own crew's labour — hours × loaded wage
  • Equipment rental and job-specific costs like permits and disposal

Then compare. An example kitchen renovation:

  • Contract plus change orders: $48,000
  • Materials: $17,500
  • Subcontractors (electrical, plumbing): $9,800
  • Crew labour: 210 hours × $42 = $8,820
  • Bin rental and permits: $1,400
  • Direct costs: $37,520
  • Gross margin: $10,480, or 21.8%

That 21.8% has to cover your overhead — truck, insurance, office, your own time — before there's profit. Run the same arithmetic on every job for a year and you'll know which kinds of work to bid on and which to stop bidding.

The simple way to do this in your books is a job name or number on every invoice, bill and receipt, so transactions can be grouped by job. A spreadsheet per job works when you have a handful at once.

Progress billing and deposits

Most jobs of any size are billed in stages. Two bookkeeping points:

  • A deposit for work not yet done isn't revenue yet. Book it as a customer deposit (a liability) and move it to revenue as the work is done. This matters at year end — see cash vs accrual accounting.
  • Invoice each stage when it's reached, not when you get around to it. Late invoices are late cash.

Holdbacks

On many construction contracts, the customer or general contractor keeps back part of each payment until the work is complete and the period for liens has passed. The percentage and timing are set by provincial construction law or your contract, so check yours.

In the books, a holdback is money you've earned but can't collect yet. Track it separately:

  • Holdbacks receivable (an asset) — what's being held back from you. GIFI code 1068.
  • Holdbacks payable (a liability) — what you're holding back from your subcontractors. GIFI code 2623.

Both codes come from the CRA's GIFI guide. Keeping holdbacks out of ordinary receivables matters because they age differently: a 90-day-old regular invoice is a problem, a 90-day-old holdback may be exactly on schedule.

An example: you invoice $20,000 of progress plus GST/HST, and the contract holds back 10%. You're paid $18,000 now, and $2,000 sits in holdbacks receivable until release.

GST/HST on holdbacks

The GST/HST on a holdback has its own timing. For construction, renovation, alteration or repair of real property, where part of the payment is held back under federal or provincial law or a written agreement, the GST/HST on the holdback becomes payable on the earlier of the day the holdback is paid to you and the day the holdback period expires (CRA, GST/HST and home construction).

In the example, the GST/HST on the $18,000 goes on your return for the period you invoiced. The GST/HST on the $2,000 waits until it's paid or the holdback period ends. Getting this wrong means remitting tax months before you receive the money.

T5018: reporting payments to subcontractors

If your main business is construction, you may have to report what you pay subcontractors on T5018 slips. You must issue a T5018 slip if all of these apply (CRA, T5018 slip):

  • More than 50% of your business income is from construction activities
  • You paid resident Canadian subcontractors for construction services
  • Your total payments to a subcontractor in the year were more than $500, not counting GST/HST

Payments for goods only — materials from a supplier — are not reported (same page).

The return is due six months after the end of the reporting period, and you choose whether that period is the calendar year or your fiscal year (CRA, when to file information returns).

What this means for your bookkeeping:

  • Collect each subcontractor's business number or SIN, legal name and address before you pay them the first time (the CRA lists these for the slip). Chasing them in June for a job last summer is miserable.
  • Book subcontractors to their own account, separate from materials, so the total paid to each is a report, not a project.
  • Record the GST/HST separately, since the $500 test and the slip amounts exclude it.

Vehicles, tools and equipment

Trucks and tools are where contractors spend the most outside of jobs.

  • Vehicle costs — fuel, insurance, repairs — are deductible for the business share of the driving, supported by a logbook. Driving from home to your own shop is personal; driving from the shop to job sites is business. See claiming vehicle expenses.
  • Large tools and equipment are assets, depreciated through CCA, not expenses in the month you buy them.
  • Small tools and consumables are usually expensed. Ask your accountant where they draw the line, and be consistent.

Keep cash in view

Plenty of construction businesses get into trouble from cash timing rather than from losing money. Materials are paid up front, payroll is weekly, and the customer pays in 30 to 60 days — minus the holdback. A job can be profitable and still leave you short in week six.

Two habits help:

  • Know what's owed to you, by job and by age, every week — receivables and holdbacks separately.
  • Look ahead, not just back. A rolling forecast of the next few months of receipts and payments shows the gap before it arrives, while you can still move a supplier payment or chase an invoice.

Bookkeeping that keeps up with the job site

Spark Books is built for the parts that take a contractor's evenings. Upload your bank and card statements (CSV, OFX or PDF from the major Canadian banks), and its AI sorts supplier, fuel and subcontractor payments into a Canadian chart of accounts with the GST/HST split, asking when it isn't sure. Add your receipts and it matches them to the transactions. It handles invoices and bills, and a 13-week cash forecast shows when the gap between paying for materials and getting paid is coming. If you'd rather not do it yourself, there's an optional bookkeeper plan at $350 a month.

The short version

  • Separate accounts; materials and subcontractors under cost of sales.
  • Tag everything with a job so you can see margin by job.
  • Deposits aren't revenue until the work is done.
  • Track holdbacks receivable and payable separately; GST/HST on a holdback is payable when it's paid or the holdback period ends, whichever is first.
  • Construction is more than half your income? Report subcontractor payments over $500 on T5018, within six months of the period end.

Spark Books is free for Canadian businesses — upload a few months of statements and see your books sorted. No card needed.

See what you qualify for.

About ten minutes. Applying does not affect your credit; a hard pull happens only after you accept an offer.

Sign up