Construction Accounting: Percentage-of-Completion Playbook
A contractor signs a $12,000,000 office tower, finished twenty months later. The profit is $2,400,000 on paper — but when does it exist? Not at signing, when nothing is built. Not at handover: lender, surety, and tax return need a number. Construction accounting answers twice, under two rulebooks on the same job: U.S. GAAP under ASC 606, which asks when control transfers, and IRC § 460, which orders percentage-of-completion recognition for long-term contracts, then audits the estimates.
Two rulebooks on one job
ASC 606, Revenue from Contracts with Customers (FASB Accounting Standards Update 2014-09, May 2014), replaced the old industry-specific construction guidance with five steps: identify the contract and obligations, determine and allocate the transaction price, and recognize revenue when or as each obligation is satisfied. Public companies applied it from December 15, 2017; private companies a year later.
For construction, the question is whether the obligation is satisfied over time or at a point in time. Revenue is recognized over time if any of three criteria is met: the customer simultaneously receives and consumes the benefits; the contractor's performance creates or enhances an asset the customer controls; or the performance creates an asset with no alternative use, with an enforceable right to payment for work completed to date. A building on the customer's land meets the second test when the foundation is poured. Most construction contracts are therefore one obligation satisfied over time, measured cost-to-cost. The full five-step treatment is in the ASC 606 revenue recognition guide.
Section 460(a): for any long-term contract, taxable income is determined under percentage of completion as modified by § 460(b). Section 460(b)(1)(A) fixes the measurement: costs allocated under § 460(c) and incurred before year-end, compared with estimated total costs.
The systems diverge. GAAP constrains variable consideration — change orders, claims, and bonuses enter the price only when a significant reversal is not probable. Tax recognizes revenue on the cost-to-cost percentage whether or not the customer has accepted the work, and § 460(b)(1) adds a quirk: income not previously included is included in the year following completion. The 10-percent election under § 460(b)(5) defers all items until the first year 10 percent of estimated costs have been incurred — with no GAAP equivalent. The result is book-tax differences tracked job by job.
The cost-to-cost math, worked end to end
Harborview Office Tower: fixed price $12,000,000, estimated cost $9,600,000, expected profit $2,400,000, a 20 percent margin.
Year 1: costs $3,840,000, so percentage complete is $3,840,000 ÷ $9,600,000 = 40 percent. Cumulative revenue is 0.40 × $12,000,000 = $4,800,000; cumulative profit, 0.40 × $2,400,000 = $960,000.
Year 2: another $3,360,000 brings cumulative costs to $7,200,000, or 75 percent. Cumulative revenue is 0.75 × $12,000,000 = $9,000,000, so Year 2 revenue is $4,200,000. Cumulative profit is $1,800,000, so Year 2 profit is $840,000.
Year 3, completion: actual total cost is $9,720,000, a $120,000 overrun. Final revenue is the full $12,000,000, so Year 3 revenue is $3,000,000. Total profit is $2,280,000; Year 3 profit, $480,000. The overrun lands entirely in the final year: a stale estimate concentrates the pain instead of spreading it.
The WIP schedule is the same arithmetic in reporting form. At the end of Year 2, Harborview shows price $12,000,000; costs incurred $7,200,000; cost to complete $2,400,000; 75 percent complete; revenue earned $9,000,000; backlog $3,000,000. One line per job, reconciled to the ledger every month; if they disagree, the percentage is wrong and everything downstream is wrong with it. The monthly-close discipline is the month-end close checklist for a 5-day close.
Job costing: the ledger that makes the percentage honest
Percentage of completion is only as honest as the cost input, which comes from the job-cost ledger. Every dollar carries a cost code (labor, materials, subcontractors, equipment, overhead), posted the day it is incurred, not when the invoice is paid: labor from timecards, materials from receiving tickets, subcontractors from pay applications, equipment from rental rates. A cost posted to the wrong job moves the percentage on two jobs at once, in opposite directions.
Section 460(c) governs which costs count: costs that directly benefit, or are incurred by reason of, the contract activities are allocated to it. Three categories are expressly excluded: independent research and development, unsuccessful bids and proposals, and marketing, selling, and advertising. Production-period interest is allocated under § 263A(f), from commencement — or, for an accrual-method taxpayer, the date 5 percent of estimated costs have been incurred — to completion. For equipment-heavy contractors, solely for the percentage of completion, qualified property with a recovery period of seven years or less is counted as if bonus depreciation under § 168(k) had not been enacted, so a bonus-depreciated crane does not inflate the percentage.
Billings, retainage, and under/overbilling
Billing is not revenue. On most commercial jobs the contractor bills monthly on a schedule of values, and the owner withholds retainage, typically 10 percent, until substantial completion. Underbilling is a contract asset: costs plus estimated earnings exceed billings — work performed, not billed. Overbilling is a contract liability: billings exceed costs plus earnings — cash held for work not yet performed.
Underbilling = (costs incurred + estimated earnings) − billings to date; overbilling is the same subtraction in reverse.
Harborview at the end of Year 1: revenue earned $4,800,000 against billings of $5,100,000 — overbilling of $300,000, cash ahead of the work. At the end of Year 2: revenue earned $9,000,000 against billings of $8,700,000 — underbilling of $300,000, work performed and unbilled. The swing is a $600,000 movement in working capital inside one job, invisible on the income statement.
Retainage runs on the same billings. At 10 percent, Year 1 billings of $5,100,000 carry $510,000 held back, so cash collected is $4,590,000. The $510,000 sits in a retainage receivable until release, at substantial completion and again at final acceptance. A contractor billing $20,000,000 a year at 10 percent retainage carries roughly $2,000,000 of its own money in owners' hands. The collection mechanics are in the cash conversion cycle and DSO reduction playbook.
Which method: the decision table
| Method | When it applies | Revenue timing | Authority |
|---|---|---|---|
| Percentage of completion (tax) | Non-exempt long-term contracts | Cost-to-cost | 26 U.S.C. § 460(a), (b)(1)(A) |
| Percentage of completion (GAAP) | Obligation satisfied over time | As control transfers | ASC 606 (ASU 2014-09) |
| Completed contract (tax) | Exempt contracts only | All revenue and costs at completion | 26 U.S.C. § 460(e)(1) |
| 10-percent method (tax) | Election; all contracts from election year | Nothing until 10% of costs incurred | 26 U.S.C. § 460(b)(5) |
| Cash / accrual | Exempt contracts | Normal method | § 460(e)(1); IRS Pub. 538 |
The completed contract method is the deferral prize — which is why access to it is gated. A contractor that qualifies defers all profit until completion, but the deferral hides the job's economics from the lender and the surety, and a method change generally requires Form 3115. Before choosing a method for its tax effect alone, run the margin through the Break-Even Calculator.
The exits: small contractor and residential construction
Section 460(e)(1) is the only door out of mandatory percentage of completion. It exempts residential construction contracts outright, and any other construction contract the taxpayer estimates at signing will be completed within two years of commencement and that meets the § 448(c) test for the year entered into. Both prongs are measured at signing: a job estimated at twenty-three months that runs to thirty keeps the exception; one estimated at twenty-five months never had it.
The gross receipts test is the number to track. Section 448(c)(1) sets the statutory base at $25,000,000 of average annual gross receipts over the three preceding years, inflation-adjusted and rounded to the nearest $1,000,000. For 2026 the adjusted figure is $32,000,000, per Rev. Proc. 2025-32 § 4.30. Aggregation rules combine related businesses under § 52 or § 414, so splitting a $40,000,000 contractor in two manufactures no exemption.
A home construction contract, § 460(e)(4)(A), is one where 80 percent or more of estimated costs are attributable to dwelling units in buildings of four or fewer units, plus directly related site improvements; each townhouse or rowhouse counts as a separate building.
The look-back: Form 8697
Percentage of completion runs on estimates, and estimates are wrong. The look-back in § 460(b)(2) is the correction: when a contract is completed, the taxpayer reallocates income among the contract years on actual price and costs, determines the overpayment or underpayment of tax each year would have produced, and pays or receives interest on the difference at the § 6621 adjusted overpayment rate, compounded daily. Form 8697 figures that interest.
Harborview again, with actuals known. True Year 1 percentage is $3,840,000 ÷ $9,720,000 = 39.51 percent, so true Year 1 revenue is $4,740,741 against the $4,800,000 reported — $59,259 over-recognized. True cumulative Year 2 revenue is $8,888,889 against $9,000,000 reported. The taxpayer overpaid tax in Years 1 and 2 and is owed interest on the recomputed amounts. The interest depends on the taxpayer's marginal rate and the § 6621 rate in effect for each accrual period, so no single dollar figure can be quoted without those inputs; Form 8697 does that computation.
Two elections soften the look-back. Under § 460(b)(3)(B), it does not apply to a contract whose gross price does not exceed the lesser of $1,000,000 or 1 percent of average annual gross receipts for the three preceding years, completed within two years of commencement — a contractor averaging $40,000,000 has a 1 percent figure of $400,000, so a $350,000 contract finished in eighteen months escapes. Under § 460(b)(6), a taxpayer may elect the de minimis rule: no look-back if cumulative taxable income stays within 10 percent of look-back income.
Failure modes: how good jobs produce bad numbers
Estimate drift. A $120,000 overrun found in the final month is a $120,000 profit reduction in that month; found in month six, it reprices every percentage from that point forward. Re-forecast cost-to-complete monthly, in writing, signed.
Unapproved change orders and claims. Under ASC 606, variable consideration (pending change orders, claims, bonuses, penalties) enters the price only to the extent a significant reversal is not probable. A $500,000 claim the owner has not approved is not revenue; it is a negotiation. Recording it early inflates the percentage, the profit, and the tax bill on money that may never arrive.
Who should not use this playbook
This playbook is for contractors whose jobs span tax years under U.S. GAAP or the Internal Revenue Code. It is not for jobs that complete within the tax year they begin, or for pure service businesses. It is not a substitute for a CPA's advice: the § 460(b)(5) and (b)(6) elections apply to all of a taxpayer's long-term contracts once made, and a method change requires Form 3115.
Founder & CEO Insight — Enow A. Jovial
Execution checklists
Month-end WIP close, every open job:
- [x] Post all costs to the job-cost ledger by cost code: labor from timecards, materials from receiving tickets, subcontractors from pay applications, equipment from rental rates.
- [x] Re-forecast cost to complete with the project manager, in writing, signed, with the reason for any change from last month.
- [x] Recompute percentage, revenue earned, and under/overbilling from the updated estimate.
- [x] Reconcile the WIP schedule to the general ledger: every job cost and billing must tie, or the close is not done.
Year-end § 460 compliance:
- [x] Classify every open contract: one not completed within the year entered into is long-term under § 460(f)(1).
- [x] Test the § 460(e) exceptions at signing, in writing: residential construction, or the two-year estimate plus the § 448(c) test — $32,000,000 for 2026.
- [x] Apply the look-back on every completed contract: file Form 8697, and check the § 460(b)(3)(B) exception and the § 460(b)(6) election first.
- [x] **Confirm the 10-percent method election, if made, is applied consistently to all long-term contracts from the election year.
- [x] Reconcile book and tax, job by job: ASC 606 over-time revenue against § 460 income, and carry the deferred tax.
Close a completed job, in order:
- Recompute the percentage on actuals: final cost replaces the estimate, and the look-back reallocates revenue across the contract years.
- File Form 8697 for the look-back interest: overpaid tax in earlier years earns interest at the § 6621 rate, compounded daily.
- Release retainage and close the WIP line: bill the final retention, reconcile the job to zero, and archive the cost file.
The decision in advance
Construction accounting is decided before the first shovel: the contract type fixes the rulebook, the estimate fixes the percentage, the ledger fixes whether the percentage is true. A contractor that re-forecasts monthly, reconciles the WIP schedule to the ledger, and tests the § 460 exceptions at signing recognizes profit as earned, bills what it has earned, and finishes with a look-back that confirms the numbers.

