The problem WIP solves
Invoice-based books recognize revenue when you bill; costs land when they're incurred. On month-spanning jobs those two streams disconnect: bill ahead of work and the P&L overstates the month (you owe work you've been paid for); work ahead of billing and it understates (you've earned money you haven't invoiced). Multiply by several open jobs and the monthly P&L becomes a random-number generator, useless for the decisions (hiring, pricing, borrowing) it exists to inform.
The concepts, without the jargon
- Percent complete: cost-to-date ÷ total estimated cost, the standard proxy for how much of the job is done (30% of budget spent ≈ 30% done, if the estimate holds)
- Earned revenue: contract price × percent complete, what you've actually earned so far
- Overbilled: invoiced more than earned, the excess is a liability ('billings in excess'); it feels like being cash-rich and is actually owing work
- Underbilled: earned more than invoiced, an asset ('costs in excess'), and a warning: chronic underbilling is where cash flow dies and unapproved change orders hide
A worked example
A $100K electrical project, $70K cost budget. At month-end: $35K costs in (50% complete), $60K billed per the draw schedule. Earned revenue = $50K; billed = $60K → overbilled by $10K. Invoice-basis books show $60K revenue against $35K cost, a flattering $25K 'profit.' WIP-adjusted: $50K earned against $35K cost: $15K of true margin, with $10K parked as liability until the work catches up. One monthly journal entry (revenue down $10K, billings-in-excess up $10K, reversed and recomputed next month) turns the P&L honest.
The lightweight version small contractors need
You don't need construction-ERP software; you need a WIP schedule, a one-tab spreadsheet listing each open job: contract price (with approved change orders), estimated cost, cost-to-date (straight from QuickBooks job costing: Job Costing in QuickBooks Online: The Contractor Setup That Actually Works ), billed-to-date, and the computed percent-complete / earned / over-under columns. Update monthly at close, book the single adjusting entry, and read the schedule itself, it's the best early-warning report in construction: jobs trending over budget show up here months before they finish, and chronic underbilling shows up before it strangles cash. ( Progress Invoicing in QuickBooks Online: A Contractor's Guide keeps the billing side aligned.)
Who genuinely needs this
- Needs it: jobs spanning 2+ months, draw-schedule billing, bonding or bank relationships (they'll ask for the WIP schedule by name), restoration contractors with insurance timing chaos ( Restoration )
- Can skip it: same-week service work, job costing yes, WIP adjustments no
- The tax note: your filed return may use a different method (cash, completed-contract where eligible) than your management books, that divergence is normal and a preparer conversation, not a problem
Frequently asked questions
My bank asked for a WIP schedule. What are they looking for?
Whether your open jobs are profitable, whether billings are ahead or behind, and whether the backlog supports the loan. A clean monthly schedule answers in one page, and its absence answers differently.
Can you just run this for us?
Yes, job costing, the monthly WIP schedule, and the adjusting entries are standing scope for our project-based contractor clients. Electrical
Primary sources