Ask a contractor how their year is going and they'll usually point to the bank balance. That instinct is dangerous. A construction company can have cash in the bank, a full pipeline of signed work, and still be quietly insolvent — because the cash sitting in the account was billed for work that hasn't been done yet. Strip that out and the picture changes completely.
The tool that strips it out is the work-in-progress schedule. The WIP schedule is the single most important financial report in construction accounting, and it's also the one most contractors either skip, fudge, or hand to their accountant once a year without understanding. This guide explains what a WIP schedule actually does, how percentage-of-completion accounting drives it, why over- and under-billing matter, and how to read the numbers the way a banker or surety underwriter reads them.
Why Cash-Basis Accounting Fails Construction
Most small businesses can survive on cash-basis or simple accrual accounting. A bakery sells a loaf, collects the money, recognizes the revenue. Done.
Construction breaks that model because a single project can run twelve, twenty-four, or thirty-six months. During that stretch, three things move at completely different speeds:
- Costs incurred — labor, materials, subcontractors, and equipment, paid as the work happens.
- Amounts billed — progress invoices sent to the owner, often on a schedule negotiated at signing rather than tied to actual production.
- Revenue earned — the portion of the contract you have genuinely completed and are entitled to keep.
If you only track cash, you can't tell whether a job is making money until it closes — and by then it's far too late to fix anything. You also can't tell whether the company as a whole is profitable, because at any moment you have a dozen jobs at different stages, each one ahead of or behind its billings.
Percentage-of-completion accounting solves this by recognizing revenue as the work is performed rather than when cash arrives or when the project finishes.
How Percentage-of-Completion Works
Under ASC 606 — the revenue recognition standard that governs U.S. contractors — most construction contracts qualify for over-time revenue recognition, because the customer controls the asset as it's being built. Once a contract qualifies, you need a way to measure progress. The overwhelmingly common method is cost-to-cost, an "input method" that assumes you've earned revenue in proportion to the costs you've spent.
The core formula has two steps.
Step 1 — Percent complete:
Percent complete = Cost incurred to date ÷ Total estimated cost at completionStep 2 — Earned revenue:
Earned revenue = Percent complete × Total contract valueA worked example. You sign a contract for $1,000,000. Your estimate says the job will cost $800,000 to build. Six months in, you've spent $400,000.
- Percent complete = $400,000 ÷ $800,000 = 50%
- Earned revenue = 50% × $1,000,000 = $500,000
So even if you've only invoiced the owner for $350,000 so far, accounting says you've earned $500,000. That gap is the entire point of the WIP schedule — and we'll come back to it.
The estimate is the engine
Notice that the denominator in Step 1 is the total estimated cost at completion — not a fixed number, but your best current forecast. This is the part contractors get wrong. The percent-complete figure is only as good as your cost-to-complete estimate. If you spent $400,000 but the job will actually cost $1,000,000 (not $800,000), you're 40% complete, not 50% — and you've been overstating profit on every report.
ASC 606 also asks for judgment on a few cost categories that distort cost-to-cost: large quantities of uninstalled materials sitting on site, and mobilization costs paid up front. Materials delivered but not yet installed inflate "cost incurred" without representing real progress, so they're often excluded from the percentage calculation and recognized at zero margin. The principle: cost-to-cost should track performance, not just spending.
The WIP Schedule, Column by Column
A WIP schedule is a single spreadsheet with one row per active project. Pull every column together and it tells you the financial truth about each job and the company. The standard columns:
| Column | What it means |
|---|---|
| Contract value | Original price plus approved change orders |
| Estimated total cost | Current best forecast of total cost |
| Estimated gross profit | Contract value − estimated total cost |
| Cost to date | Actual costs incurred so far |
| Percent complete | Cost to date ÷ estimated total cost |
| Earned revenue | Percent complete × contract value |
| Billed to date | Total invoiced to the owner |
| Over / under billing | Billed to date − earned revenue |
The last column is where the diagnosis lives. Two outcomes are possible on every job:
- Overbilled (billed > earned): you've invoiced for work you haven't done yet. On the balance sheet this is a liability — billings in excess of costs and estimated earnings.
- Underbilled (earned > billed): you've done work you haven't invoiced yet. On the balance sheet this is an asset — costs and estimated earnings in excess of billings.
In our example — $500,000 earned, $350,000 billed — the job is underbilled by $150,000. You've done $150,000 of work you haven't sent an invoice for.
Over- and Under-Billing: Reading the Signal
Neither position is automatically good or bad — but each tells you something, and each can hide a problem.
Overbilling: cash today, debt tomorrow
Overbilling is normal and often deliberate. Front-loading a billing schedule — billing for mobilization and early-phase work slightly ahead of production — gives a contractor working capital to fund the job without dipping into a credit line. A healthy contractor is modestly overbilled across the portfolio.
The danger is excessive overbilling. Overbilling is not profit. It's an advance — cash you'll have to "work off" by performing later at a cost you've already collected for. When a contractor leans too hard on overbillings, they start using cash from billed-ahead jobs to cover costs on other jobs. That's job borrowing, and it works right up until the pipeline slows and there's no new billing to borrow against. Plenty of contractors have gone under with a healthy-looking bank balance for exactly this reason.
A rough rule of thumb sureties use: if total overbillings consistently exceed 10–15% of backlog, or the ratio of overbillings to equity climbs above 0.5–0.7, underwriters start asking pointed questions. Above 1.0, your entire net worth is effectively borrowed from work you haven't performed.
Underbilling: profit you can't spend
Underbilling means you've earned revenue you haven't invoiced. Sometimes that reflects a genuine timing lag — unprocessed change orders, a billing cycle that trails production. But persistent underbilling is a warning sign. It can mean:
- Slow billing — leaving money on the table and starving the company of cash.
- Cost overruns — costs are running ahead of the schedule of values, so cost-to-date outpaces what you're contractually allowed to bill.
- Optimistic estimates — your estimated total cost is too low, which inflates percent complete and earned revenue. The "underbilling" is really phantom profit that will reverse when reality catches up.
A profitable WIP schedule full of underbillings is a company that looks healthy on paper and can't make payroll.
The Bookkeeping Behind the Schedule
The WIP schedule isn't just a management report — it drives month-end journal entries. Each period you adjust the books so recognized revenue matches earned revenue, and you record the over/under-billing on the balance sheet.
For an underbilled job, the entry recognizes the revenue you've earned but not billed:
Dr Costs and estimated earnings in excess of billings $150,000
Cr Contract revenue $150,000For an overbilled job, you defer the portion of billings you haven't earned:
Dr Contract revenue $XX,XXX
Cr Billings in excess of costs and estimated earnings $XX,XXXThese adjustments reverse and re-compute every period as percent complete moves. The mechanics matter less than the discipline: the schedule and the general ledger have to agree, every month.
This is also where clean, granular records pay off. Cost-to-cost is only trustworthy if costs are coded to the right job and the right cost category the week they're incurred — not back-filled at quarter-end. Slow cost coding is one of the most common reasons a WIP schedule lies. Treating retainage as if it were ordinary cash is another: retainage receivable isn't collectible until the job closes and shouldn't be counted as available liquidity.
For contractors who want auditable, transparent books, a plain-text accounting system makes job-cost tracking far easier to verify — every transaction is a line you can read, search, and version-control, with no hidden logic. Tracking each project as its own set of accounts or using dimensions to tag costs by job turns the WIP schedule from a once-a-year scramble into a report you can generate any day.
Percentage-of-Completion vs. Completed-Contract
The alternative to percentage-of-completion is the completed-contract method, which recognizes zero revenue and zero profit until a job is 100% finished, then books everything at once.
Completed-contract is simpler and defers tax — which is why some small contractors prefer it. But it produces wildly lumpy financials: months of nothing followed by a spike. Banks and sureties dislike that, because it obscures whether jobs are healthy mid-stream. It's generally available only to smaller contractors and short-duration jobs; larger firms and most long-term contracts are required to use percentage-of-completion for financial reporting. For any contractor who wants a bonding line or a bank facility, percentage-of-completion isn't optional.
Why Banks and Sureties Live in Your WIP
Your WIP schedule is the first document a surety underwriter opens, and they read it more carefully than your income statement. Here's what they're looking for:
- Fade or gain. Compare estimated gross profit on each job period over period. A job whose margin keeps shrinking ("profit fade") signals weak estimating or cost control — the single biggest red flag in contractor underwriting.
- Billing discipline. Modest, consistent overbilling reads as competence. Heavy overbilling reads as job borrowing. Chronic underbilling reads as a cash problem.
- Backlog quality. The remaining contract value across all jobs — and whether it's profitable — tells the surety how much new bonding capacity you can safely carry.
- Consistency. Does the WIP tie to the financial statements? Do this period's numbers reconcile to last period's? Discrepancies destroy underwriter confidence faster than a single bad job.
A contractor who can hand over a clean, internally consistent WIP schedule every month — not just at fiscal year-end — gets more bonding capacity, better rates, and faster approvals. The schedule isn't accounting overhead. It's a credibility instrument.
Common WIP Mistakes to Avoid
- Stale cost-to-complete estimates. Update them every period with field input. An estimate set at bid time and never revisited makes the whole schedule fiction.
- Late or miscoded costs. Costs hitting the wrong job — or the right job a month late — distort percent complete in both directions.
- Forgetting change orders. Approved change orders belong in contract value and estimated cost. Unapproved ones are a judgment call — don't book revenue you can't yet enforce.
- Counting overbillings as profit. They're a liability. Spending them is borrowing.
- Treating retainage as cash. It's a receivable you can't touch until closeout.
- Only doing WIP once a year. A schedule you see in March tells you nothing you can act on. Monthly is the minimum; many contractors run it weekly on large jobs.
Keep Your Job Costs Honest from Day One
An accurate WIP schedule depends entirely on the quality of the bookkeeping underneath it — costs coded to the right job, in the right category, on time, every time. Beancount.io offers plain-text accounting that gives you complete transparency and control over your financial data, with every transaction stored as a readable, version-controlled line you can audit and tag by project. Get started for free and build the kind of clean, defensible records that make WIP reporting — and the bank and surety conversations that depend on it — far less painful.
Sources: Archdesk — Construction Work-in-Progress Reporting, Foundation Software — Over/Under Billing & Bonding, LBMC — ASC 606 Construction Revenue Recognition, EisnerAmper — WIP Reports and Bonding, CSBA — What Sureties Look For in Your WIP Schedule.