Ask most contractors whether a job made money and you’ll hear something like “it went pretty well.” Ask how much it made and the room gets quiet.
Job costing is how you replace “pretty well” with a number. It isn’t complicated, and it isn’t an accounting exercise. It’s the habit of comparing what you thought a job would cost with what it actually cost, every time, while you still remember why.
Why it matters more than anything else
Without job costing, your estimates never get better. You bid the next job on the same assumptions that lost money on the last one. You keep doing the kind of work that drains you and never notice that a different kind pays twice as well.
It’s also the foundation for everything else. You can’t set a real price, know your margin or plan your cash flow until you know what your jobs actually cost.
The system in four steps
1. Estimate in categories
Your estimate needs to break the job into the same buckets you’ll track afterward. Keep it simple. For most residential work, five are enough:
- Materials
- Labor (hours, and dollars at the fully loaded rate)
- Subcontractors
- Disposal, permits and equipment
- Other direct costs
If your estimate is one number with no breakdown, you’ll have nothing to compare against later. Fix that first.
2. Tag every cost to a job
Every receipt, invoice and timesheet gets a job name or number on it. Do that and the rest gets easy.
- Materials: give your supplier the job name on every order so it prints on the invoice. Most suppliers are happy to do it.
- Labor: crews log hours by job, every day. A paper sheet in the truck works. So does a phone app. Reconstructing it from memory at the end of the week doesn’t.
- Card purchases: snap a photo of the receipt and write the job name on it before it leaves your hand.
- Bookkeeping: if you use accounting software, set up jobs (often called “projects” or “classes”) and code every cost to one.
3. Close out each job within a week
When the job is done and the last invoice is in, sit down for twenty minutes and fill in the actuals next to the estimate.
| Category | Estimated | Actual | Difference |
|---|---|---|---|
| Materials | $6,200 | $6,650 | −$450 |
| Labor | $5,000 | $6,100 | −$1,100 |
| Subcontractors | $0 | $0 | $0 |
| Disposal, permits, equipment | $1,300 | $1,250 | +$50 |
| Direct cost | $12,500 | $14,000 | −$1,500 |
| Price collected | $17,900 | $17,900 | |
| Gross margin | 30.2% | 21.8% |
Round illustrative numbers, not a real job.
That one table tells a story. Materials ran a little over, which might be waste or a late change. Labor ran over by more than 20%, and that’s where to look. Was it the crew, the estimate or the job? Each answer leads somewhere different.
4. Look for patterns once a month
One job over budget is noise. The same category over budget on six jobs is a pattern, and patterns are where the money is.
Once a month, look at every job you closed out:
- Which category runs over most often? That’s the line in your estimates that needs to change.
- Which type of job had the best margin? Do more of those.
- Which crew, salesperson or season had the worst? That’s a conversation to have.
- Are change orders being written up and collected, or done for free?
Mistakes that make job costing useless
Waiting until tax time. By then you can’t remember why labor ran over on a job back in April. Close out each job while it’s fresh.
Leaving out your own time. If you spent two days on the job, those days cost money, even if you didn’t write yourself a check.
Not counting callbacks. When you go back to fix something, charge the time and materials to the original job. Otherwise every job looks better than it was.
Tracking without changing anything. A spreadsheet doesn’t make you money. A more accurate next estimate does.
You don’t need expensive software
A spreadsheet with one row per job and the columns above will carry a small company a long way. Software helps once you have more jobs than you can track by hand, but it won’t do the thinking for you. The habit matters far more than the tool.
Start with your next job. Estimate it in categories, tag every cost to it, and close it out within a week of finishing. By the end of the quarter you’ll know more about your business than most contractors learn in years.