JOB COST DIAGNOSIS

JOB LOOKED FINE. NOW IT'S NOT. WHAT HAPPENED.

QUICK ANSWER

Early in a job, cost visibility is limited. The phases that have started look fine, and the phases that haven't started yet show zero actual cost, which makes every job look better than it will at 60% complete. Something happened between this looks good and we're underwater. Every job that turns has a specific cause, and the cause determines the fix.

There are four causes and one of them is yours. Labor ran over on a phase, material cost moved after the bid, change order work got built and never billed, or early overbilling is correcting now that production has caught up to it. Two of those are cost problems and two are timing problems, and they call for opposite responses. The bad news is that a job total tells you nothing about which one you have. The good news is that a phase-level cost report and a WIP schedule together tell you inside 20 minutes.

BY JOSH LUEBKERPublished 2026-08-06Updated 2026-08-07
THE DEFINITION

WHAT IT MEANS.

An apparent mid-job loss is either a true cost overrun on one specific phase or a billing timing problem, and only a phase-level job cost report read against the WIP schedule tells you which one you have.

The fix is only available while the job is still running. A cause identified at closeout is a lesson you paid full price for. The same cause identified at 40% complete is a decision about crew size, a purchase order, or an invoice that goes out this week.

FOUR CAUSES. ONE OF THESE IS YOURS

FIND THE SOURCE BEFORE CLOSEOUT.

01

Labor hours exceeded the estimate

This is the most common cause. The crew is running 15% to 25% over estimated hours on one specific phase. Early in the job the over-hour rate is small and the total variance looks manageable, but by 50% to 60% complete the overrun has compounded to where it's consuming margin that was bid on other phases. A phase-level labor report shows it while there's still time to adjust crew size or production approach.

02

Material cost escalation

The job was bid when material costs were lower. By the time the purchase orders went out, prices had moved: fuel surcharges on delivery, commodity increases on steel or copper, and supply chain delays that forced sourcing from secondary vendors at higher prices. Every dollar of material cost above bid comes straight out of gross margin with nothing to offset it.

03

Change order work completed and not billed

This is the one that masquerades as a loss when it's not one. T&M and change order work gets completed in the field and verbally approved, the cost hits the job, and the formal billing waits. The job cost report then shows a large apparent overrun that's really $40K to $80K of unbilled change order work sitting as cost with no revenue against it. Pull the change order log and compare it to what has been formally invoiced.

04

Early overbilling correcting

Early in the job, billing ran ahead of percent complete, which is standard practice to front-load cash flow. Now the project is catching up to that billing and the apparent margin is correcting downward. The cost side never moved, the overbilling is unwinding as earned revenue catches up, and the job may still be on margin. The WIP schedule tells the difference.

THE MATH

WHAT IT LOOKS LIKE IN DOLLARS.

The most common finding

A job that looks unprofitable often has $30,000 to $80,000 of change order work completed and verbally approved but never formally billed. The cost is real and the revenue simply hasn't been asked for yet. Pulling the change order log against formal billing almost always surfaces it.

What a phase-level variance tells you

A labor phase running 25% over at 40% complete is a decision you can still make this week. A job total sitting 8% over is a number you can only worry about. That difference is the whole argument for coding cost by phase instead of keeping one number for the job.

HOW TO DIAGNOSE

TWO REPORTS. BOTH NEEDED.

Job cost report by phase

Pull actual against estimated cost for every phase or cost code on the job, not a job total. Sort by variance percentage with the largest negative variance at the top, because the phase with the biggest overrun relative to its own estimate is where the margin went. A labor phase running 25% over at 40% complete tells you what to address, while a job total sitting 8% over tells you nothing you can act on.

WIP schedule for this job

Calculate percent complete as cost to date divided by estimated total cost, then earned revenue as contract value times percent complete, then billed to date. If billed to date is well above earned revenue, the job is overbilled and the early billing is correcting itself. If billed to date is well below earned revenue, there's underbilling that needs to go out immediately. The WIP tells you whether the apparent loss is a cost problem or a billing problem, and those take different fixes.

Both reports, monthly, on every active job

The diagnosis takes two reports that most contractors in the $1M to $12M range either don't have or don't run monthly. Once both exist, the cause is almost always obvious inside 20 minutes of review. SPM runs the job cost and WIP review every month for every client, so the answer comes before closeout instead of after it.

$10.7M+
Client AR Recovered Since 2023
48
Active Trade Specializations
60 DAYS
Average Onboarding Time
PRICING

FLAT MONTHLY FEE. NO SURPRISES.

Three tiers, priced by your trailing twelve month revenue. Which one you're in depends on how much of the work you want off your desk. No hourly billing. No payroll. The one-time onboarding fee is right here in the table.

Last 12 months revenueMonthly feeOne-time onboarding
Up to $1M$1,900 to $2,900$1,000
$1M to $3.5M$2,600 to $3,900$1,500
$3.5M to $6.5M$3,800 to $5,700$3,000
$6.5M to $9.5M$5,100 to $7,100$4,500
$9.5M to $12.5M$6,100 to $8,500$6,000
$12.5M to $15.5M$7,400 to $11,000$7,500
$15.5M to $18.5M$9,400 to $13,500$9,000
$18.5M+Quoted individuallyQuoted individually

The onboarding fee covers migrating your books back to the start of your last taxable year and getting you fully operational in 60 days. It's billed once, with your first invoice. It's the same for all three tiers. Your first month is prorated, and your monthly engagement starts on the first of the first full month.

Range reflects the three tiers below. Which one you're in depends on how much of the work you want off your desk. No payroll. No hidden line items. The onboarding fee is right here in the table.

Core

You stop guessing.

You get the CFO work. Job costing built against the way you estimate, a 13 week cash forecast, monthly WIP, and a meeting every month that ends in decisions and never in a report.

Your bookkeeper still does the books.

Executive

You stop touching the books.

Everything in Core, and we run the bookkeeping and the controllership as well. Your office stops answering coding questions and stops chasing a reconciliation on the last day of the month.

We do the books. No payroll.

Strategic

Every job shows its margin while it's still running.

Everything in Executive, plus the job costing and WIP platform set up, loaded with your cost codes, and managed for you every month. You never have to learn it.

We do the books, the job costing, and the software. No payroll.

COMMON QUESTIONS

FREQUENTLY ASKED.

There are four causes. Labor hours exceeded the estimate, material cost escalated after the bid, completed change order work hasn't been billed so the cost is in and the revenue isn't, or early overbilling is correcting. The diagnosis takes a phase-level job cost report run against the WIP schedule, which is what separates a true cost problem from a billing timing issue.
Early cost visibility is limited, because only the phases that have started show actual cost, and that can make margin look better or worse than the job is running. As more phases incur cost, the true picture comes out. The question to answer is whether the apparent loss is a true overrun on a specific phase or an underbilling that needs a change order invoice submitted.
Identify the specific phase driving the overrun first, because labor 30% over estimate needs a different fix than materials 15% over. Once the source is clear the response follows: a labor overrun means reviewing crew size, production rates, and scope creep, a materials overrun means reviewing purchase orders against bid prices, and change order underbilling means submitting the T&M invoices. SPM runs this analysis on active jobs for all clients.
Three tiers, and which one you are in depends on how much of the work you want off your desk. Core is where you stop guessing: job costing built against the way you estimate, a 13 week cash forecast, monthly WIP, and a monthly meeting that ends in decisions, while your bookkeeper keeps doing the books. Executive is where you stop touching the books, because we run the bookkeeping and the controllership as well. Strategic is where every job shows its margin while it is still running, because the job costing and WIP platform is set up and managed for you. No payroll. No scope gaps.
Sixty days. We migrate your books back to the start of your last taxable year, set up ControlQore, and build your job costing structure from scratch. Fully operational in two months.
WHAT THIS TIES INTO
Josh Luebker, SPM The Construction CFO
Josh Luebker
FRACTIONAL CFO · SPM THE CONSTRUCTION CFO

Josh Luebker is a master electrician turned construction CFO, founder of SPM The Construction CFO and author of CONTROL: The Construction Financial Operating System.

DO YOU KNOW WHEN THAT JOB TURNED ON YOU?

It's twenty minutes of questions about the job that turned, what the cost report said at the time, and what changed since. Josh isn't selling anything and he isn't proposing anything. If he can help, you'll set a longer second call.

You don't hire a CFO because it's safe, you do it because the real risk isn't having one.
Book a 20 minute call

20 minutes. Nothing gets sold on this call and nothing gets proposed. Josh asks questions to work out whether he can help at all.

OR GET THE WIP SCHEDULE TEMPLATE. NO CALL NEEDED.