By the time a final invoice goes out, the job's margin is already locked in. Whatever was overspent on materials, whatever change order never got billed, whatever labor ran long — none of it can be recovered at that point. The only version of "is this job profitable" that's actually useful is the one you can still do something about, which means asking it while the job is still running, not after.
Most contractors don't skip this because they don't care. They skip it because checking mid-job margin usually means digging through receipts, timesheets, and a spreadsheet that's a week out of date — more work than it's worth, for a number that might already be stale by the time it's calculated. So the check gets pushed to closeout, where it's accurate but useless.
Why closeout is too late
A margin number at closeout tells you what happened. It doesn't give you a single lever to pull. The materials are already bought, the labor hours are already logged, the change order that never got billed is long since forgotten by the customer. Closeout math is a postmortem — useful for pricing the next job, useless for saving this one.
Mid-job, the same numbers are a different kind of information entirely. A material overage in week two is a phone call to a vendor or a tighter order on the next batch. A labor overrun caught early is a scheduling conversation. A change order caught before the job wraps is still billable. The data is identical to what shows up at closeout — the only thing that changes is whether you see it soon enough to act.
What to check, and against what
The mistake most owners make when they do check mid-job is comparing cost to the total budget in isolation — "we've spent $20,000 of a $46,000 material budget, that's fine." The number that actually matters is cost against how much of the job is done. $20,000 spent on a job that's 60% complete is on track. The same $20,000 on a job that's 30% complete is a job quietly heading for trouble.
1. Materials against percent complete
Track material spend against schedule progress, not against the total budget alone. Materials front-loading early in a job (foundation, framing, rough-in) is often normal — the warning sign is spend that keeps outpacing progress as the job goes on, not a fast start.
2. Labor hours against the plan
A crew running a day or two over on a multi-week job usually isn't a crisis by itself. A crew consistently running 15–20% over planned hours, job after job, is a margin problem that's easy to miss because no single week looks alarming on its own — it only shows up when hours are tracked against the plan, job by job, instead of against last week.
3. Change orders that got done but never logged
This is the quietest one. Extra work gets done on-site, gets a verbal "sure, no problem," and never gets written up as either a cost or a bill. It doesn't show up as a loss anywhere — it just never shows up as revenue that should have offset the extra cost. A mid-job check is the only point where it's still possible to invoice for it; once the final bill is sent, that work is now free.
A worked example
A $60,000 remodel is bid at 22% margin — roughly $46,800 in planned direct cost. Three weeks in, the job is about 40% complete by schedule. A mid-job check shows materials already at $19,000, against a plan that expected around $16,500 at this point in the job. Labor is tracking about a week ahead of hours for the work actually finished. And the crew added a tile upgrade the customer asked for — done, but never written up or billed, worth roughly $1,200 in cost.
Left alone, that trajectory puts the job's margin closer to 12% by the time it closes — a real gap from the 22% it was bid at, and one that would only become visible after the final invoice. Caught here, it's fixable: the tile change order gets written up and billed, the next two material orders get tightened against the remaining scope, and the crew's hours for the rest of the job get watched more closely. None of that is possible once the job is done.
How to build the habit
- Check weekly, not at milestones. A monthly check misses a full month of drift; a weekly one catches it while there's still budget left to correct.
- Compare cost to percent complete, not to the total budget in isolation — the ratio is what tells you if the job is on pace.
- Write up every change order the moment it's agreed to, even the small ones, so it's never relying on memory at closeout.
- Look at labor hours against the plan, not just against last week, so a slow creep doesn't hide inside otherwise-normal weeks.
This is what a running project profit and loss is for — instead of reconstructing a margin number from receipts after the job wraps, cost and revenue update as bills, timesheets, and invoices come in, and a plain-English Profit Health rating (Very High down to Unhealthy) shows where a job stands while there's still a schedule left to work with, not just a final number to explain.
The real question isn't "was it profitable"
It's "is it still on track" — asked often enough, and early enough, that the answer can still change something. A margin number at closeout confirms what already happened. A margin trend mid-job is the only version of this that gives you a job left to save.
Common questions
What’s the fastest way to check if a job is still profitable mid-project?
Compare actual cost so far against how much of the job is actually done — not against the total budget in isolation. If a job is 40% complete but has already burned 60% of its material budget, that gap is the warning sign, regardless of what the final number is supposed to be.
How early in a job should I start checking profitability?
As soon as the first real costs are in — usually after the first week of materials and labor. Checking on day one tells you nothing; checking after the first week of actual spend gives you a real trend line to compare against the schedule.
What’s a warning sign that a job is losing money before it’s finished?
Materials or labor cost hitting 50% of budget while the job itself is well under 50% complete by schedule. Unlogged change orders are the other common one — work that got done and cost money but was never written up, so it never shows up as a cost against the job at all.
Can you actually know a job’s profit before the final invoice goes out?
Yes, if cost is tracked against a live budget as it comes in rather than reconstructed afterward. A running project profit-and-loss — updated as labor, materials, and subcontractor bills post — shows margin trending up or down in real time, instead of producing one number at the very end that's too late to act on.