You can have a packed schedule, a full crew, and a healthy bank balance one week — and still not know which jobs actually made you money. That gap is what job costing closes.
What Job Costing Actually Means
Job costing is simple to say and easy to skip: for every job, you track what it truly cost you and compare that to what you charged. Not what you thought it would cost when you wrote the quote — what it cost by the time the last dumpster left.
The three buckets
Three buckets make up the real cost of a roof:
- Materials — shingles, underlayment, flashing, fasteners, drip edge, plus the runs to the supply house you didn't plan on.
- Labor — crew hours, subs, and the callback nobody wants to talk about.
- Overhead — insurance, the truck, the phone, software, the office. Every job carries a share.
Add those up, subtract them from the collected price, and you have your real profit on that job. That number is the whole point.
Why Gut Feel Isn't Job Costing
Most owners can tell you their "good" jobs by feel. The problem is that feel tracks how a job went, not what it made. A job that ran smooth can still lose money if materials crept up and nobody noticed. A job that fought you the whole way can post a strong margin because you priced the difficulty in.
A busy schedule hides a lot. Volume feels like profit right up until you count.
Gut feel also forgets overhead entirely. It's easy to look at a job, see the price beat the material and labor bill, and call it a winner — while your insurance, truck payment, and office never got their cut. Do that across a season and you can be "profitable" on paper and broke in the checking account.
The Actual-vs-Quote Comparison
The single most useful move in job costing is laying the real cost next to the quote. When those two numbers diverge, they tell you exactly where your estimating is off.
- Actual beats the quote — good, but check why. Did you estimate conservatively, or did you get lucky on material prices this month?
- Actual matches the quote — your pricing is dialed in. Protect it.
- Actual blows past the quote — this is the alarm. Something in how you bid that job type is wrong, and if you keep bidding it that way, you'll keep bleeding on it.
The pattern matters more than the job
The magic isn't in any single job. It's the pattern. When steep-roof tear-offs consistently come in over quote, you've found a leak in your pricing — not a run of bad luck.
Catching the Jobs That Lose Money
Every roofing company has a job type it quietly loses on. Small repairs where the drive time eats the ticket. That one crew that's slower than you budget for. Insurance work where the supplement never covered the real scope.
You can't fix what you can't see. Job costing turns "I feel like repairs aren't worth it" into "repairs under a certain size lose money once I count windshield time." Now it's a decision — raise the minimum, batch them by neighborhood, or stop taking them — instead of a nagging suspicion.
The leaks to watch for
Watch for these leaks specifically:
- Jobs where material waste ran high — over-ordering, theft, or bad measurements.
- Jobs that needed a second trip the quote never accounted for.
- Change orders you did as a favor and never billed.
- Crews whose actual hours routinely beat your labor estimate.
Make It a Habit, Not a Project
Job costing only works if you do it on every job, close to the time it happens. Costs you reconstruct three months later are guesses. The receipt in the truck console, the crew hours from this week, the supplement that just cleared — that's the data, and it's freshest right now.
You don't need a finance degree. You need a place where the quote, the real material receipts, and the labor for a job live together, so the comparison happens without you rebuilding it in a spreadsheet at 11pm.
From Numbers to a Sharper Business
The owners who keep their profit aren't working harder than you — they just refuse to guess. They know their close rate, they know their real margin by job type, and they price the next bid off what actually happened on the last one.
That's the whole reason we built job costing into RidgeSync: it lines up each job's real materials, labor, and overhead against the quote you sent, so you can see which jobs made money and which ones only felt like they did. There's a 30-day free trial if you want to run your last few jobs through it and see what the numbers say. Either way, start counting — the jobs that lose money are only expensive while they're invisible.
Put it into practice with RidgeSync
Website, CRM, measurements, quoting, invoicing, and AI — one flat price, no per-report fees. 30-day free trial.
Start free