JOB COST SYSTEMS

REWORK IS UNTRACKED MARGIN LOSS.

QUICK ANSWER

Rework costs real money in labor hours, material replacement, and equipment time, and it almost never gets coded correctly in job costing. It gets charged to the original work phase, absorbed into labor overruns, or written off as a bad project without anyone knowing what it cost. The result is that you can't price future work correctly, you can't recover from the GC, and you can't tell which crews or phases are burning margin on rework over and over.

Every job has rework. The question is whether you know what it cost, why it happened, and who caused it. Without that visibility, rework is an invisible tax on every project, eating margin that never appears anywhere specific enough to act on. The cost isn't the only thing lost either. The cause is the part that tells you whether this is a training issue, a change order you should be billing, or a claim against another trade, and all three answers look identical on a phase level cost report.

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

WHAT IT MEANS.

Rework is work performed a second time to correct or replace something already installed, and it carries real labor, material, and equipment cost that job costing almost never captures separately.

Your historical job cost data is the foundation of accurate estimating. If rework is buried in phase codes rather than tracked separately, your historical labor costs for those phases are inflated by rework hours. The next time you estimate similar work you use those inflated actuals as your baseline, so you either bid too high to win the work or carry a hidden cost burden that eats margin on every similar job after that.

The fix takes two things working together: a rework cost code that captures all rework labor and material separately, and a closeout process that reviews rework cost by cause, meaning your error, GC directed, design error, or another trade's interference.

The cause counts as much as the cost. Rework caused by your own crew needs to drive a training or quality control conversation. Rework caused by a design error or GC direction needs to drive a change order. Rework caused by another trade's interference needs to be documented for potential recovery. Three completely different responses, and all three are invisible if the cost isn't tracked separately.

HOW REWORK HIDES

WHERE THE COST GOES WHEN IT DISAPPEARS.

01

Buried in labor hours on the original phase code

A crew tears out and reinstalls a section of underground conduit because it was installed at the wrong depth. The labor for the reinstall gets coded to the same phase code as the original installation, which is Underground Rough-In. The job cost report shows that phase running 22% over budget. Nobody knows whether the overrun is a crew efficiency problem, a scope change, or entirely rework, because all three look identical on a phase level cost report without a rework code.

02

Written off as a tough project

The project closes out at 8% gross margin instead of the 22% estimated. The PM review says site conditions, coordination issues, and weather, and all of that may be true. If $40,000 of the margin loss was rework, meaning tear-outs, reinstalls, and material replacements, it never gets pointed at specifically. The lesson learned stays vague, the next bid for similar work adds no contingency for the real problem, and the same loss happens again.

03

Treated as a change order that never gets approved

Rework caused by the GC's design error or another trade's interference should be a change order. Instead the PM documents it informally, the work gets done to keep the schedule moving, and the change order paperwork never turns into a signed approval. The rework cost sits in your job as unrecovered direct cost. You did the work twice and you got paid once.

04

Absorbed into overhead when it should be a job cost

Small rework items get expensed to general overhead because nobody wants to code them to a job that's already over budget. A crew coming back on a Saturday to fix a failed inspection is one. A foreman making a second trip for materials that weren't correct the first time is another. The job looks better, overhead absorbs the hit, and your overhead rate creeps up over time for no identifiable reason.

HOW TO TRACK IT

BUILDING REWORK INTO YOUR JOB COST STRUCTURE.

A dedicated rework cost code on every job

Every job's cost structure gets a rework code that sits separate from all production phase codes. Foremen code rework hours and material to that code on the same timecard where the work is performed, not later from memory. If the timecard only offers production codes, everything goes to production codes, so the structure has to exist before the behavior can.

Every rework entry categorized by cause at entry

Each entry gets a cause at the time it's logged: own crew quality issue, GC directed change, design error, another trade's interference, or weather and site condition. The cause is what determines the response, and it can't be reconstructed three months later. Coding it at entry takes seconds and it's the difference between data and a guess.

Rework reviewed in the monthly cost-to-complete meeting

Rework cost comes up in the monthly cost-to-complete review alongside everything else, and any job where rework exceeds 2% of total contract value gets flagged. That threshold keeps the review focused on the jobs where rework is doing real damage. It also gives the PM a number to answer for rather than a general complaint about quality.

A PCO opened immediately on GC directed or design error rework

When the rework was caused by GC direction or a design error, a PCO gets opened before the rework starts and the direction gets documented in writing. Written notice is the requirement. Verbal notice doesn't protect you, and the strongest position in a change order negotiation is a rework code with a matching PCO reference and a written directive on file.

Rework separated from production cost at closeout

At job closeout, rework cost gets split out of production cost in the historical data so future estimates run off clean baselines. This is the step that stops one bad job from corrupting the next five bids. It costs nothing to do if the coding was right during the job.

Rework tracked as a percentage of revenue by crew and by phase

Over time, rework gets tracked as a percentage of revenue for each crew and each phase. Trends surface quickly and point at where training or a process change is needed. Two crews doing identical work with different rework rates is the most useful data you'll get out of the system.

$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, and no add-ons.

Pricing

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

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.

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 rather than a report.

Your bookkeeper keeps doing the books.

Executive

You stop touching the books.

Everything in Core, and we run the bookkeeping and the controllership as well. Nobody in your office is answering coding questions or chasing a reconciliation at month end.

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 job costing.

COMMON QUESTIONS

FREQUENTLY ASKED.

The system has to make it easy. If the timecard only has production phase codes, everything goes there. Add a rework code to the timecard with a simple description field for what was reworked and why. Walk the foremen through one example where rework tracking helped recover a change order, because that makes the value concrete. The resistant ones usually come around when they see rework cost data used to support a change order that gets paid.
Industry benchmarks put rework at 2 to 5% of total project cost for commercial subcontractors, though that varies a lot by trade, project type, and how it's measured. The benchmark counts for less than your own trend. If rework is running at 4% of revenue on one crew and 1% on another doing identical work, that's the data point that drives a conversation. Track it so you have a baseline to improve against.
Yes, if you have documentation and a timely PCO. Rework caused by GC issued direction, design errors, or another trade's interference is generally recoverable as a change order when you document it before or immediately after the rework happens. The critical requirement is written notice, because verbal notice doesn't protect you. A rework code in job costing with a matching PCO reference and a written directive on file is the strongest position you can be in for a change order negotiation.
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, The Construction CFO
Josh Luebker
FRACTIONAL CFO · THE CONSTRUCTION CFO

Former commercial project manager and master electrician: 150+ projects worth $2.1B combined, from $50,000 to $300M. Now fractional CFO to commercial subcontractors.

DO YOU KNOW WHAT REWORK IS COSTING YOU THIS YEAR?

Most subcontractors can't answer that. A 20 minute diagnostic will show you where rework is hiding in your job costs and what it would take to make it visible.

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 diagnostic

20 minutes. No sales pressure. We will tell you exactly what's broken before we talk about anything else.

OR START WITH THE WORKBOOKS. NO CALL NEEDED.