Construction Job Costing: How to Do It Right
Construction job costing is simple to describe and easy to do badly: give every job its own ledger, put every dollar the job causes into that ledger, and compare it to what you bid. The gap between the two is where your company gets better — or quietly bleeds. Here's the method that works on real jobs, from a guy who runs them. If you want the short definition first, start with what job costing actually is before this post gets into the how.
Start with cost categories you'll actually use
The textbook answer is a 400-line cost-code library. The real answer for a small operation is five to eight buckets you can sort in your head: demo, framing/carpentry, plumbing, electrical, finishes, materials, subs, fees. If a category never changes a decision, it's clutter. You can always split a bucket later when a number in it starts surprising you. Whatever your buckets are, one of them has to be overhead — it belongs in the cost picture the same as labor and materials do, not as an afterthought at tax time.
Use loaded labor rates
A $28/hour carpenter doesn't cost you $28. With payroll taxes, comp, and the truck he rides in, he costs you closer to $35–$40 — that range is an illustration of how much a wage grows once you load it, not a rate I'm telling you to pay. Figure your own real loaded rate once a year and use it everywhere; the exact math is worked through in how to calculate labor cost in construction. This one fix changes more bids than any software feature will.
Capture costs the day they happen
The single biggest failure in construction job costing isn't math — it's lag. Receipts pile up. Sub invoices arrive weeks late. Hours get reconstructed from memory on Friday. Every day of lag makes the job ledger less true. The fix is moving capture to the moment of spend: scan the receipt at the counter, log hours at the site with GPS clock-in, and photograph the sub's invoice the day it lands. A one-page job cost sheetper project is enough structure to hold all of it — you don't need more than that to see whether a job is on track.
Add it up: total job cost
Once labor, materials, subs, and fees are captured, the total job cost is just the sum of what the job actually consumed — direct costs plus its share of overhead, measured against the contract price. The full walkthrough, with the overhead-allocation step spelled out, is in how to calculate total job cost. Skip the overhead share and every job on the books looks more profitable than the bank account says it is.
Two costs are easy to lose in this total, and both hide in the same place: things you paid for but never logged. A change order the client verbally approved but you never wrote down against the contract. A second supply run paid out of your own card because the job account was tapped for the week. Neither one shows up unless someone goes looking for it, and by the time someone does, the job is usually already closed.
Compare against the bid, line by line
A total that says "the job made 18%" is a grade. Line-level comparison is a lesson: tile labor ran 30% over, materials came in under, the plumber's change order ate the cushion. Do this on every job and your next bid on the same scope stops being a guess — it's last job's actuals plus what changed. The bathroom remodel that taught me this the hard way — bid at 30%, closed at 12%, on $7,500 of receipts that never made it into the ledger — is broken down line by line in the full $42,000 job story. Remodeling carries its own quirks worth knowing before you set your buckets — see job costing for remodeling specifically.
Watch profitability while the job is still open
None of this has to wait for the job to close. Checking margin weekly — actual spend plus what you've already committed to but not yet paid — catches a phase running hot while there's still time to do something about it. That habit, with a worked example, is laid out in how to track job profitability before the job ends, not three months after.
Close every job with the same three questions
- What did we bid, and what did it actually cost — by category?
- Which category surprised us, and was it price, hours, or scope creep?
- What number changes on the next bid because of this?
Ten minutes per job. It's the cheapest consulting you'll ever get, and it comes from your own numbers.
The tooling
None of this needs to be complicated to work. A shared spreadsheet with one tab per job, updated the same day a cost lands, beats a beautiful system nobody keeps current. The method matters more than the medium — pick whichever one you'll actually open every day.
You can run this method on paper. What decides whether it survives August is how fast capture is. I built Job Cost Pro so the capture step takes seconds — snap or speak a cost, confirm the job with one tap, and the margin updates live. Free tier gets you 3 projects and 50 receipts a month with no credit card; the QuickBooks export is on the Pro tier ($29.99 a month), and running payroll for a crew is on Contractor ($49.99) once you're running crews as well as jobs — crew clock-in itself starts on Free with 3 seats. iPhone is live on the App Store today; Android is currently in testing. Start with the job you're on right now.
Track your next job with Job Cost Pro
Scan receipts, confirm the suggested job, and see your recorded costs against your budget. Start with the free plan in your browser or get the iPhone app.
Free plan available. Some features require a paid plan.
FAQ
What is job costing in construction?
Job costing in construction is tracking every dollar one specific job causes — labor, materials, subs, permits, and a share of overhead — against what you bid for that job. The point is a single running number per job, not a company-wide guess, so you know whether that job actually made money and by how much.
What are the main cost categories in construction job costing?
A small operation does fine with five to eight buckets: demo, framing/carpentry, plumbing, electrical, finishes, materials, subs, and fees, plus a share of overhead. Add a category only when a bucket starts hiding a number that would otherwise surprise you — more categories than that just add clutter without changing a decision.
How do you calculate the cost of a construction job?
Add up direct costs as they land — labor at your real loaded rate, materials, sub invoices, permits — then add the job's share of overhead, found by dividing last year's total overhead by last year's revenue and applying that percentage to the job's contract price. Compare the total to the contract price to get the real margin, not the one you assumed at bid time.
How often should a contractor update job costs?
The day the cost happens, not the day you remember it. A receipt scanned at the counter, hours logged at the site, and a sub invoice photographed the day it arrives keep the job ledger true. Lag is the biggest failure mode in job costing — a week of backlog turns an accurate number into a fiction.
What is the difference between job costing and estimating?
Estimating happens before the job: pricing the scope, so you know what to bid. Job costing happens during and after: tracking what the job actually spent against that bid, so you know whether the estimate held up. A job costing tool like Job Cost Pro does not do takeoffs or estimating — it picks up once a job you have already priced is underway.