Skip to content
(647) 692-7243info@newhouseandassociates.co

Bookkeeping for Contractors and Trades

Most contractors can say what the business made last year and cannot say which jobs made it. That is not a filing detail, it is the number the next quote depends on. Where every cost lands in one bucket called materials and another called labour, a job that lost money and a job that made money look identical on the way through, and the only signal is a bank balance months later that does not explain itself. The fix is structural rather than clever: the job travels with the cost from the moment it is entered, and everything else on this page follows from that. A plumbing or HVAC business running service calls and installs is doing two different kinds of work in one set of books, and the install jobs are where the margin hides. Available to contractors in Canada and the United States. Tax filing is Canadian: a US business keeps its own preparer and we do the books underneath.

What's included

  • Every cost coded to the job that incurred it, materials, labour, equipment and subcontractors, so job profit is a figure rather than a feeling
  • Customer deposits carried as a liability until the work is done, because money taken before the work is not yet revenue
  • Progress billing recorded against what was actually billed, with work done and not yet billed visible rather than assumed
  • Holdback tracked separately as earned but not yet collectible, so the cash flow shows when the money can actually arrive
  • Work in progress reviewed monthly, so an overbilled or underbilled job surfaces while there is still a job to do something about
  • Subcontractor payments recorded so the year-end reporting has nothing to reconstruct, T5018 in Canada and 1099-NEC in the United States
  • Worked in Jobber, ServiceTitan and Housecall Pro, with what each holds reconciled into the accounting file rather than treated as the accounting file

Who it's for

  • General contractors quoting the next job from a feel for how the last one went
  • Plumbers, electricians and HVAC contractors running several jobs at once with costs arriving in one pile
  • Builders taking deposits months before the work starts
  • Anyone invoicing progress draws and carrying a receivable they cannot collect yet
  • Subcontractor-heavy operations facing a T5018 or a 1099-NEC at year end

How it runs

The actual sequence, start to finish.

  1. 01

    Build the job structure first

    Every job gets its own code before any coding decisions are made, and the level is settled up front: job, phase or cost type. It is the one decision that cannot be applied backwards without redoing the year, which is why it comes before anything else.

  2. 02

    Get the costs onto the jobs

    Supplier invoices, subcontractor bills, equipment time and labour hours all land against a job rather than against the month. Where the crew already logs time and materials in a field service platform, that is the source, so nobody is asked to key the same day twice.

  3. 03

    Keep deposits out of revenue

    A deposit is somebody else's money until the work is done, so it sits as a liability and moves to revenue as the work is delivered. Treating it as revenue on the day it arrives flatters a month that has not earned it and leaves a hole in the month that did the work.

  4. 04

    Track the holdback on its own

    Holdback is earned revenue that cannot be collected yet, so it is recorded as earned and shown separately from what is actually collectible. That is the difference between a receivables list you can plan against and one that says money is coming when it is not.

  5. 05

    Review work in progress every month

    Costs to date against billings to date, job by job. A job billed ahead of the work and a job that has run past its budget both show up here, in the month it happens rather than in a year-end adjustment nobody can act on.

What it costs

Priced by monthly transaction volume, then scoped for how many jobs run at once. Four open jobs and forty are different files at the same transaction count.

Questions about bookkeeping for contractors and trades

What is holdback, and why does it sit in its own account?

It is a portion of each progress payment the customer is entitled to keep back for a period after the work, as protection against defects and unpaid subtrades. In Ontario the Construction Act sets the basic holdback at ten per cent of the value of the work and fixes when it can be released. In the United States the same idea is called retainage, the percentage and the release rules are set state by state and vary widely, so we will not tell you what yours is on a web page. The accounting is the same in both countries: the money is earned when the work is done, and it is not collectible until the holdback period ends, so it is recorded as revenue and shown apart from receivables you can actually chase.

We take a deposit before the job starts. Is that revenue?

Not yet. Until the work is done it is money you are holding, which makes it a liability rather than income, and it moves into revenue as the work is delivered. It matters more than it sounds on a job that straddles a year end, because a deposit booked as revenue in December is profit you are taxed on for work you have not done, and the month that does the work shows the cost with no income against it.

We pay a lot of subcontractors. What has to be reported?

In Canada, a business whose main activity is construction files a T5018, the Statement of Contract Payments, for subcontractors paid five hundred dollars or more in the reporting period, due six months after the fiscal year end. In the United States it is the 1099-NEC, and the threshold has moved: payments made in 2026, reported in early 2027, are reportable at two thousand dollars rather than the long-standing six hundred. Two things to watch there. Most accounting software still triggers its 1099 flag at six hundred, so the report it produces is not the same as the requirement. And the W-9 rule did not change, so you still want one from every subcontractor before you pay them, regardless of what you end up paying. We keep the subcontractor records the reporting is built from. US information returns are filed by you or your tax preparer, not by us.

Our field software already does job costing. Why does the bookkeeping matter?

Because those are two different questions. A field platform knows what was quoted, scheduled and invoiced. It does not know what the supplier actually charged after the account credit, what the equipment cost to run, or what the subcontractor billed against a different job by mistake. Job profit is only true when the job carries every cost that hit the bank, and that reconciliation is the part that happens in the accounting file.

Can you fix job costing partway through a year?

Usually, and how far back is worth being honest about before starting. Recoding a year of transactions to jobs is possible where the source documents identify the job, and it is guesswork where they do not. We would rather tell you the point at which the history stops being reliable than rebuild a year that ends up describing something that did not happen.

More questions answered on the FAQ page.

Ready to talk about bookkeeping for contractors and trades?

A free 20-minute consultation, no obligation.