Toolbeltby CrewcraftStart free
All guides
Pricing·Sep 22, 2026·6 min read

Job costing: finding out which jobs actually make money

By Stefan · founder, Toolbelt by Crewcraft

Plenty of contractors know their revenue and almost none know which jobs produced the profit. That matters, because the instinct about which work is good is wrong more often than it is right — the job that felt smooth is frequently the one that paid worst.

The whole idea in one line

Job costing is comparing what you quoted against what the job actually cost, per job, afterwards. That is it. Everything else is bookkeeping decoration.

What to track

  • Labour hours, actual. Not estimated, not remembered. The single most distorted number in the trades.
  • Material cost, actual — including the second supply house run nobody counts.
  • Subcontractor cost, if any.
  • Other direct costs — permits, dumpster, equipment hire, parking.
  • Revenue, including approved change orders.

That gives gross profit per job. Overhead sits above all of it and is handled by your rate, not by apportioning the insurance bill across jobs — a rabbit hole that stops people doing this at all.

Start with ten jobs

Not a system, not software. Ten recent jobs, a spreadsheet, five columns. The pattern shows up fast and it is usually uncomfortable.

What the numbers usually say

  • Small jobs underperform badly. The fixed cost of showing up does not shrink with the job.
  • One job type is carrying the business. Often not the one you talk about most.
  • Hours overrun predictably. If every job runs 20% long, your estimating is 20% optimistic and the fix is arithmetic, not effort.
  • Unbilled change orders are the biggest single leak. The work happened and the money did not.

What to do with the answer

Three options per job type, and only three: raise the price, reduce the cost, or stop doing it. “Try harder next time” is not one of them — if a job type loses money consistently, it is the pricing that is wrong, not the crew.

Dropping an unprofitable job type feels like shrinking. It usually is not: the hours go back into work that pays, and revenue holds while profit rises.

Close the loop on estimating

The point of job costing is not reporting. It is feeding real numbers back into the next quote — your price book should change when the costing says it should. That is the whole loop, and it is where the compounding happens.

Where the data comes from

Toolbelt keeps quoted totals, approved change orders and what was actually invoiced against each job, so the quoted-vs-billed half of the comparison is already there rather than reconstructed from memory. Analytics shows win rate and average ticket on top. Three free estimates, no card.

See also markup vs margin, change orders — the biggest leak on the list — and keeping the price book current.

Toolbelt does the paperwork this guide describes.

Describe the job in plain English — get an itemized, branded estimate the customer can e-sign and pay a deposit on, in about a minute. Built for HVAC, plumbing, electrical and roofing.

No credit card · 3 free estimates · Built for the trades