If you build the WIP every month, you do not need the percentage-of-completion method defined for you. You need the part the textbooks skip: how the percentage actually gets computed from the job-cost data sitting in Procore, which single input can quietly poison the whole schedule, and where the tax rule diverges from what you report to the bank and the bonding agent. This guide writes for the Controller, not the CPA-exam candidate.
The percentage-of-completion method recognizes revenue on a long-term contract as the work is performed, in proportion to progress. For most contractors that progress is measured by the cost-to-cost method: costs incurred to date divided by the total estimated cost. The mechanics are simple. The judgment buried inside one of those numbers is not — and that judgment, not the arithmetic, is what makes your WIP schedule right or wrong.
Numbers below are synthetic — round figures from a fictional general contractor, Meridian Construction Group, on its Gateway Crossing job.
What is the percentage-of-completion method?
The percentage-of-completion method recognizes contract revenue and gross profit over the life of a job rather than all at once at completion. Under the dominant cost-to-cost approach, the share of revenue you recognize in a period equals the share of total estimated cost you have incurred. Incur 40% of a job's expected costs and you recognize 40% of its contract value as earned revenue (Foundation Software).
It exists because construction contracts span months or years: recognizing revenue gradually, job by job, is the only way the financial statements show whether an individual job is making money before it closes.
Under ASC 606, revenue from a construction contract is recognized over time when the contractor's performance does not create an asset with an alternative use and the entity has an enforceable right to payment for performance completed to date (FASB ASC 606-10-25-27). Most general-contractor work meets that test, which is why well over 90% of construction companies use percentage-of-completion (Foundation Software).
How is percentage-of-completion calculated under the cost-to-cost method?
Percent complete equals costs to date divided by the estimate at completion (EAC); EAC equals costs to date plus the project manager's cost-to-complete; earned revenue equals percent complete times the contract value; and over/(under) billing equals earned revenue minus progress billings to date. That four-step chain is the entire calculation. Everything else on the WIP is a column derived from it.
The cost-to-cost method is an input method — it measures progress by inputs consumed (cost) rather than outputs delivered. ASC 606 also permits output methods (units delivered, milestones, surveys of work performed), but for general construction the input method is the standard approach because cost data already flows from the job-cost system (PwC, Revenue from Contracts with Customers, §6.4).
Here is the canonical chain. Keep this table as the reference; the rest of the post points back to it.
| Step | Formula | Plain-language label |
|---|---|---|
| 1. Estimate at completion (EAC) | Costs to date + Cost-to-complete (PM input) | What will the job cost in total? |
| 2. Percent complete | Costs to date ÷ Estimate at completion (EAC) | How far along is the job? |
| 3. Earned revenue | Percent complete × Contract value | How much revenue has been earned? |
| 4. Over/(under) billing | Earned revenue − Progress billings to date | Have we billed more or less than we've earned? |
A worked example, three data points
Meridian's Gateway Crossing is an $8,000,000 contract. At month-end, three numbers drive the schedule:
- Costs to date: $3,000,000 (from the job-cost system)
- Cost-to-complete: $3,800,000 (the PM's estimate of remaining cost)
- Progress billings to date: $3,900,000 (what Meridian has invoiced the owner)
Run the chain:
- EAC = $3,000,000 + $3,800,000 = $6,800,000
- Percent complete = $3,000,000 ÷ $6,800,000 = 44.1%
- Earned revenue = 44.1% × $8,000,000 = $3,529,000
- Over/(under) billing = $3,529,000 − $3,900,000 = ($371,000) — over-billed by $371,000
The projected gross margin falls out of the same numbers: contract value minus EAC is $1,200,000, a 15% margin. Three inputs, one period, the whole job's financial story. Only one of those three inputs is a judgment call.
Where does the cost-to-complete come from — and why it matters so much
The cost-to-complete is the project manager's estimate of the remaining cost to finish the job, and it is the only subjective input in the cost-to-cost calculation. Costs to date and progress billings are facts the accounting system already holds. The cost-to-complete is a forecast a human makes — so it cannot be pulled from Procore, it must be entered each cycle, and it sets the EAC that drives percent complete, earned revenue, projected margin, and the over/under-billing position.
That dependency is exactly why the cost-to-cost method only produces accurate numbers if estimates are kept current (Foundation Software). The same point shows up in the job-cost literature in plainer language: a WIP report is only as accurate as the data going into it (Whipplewood CPAs). The mechanics of how the cost-to-complete becomes EAC — and how EAC, not the cost-to-complete itself, is what lands on the schedule — are covered in EAC and ETC on a construction WIP schedule.
The point for a Controller is structural: one field on the entire schedule is opinion, and it sits in the denominator. A small error there does not stay small.
What happens when the cost-to-complete estimate is wrong?
An understated cost-to-complete shrinks the EAC, which inflates percent complete, which overstates earned revenue and projected margin — and the overstatement is invisible until the job closes at the higher real cost. To make the magnitude concrete on Gateway Crossing: if the PM understates the $3,800,000 cost-to-complete by 10% (to $3,420,000), EAC drops to $6,420,000, percent complete jumps from 44.1% to 46.7%, and earned revenue rises by roughly $209,000 — extra profit recognized this period that was never actually earned. (Illustrative figures, synthetic Meridian job.)
That reversal, spread across periods, is profit fade: the estimated job margin shrinks over the life of the job as the cost-to-complete catches up with reality. A single optimistic estimate corrects quietly; a pattern of fade across multiple jobs is what makes sureties question the contractor's estimating discipline. The full mechanism, and how to catch it before year-end, is in profit fade in construction.
Is percentage-of-completion required under ASC 606?
No — ASC 606 does not require, or even name, the "percentage-of-completion method." It requires revenue to be recognized over time when an over-time performance obligation exists, and the cost-to-cost method is the accepted way to measure progress on that obligation. The distinction is more than semantic, but in practice the outcome for most general contractors is the same number percentage-of-completion always produced.
ASC 606 (Accounting Standards Codification Topic 606, Revenue from Contracts with Customers) replaced the older ASC 605-35 with a five-step model built on transfer of control, and in doing so dropped explicit reference to the "percentage-of-completion method" by name. A performance obligation is satisfied over time when the asset has no alternative use to the contractor and the contractor has an enforceable right to payment for work completed to date — the normal case for a general contractor building on the owner's land — and the cost-to-cost input method remains the standard way to measure progress on it (FASB ASU 2014-09, effective for most public entities in 2018 and private companies in 2019).
Two cost-to-cost rules under ASC 606 trip up contractors who treat the method as pure arithmetic: inefficient inputs — wasted labor and defective materials — must be excluded from the progress measure because they transfer no value, and uninstalled materials are recognized only up to cost (a zero-profit carve-out) until installed, so stockpiling does not overstate progress (Foundation Software).
Percentage-of-completion vs completed-contract: which method applies?
For most general contractors, percentage-of-completion applies and completed-contract does not — at least for GAAP financial statements. The completed-contract method defers all revenue and cost until a job is finished; percentage-of-completion recognizes both as the work proceeds. Because an over-time performance obligation under ASC 606 must be recognized over time, completed-contract is generally not an option for GAAP at a contractor whose work meets the over-time criteria.
| Dimension | Percentage-of-completion (PCM) | Completed-contract (CCM) |
|---|---|---|
| Revenue/profit timing | Recognized gradually as costs are incurred | Deferred until the job is complete |
| Balance-sheet effect | Over/under-billing (contract asset/liability) each period | Costs and billings accumulate; no profit until close |
| GAAP under ASC 606 | The norm for over-time obligations | Generally unavailable for over-time obligations |
| Tax (IRC §460) | Required above the gross-receipts threshold | Available only to exempt small/short-term contracts |
| Surety / lender view | Expected — shows current earnings and billing position | Disfavored — hides in-progress performance |
The completed-contract method survives mainly as a tax election for small or short-duration contracts and is rarely seen on the GAAP statements a mid-market general contractor hands to its bank and bonding agent. Those readers expect to see earnings and billing positions on jobs in progress, which only percentage-of-completion shows.
How does POC differ for tax versus GAAP? The gross-receipts threshold explained
Tax and GAAP are separate regimes, and a contractor can land on different methods in each. GAAP (ASC 606) governs the audited or reviewed financial statements the bank and surety read; IRC Section 460 governs the federal tax return. Section 460 generally requires the percentage-of-completion method for long-term contracts, but it carves out a small-contractor exception for contracts expected to be completed within two years where the contractor is below an inflation-indexed average-gross-receipts threshold (26 U.S.C. §460).
The threshold is the fact most articles get wrong. The Tax Cuts and Jobs Act of 2017 raised the small-contractor exception from $10 million to $25 million in average annual gross receipts (Foundation Software), and that $25 million figure is inflation-indexed under the §448(c) gross-receipts test that §460(e) points to — so the current binding number is higher than the original statutory amount and rises most years. Any source still printing a flat "$25 million" (or, worse, "$10 million") is quoting a stale figure.
For tax year 2025, the inflation-indexed gross-receipts threshold is $31 million — a contractor whose average annual gross receipts over the three prior years do not exceed that amount meets the §448(c) test (IRS Rev. Proc. 2024-40, released October 2024; up from $30 million for 2024). The amount is reset by the IRS each year, so confirm the current figure against the latest Revenue Procedure before relying on it.
The exception is two-part: the contract must be expected to complete within two years and the contractor's average annual gross receipts (trailing three years) must be below the indexed threshold, and the contract must not be a "home construction contract" treated separately under §460(e) (26 U.S.C. §460). For most mid-market general contractors the practical driver is not the IRS rule at all — it is the surety and the lender, who expect percentage-of-completion financial statements regardless of where the contractor sits relative to the tax threshold.
One consequence is worth stating plainly for the Controller who books to two sets of rules: a contractor below the threshold may use an exempt method such as completed-contract on its tax return while still reporting percentage-of-completion on its GAAP statements. The methods are chosen separately, for different readers. Confirm the current-year figure and your facts with your tax advisor and the current IRS Revenue Procedure before relying on either treatment.
How does percentage-of-completion flow from Procore job-cost data to your WIP schedule?
The percentage flows from three places: costs to date come straight out of the Procore job-cost data, the cost-to-complete comes from the project manager, and the contract value and progress billings come from the contract and your billing records. The Controller runs the four-step chain on those inputs every month to produce the WIP. WIP Ready reads the Procore data and builds that schedule; it does not invent the cost-to-complete.
Walk the chain against the data sources:
- Costs to date is a job-cost output — committed costs from purchase orders and subcontracts, plus actual labor and billed invoices. It is only as good as the discipline behind it; delayed cost posting understates the cost-to-date and therefore understates percent complete (Whipplewood CPAs). The structure underneath that number — cost codes, cost types, committed versus actual — is covered in construction job costing and how it feeds your WIP schedule. Garbage in, wrong percent-complete out.
- Estimate at completion (EAC) = costs to date + the PM's cost-to-complete. This is the one number the accounting system cannot produce on its own.
- Percent complete = costs to date ÷ EAC.
- Earned revenue = percent complete × contract value.
- Over/(under) billing = earned revenue − progress billings to date. On Gateway Crossing that landed at $371,000 over-billed — a contract liability that the surety reads as a claim on future work. What each position tells your underwriter is the subject of over/under billing in construction; do not let it run unexplained on the schedule.
A field-level caution that the cost-to-cost arithmetic hides: spend and physical progress are not the same thing. A task can be 70% spent but only 50% complete, which is an overrun signal, not a sign the job is ahead (JMCO). The cost-to-complete is where the PM's read of physical progress re-enters the math — which is why the estimate has to be the PM's, entered with a note, every cycle.
Frequently asked questions
How do you calculate the percentage of completion using the cost-to-cost method? Percent complete = costs to date ÷ estimate at completion (EAC), where EAC = costs to date + the PM's cost-to-complete. Earned revenue = percent complete × contract value. Over/(under) billing = earned revenue − progress billings to date. The cost-to-complete is the only input that does not come straight from the accounting system (Foundation Software).
Is the percentage-of-completion method required under ASC 606? ASC 606 does not name the percentage-of-completion method. It requires revenue to be recognized over time when the contractor's performance does not create an asset with an alternative use and the entity has an enforceable right to payment for work completed to date (FASB ASC 606-10-25-27). Most general-contractor contracts meet that test, and the cost-to-cost input method is the accepted way to measure progress.
What is the difference between percentage of completion and completed contract? Percentage-of-completion recognizes revenue and gross profit gradually as costs are incurred. The completed-contract method defers all revenue and cost until the job is finished. Under ASC 606, an over-time performance obligation must be recognized over time, so completed-contract is generally not available for GAAP financial statements at most general contractors.
How does the percentage-of-completion method differ for tax versus GAAP? GAAP (ASC 606) governs your audited or reviewed financial statements; IRC Section 460 governs your tax return. They are separate regimes. A small contractor below the IRC Section 460 gross-receipts threshold on contracts expected to finish within two years can use an exempt method for tax, while still reporting percentage-of-completion on its GAAP statements for the bank and the surety (26 U.S.C. §460).
What happens when the cost-to-complete estimate changes mid-project? A change in the cost-to-complete is a change in accounting estimate, recognized prospectively. It moves the estimate at completion, which moves percent complete, earned revenue, projected margin, and the over/under-billing position in the current period. A rising cost-to-complete that erodes projected margin across successive periods is profit fade.
How WIP Ready helps
WIP Ready reads your Procore job-cost data and builds the percentage-of-completion schedule from it — the costs to date, the percent complete, earned revenue, and the over/under-billing position, in your bonding agent's template. It does not calculate your cost-to-complete and it never will: that estimate is the project manager's to own, entered from the field with a note and a timestamp, because a number a surety relies on has to belong to a person, not an algorithm. The math is the easy part. Getting the one subjective input right, every cycle, with an audit trail, is the part worth a tool — see wipready.com.