Bookkeeping for contractors and trades: a practical guide
Contractors and trades businesses have bookkeeping that most industries never deal with: jobs to cost, progress payments and holdbacks, subcontractors, equipment, and materials bought across dozens of suppliers. Keep it organized and you know which jobs actually make money. Let it slide and profit hides in the mess.
Why trades are different: your costs and revenue attach to jobs, not just to the month. Without job-level tracking, a busy year can still be an unprofitable one — and you won't know until it's too late to fix.
What makes contractor bookkeeping distinct
- Job costing — tracking materials, labour and subcontractor costs against each job so you can see its true margin.
- Progress billing & deposits — invoicing in stages, and deposits paid before work is done, which aren't yet earned revenue.
- Holdbacks — a portion of payment retained until completion; it's owed to you but not yet collectible, so it needs its own tracking.
- Subcontractors — payments to subs, kept distinct from employee wages, with the right year-end reporting.
- Equipment & tools — larger purchases recorded as assets and depreciated, not expensed all at once.
- Materials across many suppliers — receipts from lumberyards, supply houses and hardware stores that all need to land on the right job.
A clean routine
- Code every material receipt and subcontractor invoice to the job it belongs to.
- Track labour hours to jobs so the biggest variable cost is captured.
- Record deposits and progress payments as work-in-progress or deferred revenue until earned.
- Track holdbacks separately as receivable-not-yet-due.
- Reconcile every bank and credit-card account monthly.
- Review each job's cost vs. its billing to see the real margin — not just the total in the bank.
The number that matters: profit per job. A job can look fine on the invoice and lose money once materials, subs and labour are tallied. Job costing is what surfaces that — so you can quote the next one right.
Watch these
- GST/HST on materials and subs — tracked correctly so input tax credits and filings are clean.
- Cash timing — between paying for materials up front and collecting on progress or holdbacks, cash can get tight even on profitable jobs.
- Employee vs. subcontractor — classifying correctly matters for payroll and year-end reporting.
Busy on the tools, behind on the books?
We set up job-costed bookkeeping with automated categorization and reconciliation, so materials, subs and labour land on the right job and you can see which work actually makes money — without doing it at the kitchen table after hours.
Book a free 30-minute call →Official references
This guide is general educational information, not accounting or tax advice.
Frequently asked questions
What is job costing and why do contractors need it?
Job costing tracks materials, labour and subcontractor costs against each individual job so you can see its true profit margin. Contractors need it because a busy schedule can still be unprofitable if some jobs lose money — and without job-level tracking, you can't tell which ones or fix your quoting.
How should contractor deposits and holdbacks be recorded?
Deposits and progress payments received before work is earned are recorded as deferred revenue or work-in-progress, not immediate income. Holdbacks — amounts retained until completion — are tracked as a receivable that isn't yet collectible, so your books reflect what's truly earned and owed.
What's the difference between an employee and a subcontractor for the books?
Employees are paid wages with source deductions and T4s; subcontractors are paid on invoice and reported differently. Classifying each correctly matters for payroll obligations and year-end reporting, and misclassifying is a common, costly error.