ContractorOS Get it — €39
Profit guide

Job Costing for Contractors: Know Your Real Profit Per Job

The check cleared — but did the job actually make money? After materials, the dump runs, and the hours your crew really put in, a lot of jobs that felt busy barely broke even. Job costing is how you stop guessing. Here's what to track, what estimated-vs-actual really tells you, and a simple weekly routine that keeps it honest.

Updated 8 min read

Ask most contractors which of their last ten jobs made the most money and which lost it, and you'll get a gut answer, not a real one. That's not a knock — it's just hard to see when every job blurs into the next and the only signal you get is whether the check cleared. But "the check cleared" and "the job was profitable" are two very different things.

Job costing closes that gap. It's not accounting, and it doesn't need a degree — it's just the habit of comparing what a job cost you against what you charged, so you actually know your margin instead of feeling busy and hoping.

What job costing actually is

Job costing means tracking the real costs of a specific job and comparing them to your estimate and your revenue. Two numbers do the heavy lifting:

Line those two up against the price you charged and you get the only number that matters: your real profit, and your real margin, on that job. Do it consistently and patterns appear — which types of work pay, which customers are trouble, where your estimates are always off.

What to track on every job

You don't need to track everything to the cent. You need to track the categories big enough to move the number:

The discipline that makes this work: log costs to the job as they happen, not from memory at the end. A photo of a receipt the day you buy materials beats reconstructing a month later every time.

Estimated vs actual: where the lessons live

The single most useful thing job costing produces is the variance — the gap between what you estimated and what actually happened. That gap is feedback, and it's how you bid better over time.

Without this comparison, you repeat the same estimating mistakes job after job and never know it. With it, every finished job makes the next bid sharper.

Catch overruns before the job ends

The best time to learn a job is going over budget is while you can still do something about it — not after. That's the idea behind a simple red / yellow / green flag: as actual costs climb toward your estimate, the job changes color.

A red flag mid-job is a prompt to act — pause, find the cause, and decide whether the extra work warrants a change order. Caught early, an overrun is a conversation. Caught after the check clears, it's just a loss you didn't see coming.

Reading margin per job — and using it

Once you have actual cost and revenue for a job, your margin is simple: Margin = (Revenue − Cost) ÷ Revenue. A job that brought in €10,000 and cost €7,000 ran a 30% margin. The value isn't the number itself — it's the comparison. Stack your jobs side by side and you'll quickly see which kinds of work, which sizes, and which customers actually earn, and which just keep you busy.

That's the loop that compounds: cost the job, read the margin, feed what you learned back into your next estimate. Over a year, that feedback is worth more than any single big bid.

A simple weekly routine

Job costing only works if it's a habit, and the habit can be small. Once a week — same time, with your coffee — do this:

  1. Enter the week's costs. Receipts, POs, sub invoices, and hours, logged to the right job.
  2. Scan the flags. Anything yellow or red gets a closer look while you can still act.
  3. Note the variances. Where did estimate and actual drift apart, and why?
  4. Update your cost library. If a price or labor assumption was off, fix it now so the next estimate starts from reality.

Fifteen minutes a week is enough to turn job costing from a year-end mystery into an ongoing read on your business.