Contractor Guide

Percentage-of-completion (POC) accounting: how contractors earn revenue as the job progresses

Percentage-of-completion (POC) accounting records revenue as you earn it on each job — based on how far the work has actually progressed — not when the check clears. Cash basis swings with billing and collection timing. POC asks a simpler question: how much of this contract have you performed?

For contractors with progress billings, retainage, and jobs that span months, that difference is the difference between a P&L you can run the business on and a P&L that measures the calendar. Below: what POC is, the cost-to-cost formula, how it maps to a WIP schedule, the over/under billing bridge, a labeled example, and when profit gain or fade shows up.

What is percentage-of-completion (POC) accounting?

TermMeaning
POC accountingRecognize revenue as work is performed on long-term contracts (job by job)
Percent completeUsually cost-to-cost: costs to date ÷ estimated total cost
Earned revenueContract value × percent complete
Billing positionBilled to date − earned revenue → over-billed or under-billed

POC is the book method that matches performance to the period. It does not invent profit — it times when profit shows. Thin bids still lose money under POC; the schedule just stops hiding the fade behind a fat draw or a slow pay app.

Blackline Financial is construction-only bookkeeping and advisory for contractors and specialty trades (roughly $1M–$30M). We do not prepare tax returns. Job costing, monthly close, and WIP / POC reporting for Frame-level work live on services — every engagement starts with a DIG Diagnostic, and every package is custom-quoted.

The cost-to-cost formula (how percent complete is calculated)

Most contractors measure percent complete with cost-to-cost:

Percent complete = Costs incurred to date ÷ Estimated total cost at completion

Earned revenue = Current contract value × Percent complete

Example inputs (same job):

InputAmount
Contract value (incl. approved COs)$1,000,000
Estimated total cost (EAC)$800,000
Costs to date$400,000

Then: percent complete = $400,000 ÷ $800,000 = 50%. Earned revenue = $1,000,000 × 50% = $500,000.

If you've billed $520,000, you're $20,000 over-billed. If you've billed $380,000, you're $120,000 under-billed. That gap is not trivia — it's the bridge to cash and the balance sheet. Details: over-billing vs under-billing.

Why the estimate matters more than the formula. Stale estimated total cost is how profit fade hides. If true costs-at-completion climb to $900,000 and nobody updates the EAC, the books still think you're 50% done when you're only ~44% done ($400K ÷ $900K) — so they overstate earned revenue and understate the fade. Honest, current estimates are not optional polish; they are the method.

Other percent-complete methods (units of work, labor hours, surveys of work performed) exist in accounting literature. Cost-to-cost is what banks, sureties, and most construction WIP schedules expect — and what this page means by POC unless noted otherwise.

How POC maps to WIP schedule columns

If this feels familiar, it should: POC accounting is what happens when the WIP schedule stops being a side spreadsheet and starts driving the books. You can't run honest POC without a current WIP, and a WIP without POC entries is a report that never hits the financials.

WIP columnRole in POC
Contract valueDenominator for earned revenue (must include approved change orders)
Estimated total costDenominator for cost-to-cost % complete — update when jobs drift
Costs to dateNumerator for % complete — needs complete job costing
Percent completeCosts to date ÷ estimated total cost
Earned revenueContract × % complete — the POC revenue figure
Billed to dateProgress billings / pay apps sent (not cash collected)
Over / under billingBilled − earned — posted to the balance sheet as part of close

Full column walkthrough and a three-job read: what is a WIP schedule. Monthly close rhythm: how we close.

Over-billing and under-billing (the POC bridge)

POC creates two numbers that cash basis never separates cleanly: earned and billed. The gap between them is your billing position.

Over-billed (billings > earned revenue): You've invoiced ahead of completed work. Cash feels strong — but you're holding money for work you still owe. On the balance sheet it's typically a liability ("billings in excess of costs" / billings in excess of revenue). Modest over-billing is often healthy: customers fund the job. Heavy, chronic over-billing is job borrow — the front of the job lends you cash; the back takes it back.

Under-billed (earned revenue > billings): You've done work you haven't invoiced. You're financing the owner's project. Chronic under-billing is a top reason contractors feel broke while the P&L says they're fine. Sometimes it's a missed draw or slow billing. Sometimes it's unapproved change orders — or cost overruns that inflate percent complete so "earned" outruns what you can actually bill. That last case is a margin problem wearing a timing problem's clothes.

Rule of thumb: slightly over-billed on most jobs is a healthy default. Trap, fix, and lender read: over-billing vs under-billing.

Labeled example (illustrative only)

Example only — not a client case, not a quote. One open job at month-end under cost-to-cost POC:

LineAmount
Contract value$1,200,000
Estimated total cost (current)$960,000
Costs to date$480,000
Percent complete50% ($480K ÷ $960K)
Earned revenue$600,000
Billed to date$540,000
Billing position$60,000 under-billed
Estimated gross profit at completion$240,000 (20% of contract)
Gross profit earned to date (illustrative)~$120,000 (50% of estimated GP)

Illustrative only. Not a client case, not a quote.

How to read it:

Stack three jobs like this on a WIP schedule and you see the portfolio picture banks and sureties ask for.

When profit gain and fade show up

Profit fade (also searched as gain fade / fade analysis): estimated gross profit at completion shrinks versus the bid (or versus last month's estimate). Costs-at-completion climb, approved contract value doesn't keep up, or both. Fade shows up on the WIP first — in the estimated GP column and in a rising under-bill that you can't invoice away — months before the bank account confesses.

Profit gain (the mirror): estimated GP at completion improves — buyout savings, efficient production, favorable change orders that add margin. Gain is real only when the EAC update is honest; "gain" from a stale high cost estimate that never gets corrected is fiction.

Why fade matters under POC:

  1. POC recognizes the bad news once estimates update — a feature. Cash-basis books can look fine while a job is quietly underwater.
  2. Thin bids make fade more likely — often from confusing markup vs margin at bid time.
  3. Sureties watch fade. Rising EACs, shrinking estimated GP, and chronic underbillings get questions; current estimates and a modest over-billed position get capacity.
  4. Update rhythm is the control. Quarterly estimate updates make fade a surprise. Monthly WIP + honest cost-to-complete make it a conversation while the job is still open.

There is no separate "gain-fade report" that replaces the WIP. Gain/fade analysis is reading estimated GP (and EAC changes) across periods on the same schedule that drives POC.

Cash basis vs. percentage-of-completion

Cash basis records revenue when money arrives and costs when money leaves. POC records revenue as you earn it. Same contractor, same two months:

MonthWhat happenedCash-basis P&L saysPOC reality
MarchCollected a $200K mobilization draw; crews barely startedHuge profitLittle work earned — most of that cash is a liability (over-billing)
AprilPaid subs and suppliers $180K; pay app slow, nothing collectedBig lossProductive month — revenue was earned; under-billing (or AR) is the timing issue

Neither cash-basis month's "profit" means much. Stack twelve and the annual P&L is noise — then decisions ride that noise (trucks after a fat March; passing on good work after a scary April).

When you'll be asked for POC (better: switch first): bonding programs that underwrite from POC financials; growing bank lines that want WIP covenants; scale where progress billing makes cash-basis distortion bigger than the profit you're measuring; a sale or partner who will restate to POC anyway. Contractors who switch on their own timeline often have years of clean POC history by the time a surety asks — which is what bonding agents want to see.

Book method vs. tax method (not tax advice)

How you run the books and how you file taxes are related decisions, but they are not the same decision. Many contractors keep POC (or accrual) books for management, banking, and bonding while their CPA uses a different method on the return when rules allow. Blackline does not prepare tax returns and does not advise which tax method to elect. Our lane is making the books tell the truth for operators, banks, and sureties — your tax preparer will be glad they do. Questions about completed-contract, cash, or other tax treatments belong with your CPA.

What it takes to run POC well

  1. Job costing that's actually complete — every cost coded to a job, every month (job costing in QuickBooks Online).
  2. Honest cost-at-completion estimates — updated when change orders land and when jobs drift. Stale estimates are how profit fade hides.
  3. A monthly WIP schedule — the job-level proof and control report (WIP schedule).
  4. A disciplined monthly close — POC revenue and over/under-billing adjustments posted every month, not once a year when someone asks (how we close).

POC isn't a report you bolt onto generic bookkeeping. It's the output of an accounting process built for construction.

FAQ

What is POC accounting for contractors?

POC (percentage-of-completion) accounting recognizes revenue as work is performed on each job — usually using cost-to-cost percent complete — instead of when cash is collected. It's the book method banks and sureties expect for meaningful bonding and credit.

How do you calculate percentage of completion (cost-to-cost)?

Percent complete = costs to date ÷ estimated total cost at completion. Earned revenue = contract value × that percentage. The difference between earned revenue and billings is over- or under-billing.

What's the difference between POC and a WIP schedule?

Same math, two seats. POC is how earned revenue hits the books; the WIP schedule is the job-level proof and the monthly control. You can't run honest POC without a current WIP.

What are underbillings in POC accounting?

Underbillings (under-billed position) means earned revenue exceeds billings — you've performed work you haven't invoiced. It often appears as an asset on the balance sheet. Causes range from missed draws to unapproved change orders to margin problems. See over/under billing.

What is profit fade (gain/fade) and how does POC show it?

Profit fade is when estimated gross profit at completion shrinks versus the bid or prior estimate. Under POC, updating the estimated total cost lowers percent complete and earned revenue — so fade hits the books when estimates are honest. Gain is the mirror when estimated GP improves for real reasons. Blackline can maintain the monthly WIP / POC close for construction businesses — contact or services; we don't prepare tax returns.

Ready for books that match the work — not just the deposits?

Tell us about your construction business and we'll put together a custom quote — usually within one business day. DIG first; no invented rate card.

Get a custom quote →

See services and packages →

Call (480) 617-2664

Blackline Financial · 4320 E Brown Rd, Suite 103, Mesa, AZ 85205