How restoration contractors catch labor-margin leakage before it becomes a write-down
Labor-margin leakage happens when the labor an estimate assumed doesn't match what the job actually took, and nobody explains, bills, or corrects the gap. It's not a crew problem by default. It's a documentation and workflow problem that shows up first in job costing.

By Mark Kurywczak, Founder & CEO, NanoForce Technologies ·
- Labor running over plan isn't automatically leakage. It's a signal that needs a documented cause before it's treated as a problem.
- The clearest sign of real leakage is extra labor that never made it into the estimate, a supplement, or the invoice.
- Compare planned labor to actual labor by task, not by whole job, to see where the estimate actually broke.
- A monthly exception review, not a full audit, catches recurring variance before it becomes a pattern of write-downs.
The instinct is to treat every labor variance as a crew problem. Resist that. The better move is to compare planned labor, actual crew hours, job records, approved scope, and billed work early enough to tell whether the gap came from productivity, a scope change, thin documentation, a weak handoff, or work that simply never got billed. This applies anywhere labor drives cost: water mitigation, reconstruction, emergency services, contents work. And it touches more roles than owners usually assume. Estimators, PMs, production leads, billing, and finance all run into this number eventually.
A labor variance is a signal, not a verdict.
Jobs legitimately run over because of access limitations, concealed conditions, customer scheduling constraints, safety requirements, third-party rework, after-hours work, approved scope changes, or conditions nobody could see until demo started. None of that is leakage on its own.
The risk shows up when extra labor becomes recurring, unexplained, and disconnected from a specific job condition. When it never makes it into the Xactimate estimate, a supplement, a change order, or an invoice. When nobody notices until the job is already invoiced and the number is fixed. It shows up hardest when the same pattern repeats across a branch, an estimator, a PM, a crew, or a trade. It needs a cause before anyone draws a conclusion from it.
Start with one job, not a branch report
Don't open with a dashboard covering every branch. Pull one completed file and trace it end to end.
Estimate & scope
The Xactimate estimate or approved scope, including labor categories and any revisions.
Work order & production plan
What the crew was actually assigned, not what got done after the fact.
Timekeeping
Payroll or time records, ideally broken down by employee, crew, date, and cost code.
Invoice & job costing
What got billed, collected, reduced, or written off.
You're not trying to catch someone in a mistake. You're answering one question: can the job record explain the gap between planned labor and actual labor? If it can, you're probably fine. If it can't, you've found something worth a closer look. Time capture only tells the truth when it happens close to the work, at the job and task level, not reconstructed from memory two weeks later.
Run the numbers before you react
At the job or task level, subtract planned hours from actual hours to get the labor-hours variance. If burdened labor costs are reliable, do the same in dollars. A positive number doesn't automatically mean lost margin. It means the job owes an explanation.
Say planned drywall labor was 24 hours and the crew logged 36. That's a 12-hour gap. The wrong question is who blew the budget. The right question is what created those 12 hours, and whether that condition ever got estimated, documented, approved, supplemented, billed, or knowingly accepted as internal cost. That reframe turns job costing from a rearview accounting exercise into something a business can actually act on.
Name the variance before you respond to it
Every material labor variance needs a defined category, or leadership just sees a number with no story behind it.
A scope omission means necessary work was left out of the original estimate, and the sketch, photos, and any supplements usually confirm it. A concealed condition means demo or production uncovered something nobody could have seen at bid time. Field productivity means the work simply took longer with no billable scope change behind it. Scheduling and access issues mean delays or return trips ate the hours, and daily job notes usually show it. Rework means something got redone because of quality, coordination, or a third party.
Then there's the category that costs the most and gets talked about the least: missing change-order discipline, where extra work happened but never got routed for pricing. Incorrect labor coding, where hours landed on the wrong job or cost code. Unbilled work, where the crew did something real and supportable that never reached the estimate, the supplement, or the invoice. And documentation gaps, where the work may well have happened, but the file doesn't back it up.
Not every variance belongs in a billable bucket. Some of it is a legitimate cost of doing business, and that's fine. Naming the category is what separates normal cost from a repeating workflow failure quietly becoming a write-down habit.
Look at labor by task, not just by job.
A total-job comparison hides the real story. If a reconstruction file runs 20 percent over on labor, that overage could be sitting in demolition, framing, drywall, paint, flooring, contents handling, supervision, or a string of return trips. One project-level number won't say where the plan actually broke.
Where possible, compare estimated labor hours by trade against actual crew hours by job and cost code, and line both up against completed units of work, daily job notes, and any supplements or change orders. Task-level records make it possible to compare similar work across files and figure out whether the real issue lives in estimating, production, time capture, or billing.
Sort what's recoverable from what's just internal cost
Three questions do most of the work.
- Was the extra labor necessary to complete the documented scope, or to address a documented changed condition?
- Is it backed up by photos, daily notes, moisture readings, demolition findings, work authorizations, or carrier correspondence?
- Did it ever make it into the estimate, a supplement, a change order, or the invoice?
If the first two are yes and the third is no, that file is worth a look from estimating or billing. If the work was necessary but the documentation is thin, that's a field-process problem, not a billing one. If it was documented but never priced, that's an estimating problem. If it was priced but never invoiced, that's a reconciliation problem. And if it was invoiced but got reduced, that's a claims-review problem. "Labor went over budget" isn't a root cause. It's a symptom with at least five possible causes hiding behind it.
Watch the mitigation-to-reconstruction handoff
This is where a lot of leakage quietly starts.
Mitigation documents demolition, affected materials, access limits, moisture readings, and concealed conditions as the crew finds them. If that record doesn't reach reconstruction in a usable form, the reconstruction estimator or PM is starting from a half-finished picture. It shows up as a reconstruction estimate that leaves out labor everyone already knew about, work performed that never made it into the approved scope, changed conditions discovered mid-production instead of at handoff, rework caused by missing site information, and disputes that are hard to support because the mitigation records that would have backed them up never made the trip over.
The trigger to watch for: reconstruction runs into conditions or performs labor-heavy work that was already sitting in mitigation photos, drying logs, or demolition notes, and none of it made it into the reconstruction estimate. The fix is a required handoff package before reconstruction starts: cause-of-loss documentation, the Xactimate estimate with version history, photos organized by room and stage, moisture readings and equipment logs, demolition notes, open supplements and disputed items, any access or scheduling constraints, and one named person accountable for unresolved scope or billing questions.
Look for the pattern, not the one-off.
A single labor variance can just be a job-specific event. A repeating one is worth the time. Check variance by branch, estimator, PM, crew or sub, trade, job type, carrier or TPA program, and by which handoff it crossed: field to estimating, mitigation to reconstruction, estimating to billing, or billing to AR.
If one branch keeps blowing through planned finish labor after the estimate gets approved, don't jump to "the crew is slow." Check whether finish labor is chronically under-scoped, whether field conditions are reaching the estimator too late, whether PMs are greenlighting extra work with no documented change control, whether hours are getting coded broadly instead of by task, or whether reconstruction is kicking off before scope, materials, and access are actually settled. Patterns point to whether the real issue lives in estimating, production, documentation, timekeeping, or billing, and that's a very different conversation than blaming a crew.
A monthly exception review, not a full audit
Pull files that hit a trigger. Land every one on a clear outcome.
The variance is expected and accepted as internal cost.
Fix scheduling, timekeeping, training, or accountability.
Check whether a revised estimate, supplement, or invoice correction is owed.
There's a real break in the handoff or the claims-to-cash process itself.
That structure keeps the review pointed at fixing something before it shows up on the next batch of files, not at running a blame session.
None of this requires a bigger team or a new system. It requires tracing one file end to end, naming what's found honestly, and checking whether it repeats. Chase the labor-margin review when the same type of variance keeps showing up and nobody can trace it cleanly to scope, production, documentation, timekeeping, estimating, or billing. Not every overage is a recovery opportunity, and treating it that way wastes time. But where the completed work is sitting right there in the job record and never made it to the estimate or the invoice, that's real money, and it's worth going and getting it.
Questions owners actually ask
Is every labor overage worth investigating?
No. Jobs legitimately run over for documented reasons, access limits, concealed conditions, approved scope changes. The pattern worth chasing is labor that's recurring, unexplained, and never made it into the estimate or invoice.
Where does labor-margin leakage usually start?
Most often at a handoff: field conditions that never reach the estimator, or mitigation records that don't make it to reconstruction in usable form.
How often should this get reviewed?
Monthly, using exception triggers rather than a full audit. Pull files where labor ran materially above plan or where documentation and billing don't reconcile, and land each one on a clear outcome.
NanoForce's Reconciliation system runs this same comparison daily, checking job costs, vendor invoices, and labor against the books so a recurring variance surfaces as an exception, not a surprise at month-end. See how Reconciliation works →
Send us one file, one question, or one number that looks off.
Mark reads these personally. No sequence, no sales follow-up you didn't ask for.
Bring one job file with a labor variance.
We'll trace it against the estimate, timekeeping, and invoice, and show you which category it actually falls into. And what that pattern is worth across every location you run.