How much do you still expect to spend to finish this job? Compare that to how much budget remains. If you've spent $180K of a $300K estimated cost and have $150K of work left to do, the job is already $30K over budget — and you're only 60% done. The overrun will compound. Act now.
At your current percent complete, what gross margin are you earning? If you bid the job at 28% gross margin and you're tracking at 22% at 50% complete, you have a 6-point margin deficit on half the job. That 6-point gap needs to be recovered on the remaining 50% — or the bid margin is gone.
Job-level totals hide phase problems. A job that's 2% over total budget might have a labor phase that's 18% over estimate and a materials phase that's 12% under. The labor overrun is a real problem. The materials savings might be coincidental. Tracking by phase tells you where the margin is going.
| Phase | Estimated Cost | Actual to Date | % Complete | Variance |
|---|---|---|---|---|
| Rough-in Labor | $120,000 | $98,000 | 70% | +$14,000 favorable |
| Rough-in Material | $85,000 | $72,000 | 75% | +$9,250 favorable |
| Trim-out Labor | $95,000 | $18,000 | 15% | −$4,750 unfavorable |
| Gear / Switchgear | $180,000 | $0 | 0% | — |
| Service / Metering | $40,000 | $0 | 0% | — |
| Job Total | $520,000 | $188,000 | 36% | +$18,500 favorable |
What this report is telling you: The job looks favorable at the total level — $18,500 under budget at 36% complete. But trim-out labor is already running unfavorable at only 15% complete. That's a $4,750 overrun on $14,250 of completed work — a 33% labor overrun rate. If that rate holds through the full trim-out phase, it becomes a $31,000 labor overrun on a phase estimated at $95,000. That's the conversation to have now, not at closeout.
The most common cause of job margin loss. Labor hour overruns compound quickly — if the crew is running 15% over estimated hours at 30% complete, the job is already in trouble and the remaining 70% needs to run at 100% of estimate just to hold the original margin. Review actual vs. estimated labor hours at the phase level monthly.
Material price escalation between bid date and delivery date isn't recoverable unless the contract has an escalation clause — and most subcontracts don't. If you bid materials at $85K and they come in at $97K, that $12K comes directly out of gross margin. Track material commitments as soon as purchase orders are placed.
Change order work is completed, the crew moves on, and the formal billing waits. Meanwhile the cost is in the account. The job cost report shows a loss that's really underbilling. Running a WIP check against the change order log catches this — but only if someone's looking.
If overhead has crept above what was priced into the bid, the job will deliver less net margin than estimated even if every direct cost comes in on budget. This is not a job-level problem — it's a company-level pricing problem that shows up on every job simultaneously.
Two metrics: cost-to-complete (remaining expected costs vs. remaining budget) and earned gross margin (actual costs vs. estimated costs at the same percent-complete milestone). Both need to be tracked by phase, not just at job total — a job that looks fine at the total level can have a labor phase running 20% over estimate that the blended total hides.
The difference between estimated and actual costs at any point in a job. Positive variance = running under budget. Negative = running over. Most useful when tracked by phase or cost code, not just job total. A phase-level variance report makes overruns actionable while there's still work left to do.
Four reasons: labor hours exceeded estimate, material costs rose after bid without contract adjustment, change order work completed but not formally billed, or overhead rate that didn't match the bid. All four are visible in a monthly job cost report. None are visible on a P&L until weeks after the damage is done. Schedule a call — SPM builds and reads these reports for every client every month.
SPM builds the job costing structure that shows you what's happening on every job every month.
Schedule a Free Call →