Percentage-of-Completion Accounting for Contractors: Revenue, WIP, and Overbilling

A contractor can be 60% complete, 75% billed, and only 45% collected. None of those percentages can replace the others.
Percentage-of-completion accounting recognizes contract revenue as performance transfers over time under an approved financial-reporting policy. A cost-to-cost input method may measure that progress when incurred costs faithfully depict performance. Billing follows contract terms. Cash follows customer payment. WIP reporting must reconcile all four.
The method is not a management choice made to smooth profit. The qualified accountant must determine whether the contract qualifies for over-time recognition, select an appropriate progress measure, document estimates, and apply the relevant financial-reporting framework. Federal income-tax percentage-of-completion rules under Internal Revenue Code Section 460 are separate.
Confirm over-time recognition before calculating a percentage
Under Topic 606, a performance obligation is recognized over time only when the applicable criteria are met. Depending on the facts, that may involve the customer simultaneously receiving benefits, the customer controlling an asset as it is created or enhanced, or the asset having no alternative use with an enforceable right to payment for performance completed to date.
Do not assume every long project qualifies. Review:
- Enforceable contract and termination rights.
- Nature of the promised asset or service.
- Customer control during creation.
- Alternative use to the contractor.
- Right to payment for work completed to date.
- Jurisdiction and legal enforceability.
- Contract combination and performance obligations.
Legal counsel may need to support enforceability. The CPA or technical accountant should own the conclusion. This article focuses on the operating schedule after that policy is established.
Use cost-to-cost only when it depicts performance
A common input measure is:
Percentage complete
= Eligible cumulative costs incurred
÷ Current estimated total eligible costs
Then:
Cumulative revenue earned
= Percentage complete × Current transaction price
Current-period revenue
= Cumulative revenue earned
– Revenue recognized in prior periods
“Eligible” matters. Costs that do not depict performance may require exclusion or adjustment under the policy. Examples can include significant inefficiency, wasted materials, certain uninstalled materials, or costs related to future activity. The exact treatment is fact-specific.
Do not use cash paid as the numerator. A subcontractor invoice can remain unpaid while the related work is complete, and an advance payment can occur before work begins.
Build the contract estimate first
For each contract and approved change, maintain:
- Original contract price.
- Approved additions and reductions.
- Variable consideration included under the policy.
- Current transaction price.
- Original estimated total cost.
- Costs incurred to date by phase and category.
- Current estimate to complete by phase and category.
- Current estimated total cost.
- Expected final gross profit and margin.
- Revenue recognized to date.
- Billings to date.
- Cash collected to date.
- Committed cost, change orders, claims, and major risks.
Project leadership should supply the remaining work plan. Finance should test it against commitments, productivity, purchase orders, subcontract status, schedule, and actual cost trends.
The job-costing framework should provide cost at the same project and phase level. If the estimate-to-complete lives in an unrelated spreadsheet with different cost codes, the percentage can be precise and unreliable.
Work through a cost-to-cost example
Assume a contractor has:
- Current transaction price: $2,400,000.
- Costs incurred to date: $900,000.
- Current estimate to complete: $600,000.
- Current estimated total cost: $1,500,000.
- Revenue recognized in prior periods: $1,200,000.
- Billings to date: $1,600,000.
Percentage complete
= $900,000 ÷ $1,500,000
= 60%
Cumulative revenue earned
= 60% × $2,400,000
= $1,440,000
Current-period revenue
= $1,440,000 – $1,200,000
= $240,000
Expected final gross profit is $900,000, or 37.5% of transaction price, before other policy-defined items.
Because billings of $1,600,000 exceed cumulative revenue of $1,440,000, billing is $160,000 ahead of revenue. Under Topic 606 presentation, the balance may be a contract liability rather than simply “overbilling,” subject to contract-level netting and policy.
Reconcile the WIP schedule
A controlled contractor WIP schedule should show:
| Field | Purpose |
|---|---|
| Transaction price | Current revenue base under approved policy |
| Cost incurred | Supported cumulative input |
| Estimate to complete | Remaining cost based on current work plan |
| Estimated total cost | Denominator for cost-to-cost measure |
| Percentage complete | Progress under the policy |
| Earned revenue | Cumulative accounting result |
| Billings | Contractual invoicing to date |
| Contract asset or liability | Difference between earned revenue and billing, subject to presentation rules |
| Cash collected | Liquidity result, kept separate |
| Forecast final margin | Current project economics |
Tie cost incurred to the general ledger, revenue to the income statement, billings to accounts receivable and contract balances, and cash to customer receipts.
The broader project revenue-recognition framework explains performance obligations and the four project clocks. The contractor WIP schedule applies them to current contract estimates and cost-to-cost progress.
Before changing the plan, find the real constraint. A free 20-minute Profit & Tax Leak Check helps identify which financial issue is costing the business the most and what deserves attention first.
Understand underbilling and overbilling
Operationally:
Earned revenue – Billings = Underbilling when positive
Billings – Earned revenue = Overbilling when positive
Underbilling can arise because work legitimately precedes a billing milestone. It can also signal missing change orders, delayed documentation, optimistic progress estimates, or billing failure.
Overbilling can provide favorable project cash when contract terms permit billing ahead. It also represents remaining delivery. It is not automatically profit or free cash.
Use contract-asset and contract-liability terminology in the financial statements as the accountant directs. “Underbilling” and “overbilling” remain useful project controls, but they should reconcile to the approved presentation.
For every material underbilling, record the reason, support, next billing event, owner, expected invoice date, and collection date. The unbilled-revenue process can manage that conversion without changing the accounting policy.
Update estimates with current facts
Percentage-of-completion accounting is estimate-sensitive. When estimated total cost changes, the percentage complete and cumulative revenue change.
Suppose the example's estimate to complete rises from $600,000 to $900,000. Estimated total cost becomes $1,800,000:
$900,000 ÷ $1,800,000 = 50% complete
50% × $2,400,000 = $1,200,000 cumulative revenue
If $1,200,000 had already been recognized before the update, no additional cumulative revenue remains at that point. The current-period adjustment reflects the approved cumulative catch-up treatment.
Do not defer an unfavorable estimate because the project team expects to recover later. Record recovery actions separately from the current best estimate unless the policy permits their inclusion and evidence supports them.
Separate margin fade from revenue timing
Track changes in expected final gross profit:
- Approved scope and price.
- Pending or disputed change orders.
- Labor productivity.
- Wage and subcontractor rates.
- Materials and equipment.
- Rework and waste.
- Schedule extension.
- Liquidated damages or incentives.
- Allocation and cost-code errors.
Create a project margin bridge from the prior forecast to current forecast. Revenue recognition is the accounting result. Margin fade is the economic warning.
The construction-company CFO framework connects WIP with backlog, retainage, bonding, overhead, and cash decisions without duplicating this accounting calculation.
Handle change orders deliberately
Maintain separate categories:
- Approved change with agreed price.
- Approved scope with price pending.
- Unapproved scope under negotiation.
- Disputed claim.
- Internal scope error or rework.
The accountant should determine contract-modification and variable-consideration treatment. Operations should not include a hoped-for claim in transaction price solely to preserve project margin.
Finance should reconcile change-order status across project management, billing, legal, and the WIP schedule. Continuing material work without authorization can create both margin and collection risk.
Recognize expected losses under the approved policy
If current estimated total cost exceeds expected contract consideration, the accountant should evaluate loss recognition under the applicable guidance. Do not wait until project completion simply because revenue is recognized over time.
Separate the accounting loss provision from the operating recovery plan. Leadership still needs actions on scope, procurement, staffing, subcontractors, schedule, customer negotiation, and cash.
Keep book and tax percentage-of-completion separate
Internal Revenue Code Section 460 generally requires percentage-of-completion for certain long-term contracts and provides exceptions and specialized rules. Tax cost-to-cost, contract price, exempt-contract methods, look-back interest, and completion definitions may differ from financial reporting.
The IRS explains that look-back can recompute prior-year allocations using actual contract price and cost after completion, producing interest payable or refundable. That is a tax process, not a reason to alter the financial-reporting WIP schedule.
Maintain:
- Financial-reporting method and contract schedules.
- Tax method by contract.
- Book-to-tax revenue and cost differences.
- Section 460 status and exemptions documented by the tax adviser.
- Look-back records where applicable.
Do not use a tax return workpaper as the monthly management WIP schedule without reconciling the differing rules.
Run a disciplined monthly close
- Lock contract, change-order, cost, billing, and cash cutoffs.
- Reconcile job cost to the general ledger.
- Update estimate to complete with project leaders.
- Review transaction price and modification judgments.
- Calculate progress and cumulative revenue.
- Reconcile revenue, billings, receivables, contract assets, contract liabilities, and cash.
- Review margin fade, loss projects, old underbillings, and unusual overbillings.
- Post approved entries and retain the rollforward.
- Update billing, collection, staffing, and cash actions.
Require explanations for large period changes. An overwritten spreadsheet with no prior estimate destroys the evidence needed to understand forecast accuracy and margin fade.
Use WIP for decisions without changing accounting
The schedule should help leadership decide:
- Which projects require a scope or change-order intervention?
- Which estimates need executive challenge?
- Where is billing legitimately behind, and where is it failing?
- Which overbillings must fund substantial remaining work?
- Does backlog require more labor than current capacity?
- Can project cash fund payroll, retainage, tax, debt, and bonding needs?
A fractional CFO should not make the technical accounting or tax conclusion alone. The role is to make contract economics, estimates, billing, cash, and decision ownership reconcile around the approved methods.
Sources
- Financial Accounting Standards Board: Revenue Recognition Project Summary
- Financial Accounting Standards Board: Revenue Recognition Implementation Questions and Answers
- Internal Revenue Service: Construction Industry Audit Technique Guide
- Internal Revenue Service: Form 8697 Look-Back Interest Procedures
- Internal Revenue Service: Section 460 Small-Contractor Rules
Fractional CFO support can build that operating layer. The Profit & Tax Leak Check can identify whether margin fade, unsupported WIP, change orders, underbilling, tax timing, or project cash is creating the first pressure.
Frequently asked questions
How is cost-to-cost percentage of completion calculated?
Divide eligible cumulative costs incurred by the current estimate of total eligible contract cost, then apply that progress percentage to the current transaction price. Current-period revenue equals cumulative earned revenue less revenue recognized previously, subject to the approved accounting policy.
What is the difference between underbilling and overbilling?
Underbilling means cumulative earned revenue exceeds billings; overbilling means billings exceed cumulative earned revenue. Financial statements may present those differences as contract assets or contract liabilities under Topic 606. Neither balance alone proves good or bad project economics.
Is financial-statement percentage of completion the same as tax percentage of completion?
No. Financial reporting applies the applicable revenue standard and progress method, while Internal Revenue Code Section 460 has separate contract definitions, methods, exceptions, and look-back rules. Maintain distinct schedules and a controlled book-to-tax reconciliation reviewed by qualified advisers.
How do you confirm over-time recognition before calculating a percentage?
Under Topic 606, a performance obligation is recognized over time only when the applicable criteria are met. Depending on the facts, that may involve the customer simultaneously receiving benefits, the customer controlling an asset as it is created or enhanced, or the asset having no alternative use with an enforceable right to payment for performance completed to date.
Why should you use cost-to-cost only when it depicts performance?
text Percentage complete = Eligible cumulative costs incurred ÷ Current estimated total eligible costs text Cumulative revenue earned = Percentage complete × Current transaction price
How do you build the contract estimate first?
Project leadership should supply the remaining work plan. Finance should test it against commitments, productivity, purchase orders, subcontract status, schedule, and actual cost trends.
How do you work through a cost-to-cost example?
text Percentage complete = $900,000 ÷ $1,500,000 = 60% Cumulative revenue earned = 60% × $2,400,000 = $1,440,000
How do you reconcile the WIP schedule?
Tie cost incurred to the general ledger, revenue to the income statement, billings to accounts receivable and contract balances, and cash to customer receipts.