REWORK IS UNTRACKED MARGIN LOSS.
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.
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.
WHERE THE COST GOES WHEN IT DISAPPEARS.
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.
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.
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.
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.
BUILDING REWORK INTO YOUR JOB COST STRUCTURE.
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.
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 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.
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.
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.
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.
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 revenue | Monthly 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.
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.
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.
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.
