How to cost a construction job
A job that looks profitable at bid and loses money at closeout usually has one problem: nobody tracked cost by code as the work happened.
Why job costing is hard
A construction job has labor, materials, equipment, and subcontractor costs flowing in from different sources at different times, often against an estimate built months before the work started. Without cost codes tying every dollar to a specific scope of work, the only signal of trouble is the final invoice - long after the decision that caused it.
Where teams get it wrong
- Tracking cost at the job level only, with no breakdown by cost code or phase.
- Recording labor and material costs weeks after they happen, so estimate-vs-actual is always stale.
- Treating the original estimate as fixed instead of updating projected-cost-at-completion as work progresses.
- Losing track of retainage withheld on both sides - from the owner, and to subcontractors.
- No connection between job costing and the general ledger, so job profitability and company financials tell different stories.
The Job Costing Framework
- 1Break the estimate into cost codes - labor, materials, equipment, and subcontracts, by phase of work.
- 2Record actual cost against the matching code as it is incurred, not batched at month-end.
- 3Track percent complete per phase using labor hours, units installed, or a supervisor estimate.
- 4Recalculate projected cost at completion from actual cost and percent complete.
- 5Compare projected cost to the original estimate, by code, and flag overruns while there is still time to act.
- 6Track retainage withheld from you and retainage you withhold from subcontractors separately.
How Fintra costs the job with you
| Step | What Fintra does |
|---|---|
| Cost codes | Construction job costing structures the estimate by cost code and phase. |
| Record actuals | Labor, materials, and subcontractor bills post against cost codes as they happen. |
| Percent complete | Progress tracking feeds percent-complete per phase into the job costing view. |
| Recalculate projections | Projected cost at completion updates automatically from actual cost and progress. |
| Flag overruns | Estimate-vs-actual variance surfaces by cost code, not just at the job total. |
| Track retainage | Retainage held and withheld are tracked against AIA-style progress billing. |
Retainage withheld
Retainage Withheld = Progress Billing Amount x Retainage %
A 10% retainage on a $50,000 progress bill withholds $5,000 until substantial completion or the contract-defined release point, and needs to be tracked separately from cash actually received.
Your job costing checklist
Set these up before your next project kickoff
- Break every estimate into cost codes by phase before work starts.
- Post labor, material, and subcontract costs against codes weekly, not monthly.
- Define how percent complete is measured for each phase type.
- Recalculate projected cost at completion at least biweekly.
- Set a variance threshold that triggers a project manager review.
- Track retainage held from you and withheld from subs as separate ledgers.
- Reconcile job cost totals to the general ledger every period.
Frequently asked questions
What are cost codes in construction accounting?
Cost codes break a project estimate into discrete categories of work - framing, electrical, concrete - each with its own labor, material, and subcontract budget. Recording actual costs against the same codes lets you compare estimate to actual by scope of work, rather than only at the job total, which is where cost overruns actually hide.
How do you calculate estimated cost at completion?
A common method divides actual cost incurred by the percent complete for that phase: actual cost / percent complete = projected cost at completion. If a $40,000 framing phase has spent $28,000 at 60% complete, projected cost is roughly $46,700, flagging a likely overrun before the phase finishes rather than after.
What is retainage and how should it be tracked?
Retainage is a percentage of each progress bill - commonly 5-10% - withheld until a project milestone, usually substantial completion. It needs to be tracked on both sides of the business: retainage the owner withholds from you, and retainage you withhold from subcontractors, since both affect real cash timing even though they are not lost revenue.
Why does job costing matter if the company is profitable overall?
Because company-level profit can hide individual jobs that lose money, especially in a business running several projects at once. A profitable quarter can mask one job running 20% over budget, offset by another running under - job-level costing is what tells you which crews, phases, or estimating assumptions actually need to change.
Stay in the loop
One practical finance briefing a week - new guides, checklists, and benchmarks.
See job cost overruns before closeout
Fintra tracks estimate vs actual by cost code, live, on every job. Free to start, no card required.
Talk to us