Most contractors know how much money came in last year. Very few know which jobs actually made money. FMI's 2024 survey found contractors who track job costs earn 2.3x higher net margins — not because they work harder, but because they know where they're losing money and fix it.
Key Takeaways
Track hours per crew member per phase, with burden rate applied (28–35% above base wage).
Fully Loaded Labor = Hourly Wage × (1 + Burden Rate) × Hours Worked
Example:
Carpenter at $32/hr × 1.32 burden × 48 hours = $2,027 actual
vs. $1,536 estimated (40 hrs) → $491 over, 32% labor overrun
Code every receipt to the job and phase at point of purchase — not at month-end. Track waste percentage vs. estimated waste.
Track original subcontract amount, approved change orders, and invoices paid. Every verbal addition is a change order — document it. See our construction change order template.
Owned equipment is not free. Calculate an internal rate: depreciation + fuel + maintenance + insurance ÷ annual billable days.
$35,000 truck ÷ 5 years + $4,800 insurance + $3,600 fuel + $1,200 maintenance
= $16,600/year ÷ 240 days = $69/day internal charge rate
Permits, dumpsters, temp utilities, supervision time, inspections. Frequently missing from job cost tracking — and from estimates.
Variance ($) = Actual Cost − Estimated Cost
Variance (%) = (Actual − Estimated) ÷ Estimated × 100
Actual Gross Profit = Contract Price − Total Actual Cost
Profit Variance = Actual GP − Estimated GP
Example: $48,000 bathroom remodel estimated at $33,600 (30% GM) that runs $36,900 actual = $11,100 actual GP (23.1%) — $3,300 less than expected. Job costing tells you exactly which category caused it.
JOB COST SHEET
Project: ________________________________
Contract Value: $_________________________
Start: _______________ End: ____________
════════════════════════════════════════════
CATEGORY ESTIMATED ACTUAL VARIANCE $ VAR %
═════════════════════════════════════════════
DIRECT LABOR
Demo / Site Prep $______ $______ $______ ____%
Framing $______ $______ $______ ____%
Rough MEP $______ $______ $______ ____%
Drywall $______ $______ $______ ____%
Finish Carpentry $______ $______ $______ ____%
Paint $______ $______ $______ ____%
Flooring $______ $______ $______ ____%
Punch / Cleanup $______ $______ $______ ____%
LABOR TOTAL $______ $______ $______ ____%
MATERIALS
Lumber / Framing $______ $______ $______ ____%
Drywall $______ $______ $______ ____%
Tile / Flooring $______ $______ $______ ____%
Cabinets $______ $______ $______ ____%
Fixtures $______ $______ $______ ____%
Misc $______ $______ $______ ____%
MATERIALS TOTAL $______ $______ $______ ____%
SUBCONTRACTORS
Electrical $______ $______ $______ ____%
Plumbing $______ $______ $______ ____%
HVAC $______ $______ $______ ____%
SUBS TOTAL $______ $______ $______ ____%
EQUIPMENT
Rental $______ $______ $______ ____%
Owned (internal) $______ $______ $______ ____%
EQUIPMENT TOTAL $______ $______ $______ ____%
JOB OVERHEAD
Permits / Insp $______ $______ $______ ____%
Dumpster $______ $______ $______ ____%
Supervision $______ $______ $______ ____%
JOB OH TOTAL $______ $______ $______ ____%
══════════════════════════════════════════════════════════════
TOTAL COSTS $______ $______ $______ ____%
CONTRACT VALUE: $______________________
ESTIMATED GROSS PROFIT: $______ ( ___% )
ACTUAL GROSS PROFIT: $______ ( ___% )
PROFIT VARIANCE: $______ ( ___% )
══════════════════════════════════════════════════════════════
LESSONS FOR NEXT ESTIMATE:
Daily: Crew logs hours by phase; receipts coded and submitted same day; sub invoices logged.
Weekly: Compare hours-to-date vs. estimated hours-to-date by phase. Flag any category running 10%+ over — investigate before it compounds.
At closeout: Finalize all costs → calculate variance by category → write 3 lessons → update estimating unit costs.
30–45 minutes/week per active project. That's the whole system.
Relevant Article:Avoid Costly Jobsite Mistakes with a Construction Documentation App
Sources: FMI/Autodesk Construction Disconnected 2024 · CFMA Benchmarker 2024 · NAHB Cost of Construction Survey 2025