Every contracting business has that one crew. The one that never stops moving. Trucks rolling out at 6:45, jobs stacked back-to-back, the schedule so full you can’t fit another walkthrough. From the outside, that crew looks like the healthiest part of the company.
Here’s the uncomfortable question: do you actually know if that crew is making you money?
Most owners can tell you the month’s revenue. Fewer can tell you what a single job costs to build, down to the labor hour, the material waste, and the overhead that quietly rides along on every truck. Without that number, “busy” and “profitable” get treated as the same thing — and they’re not.
The Job Everybody High-Fived About
Picture a $45,000 remodel (example numbers). The crew finished on schedule, the customer was happy, and everyone in the office assumed it was a good one. Nobody ran the actual numbers until weeks later.
Materials came in over the original estimate — a supplier price bump here, an extra order there. Labor ran long due to two callbacks that were never billed separately. A handful of change orders got verbally approved on-site and never made it into an invoice. Then overhead — the truck payment, the insurance, the shop rent, the office staff — got allocated across the month’s jobs, and this one’s share ate further into the number.
Add it up, and that $45,000 job costs roughly $47,000 to build (example numbers). Not a loss anyone caused on purpose. A loss nobody was watching for, because nobody was tracking cost at the job level in the first place.
This is the pattern behind many “we had a good year” conversations that don’t hold up when you look job by job. Revenue was real. Profit on that specific job wasn’t there — and a full schedule of jobs like it is exactly how a contractor stays busy and stays broke.
Why Gut-Feel Bidding Leaves Money on the Table
Ask most contractors how they price a job, and the honest answer is some version of “I know what these jobs usually run.” That instinct isn’t wrong — it’s just incomplete. It’s built on what a job costs to win, not always what it costs to build and support.
Contractors who aren’t job costing commonly bid 10–20% under true cost (industry range). That gap comes from the same handful of blind spots every time: labor is priced at a billing rate instead of true loaded cost, materials get estimated without a waste factor, overhead never gets allocated to the job at all, and the margin that’s supposed to be “built in” gets absorbed the moment anything runs long.
Run the same bathroom remodel two ways — once on gut feel, once with job costing — and the gap shows up line by line. It’s rarely one big miss. It’s five smaller ones stacked on top of each other, and by the time the job closes out, they’ve eaten the margin.
The Four Numbers Every Bid Needs
Job costing sounds like an accounting exercise. In practice, it comes down to four numbers you should be able to answer before you send any bid:
True labor cost per hour. Not your crew’s hourly wage — their fully loaded cost including payroll taxes, insurance, and benefits.
Materials cost with a waste factor. What you’ll actually buy, not the tidy list from the plan set. Waste, damage, and mid-job substitutions are part of the real numbers.
Overhead per job. Your truck, your insurance, your shop, your office — all of it gets built and paid for by the jobs you run. If it’s not allocated per job, it’s silently absorbed by whichever job runs longest that month.
Target margin. Decided before the bid goes out, not discovered after the job closes.
If you can’t answer those four questions about the last job you closed, you’re not pricing — you’re guessing, and the guess is usually generous to the customer and expensive to you.
How to Start Job Costing This Week
You don’t need new software to start. You need one job, tracked honestly, start to finish.
Pick a job that’s currently in progress or one that just closed. Pull the actual labor hours logged against it — not estimated, actual. Pull every material receipt tied to that job specifically. Add a reasonable overhead allocation based on your monthly fixed costs, divided by your typical job volume. Compare that total to what you billed.
That single comparison will usually tell you more about your business than a month of revenue reports. Do it across your last five closed jobs, and a pattern will show up fast — which job types are quietly subsidizing the others, and which ones are the ones actually keeping the lights on.
The goal isn’t to slow down your bidding process. It’s to stop finding out a job lost money after the crew has already moved on to the next one.
Take the Next Step
You don’t have to rebuild your entire pricing process to find out where you stand. Level 1 of the free Contractor Growth Assessment — the first of six levels — scores exactly this — whether your business is set up to know which jobs actually make money, or whether you’re still finding out after the fact. Take the free Contractor Growth Assessment → and see where your job costing stands today.




