Construction Accounting: Job Costing, WIP & G702 Billing Explained
TL;DR — 30 seconds
Why generic accounting fails contractors — and how job costing, AIA G702/G703 progress billing, retainage, and WIP schedules actually work. See it on your plans →
Hand a construction contract to standard small-business accounting software and it will happily record revenue as one lump. Then the questions start: Which job? Which cost code? How much is billed versus earned? What’s sitting in retainage? Construction accounting exists because contracting isn’t retail — revenue arrives over months against evolving scopes, and every dollar must trace to a project.
Job Costing: The Foundation
Job costing assigns every expense to a specific project and cost code:
Project: I-95 Widening Phase 2
03-100 Excavation — labor $184,200 (budget $190,000)
03-110 Excavation — equipment $212,750 (budget $205,000) ⚠ over
03-200 Pipe & bedding $301,400 (budget $310,000)
That’s the entire game: actuals versus budget by code, continuously. When equipment on excavation runs hot in week three, you see it in week three — not at project post-mortem. Requirements for doing this well:
- Consistent cost-code structure shared between estimating, field time capture, purchasing, and accounting
- Daily field data feeding costs automatically — crew hours from time cards, not month-end reconstruction
- Committed cost tracking — purchase orders and subcontracts counted before invoices arrive
Progress Billing: The G702/G703 World
Private commercial work often bills via AIA documents; public agencies use near-equivalent schedules:
- G702 — Application and Certificate for Payment: the sworn summary — contract sum, change orders approved, work completed to date, retainage, payment requested
- G703 — Continuation Sheet: line-by-line detail — each pay item’s scheduled value, previous applications, this period, materials stored, work completed
The math that trips newcomers: “Work Completed This Period” = current earned value − previously billed, with retainage (commonly 5–10%) withheld per contract terms until milestones or completion release it.
Revenue Recognition: Percentage of Completion
Contractors typically recognize revenue as work progresses (percentage-of-completion under ASC 606 for most contracts), not when invoiced. That means accounting must know earned versus billed:
- Over-billings (billed ahead of work performed) = liability, though a pleasant cash position
- Under-billings (work performed, unbilled) = asset — and a cash-flow warning sign
The WIP Schedule: Bankers’ Favorite Document
Lenders and sureties live off the work-in-progress schedule: every active job’s contract value, estimated cost at completion, billed-to-date, and resulting gross profit. It exposes trouble early — jobs whose estimated costs creep toward contract value get questioned before losses metastasize. Keeping a defensible WIP requires exactly what job costing produces: current actuals plus honest estimate-at-completion updates.
Change Orders: Where Profit Silently Leaks
Unpriced or unapproved changes are executed work without revenue attached. Discipline required:
- Log every potential change when identified (field documentation supplies the evidence)
- Price promptly from real cost codes
- Track approval status religiously
- Bill only approved amounts — but never lose sight of pending exposure
What to Demand from Construction Accounting Software
- Native job costing tied to daily field entry
- Progress billing including G702/G703-style output
- Retainage tracking per contract with release triggers
- Change order lifecycle with cost/billing impact
- Committed cost + estimate-at-completion maintenance feeding automatic WIP reports
- Integration with your general ledger system (QuickBooks/Sage patterns here)
BidSync AI includes all of it inside the same platform that runs your estimates and field ops — see financials capabilities or book a demo to watch a day of field data flow into job costing live.