Start free

Cut WIP Work 70%: Construction Revenue Recognition for Contractors With AI ERP

Accountant reviewing construction WIP progress

Under ASC 606, most long-term construction contracts recognize revenue over time once one of the over-time criteria is met, and the vast majority of contractors measure that progress using a cost-to-cost input method. Getting there compliantly means proving the over-time conclusion, controlling variable consideration like change orders, and running a reconciled WIP schedule every month. Those three disciplines, more than any accounting choice, determine whether your numbers survive an audit.


TL;DR:

  • Most contractors rely on the cost-to-cost method for measuring progress, but inconsistent cost coding can inflate revenue prematurely if not monitored monthly.
  • Estimating variable consideration like change orders and claims must be conservative, excluding amounts with high risk of revenue reversal, and documented thoroughly.
  • A properly maintained WIP schedule with five key columns ensures accurate revenue recognition and builds trust with auditors and sureties.
  • Changes in scope, such as contract modifications or termination, must be accounted for with accurate recalculations and clear documentation to prevent misstatements.
  • Automated systems like Designflow-build reduce reconciliation errors, support real-time data, and strengthen operational discipline critical for ASC 606 compliance.

Designflow-build
Bring Construction Data Together
DesignFlow Build combines project management, accounting, and field operations in one AI-native ERP for construction teams.
Explore DesignFlow Build

Table of Contents

Understanding Construction Revenue Recognition Under ASC 606

The FASB’s ASC 606 replaced legacy percentage-of-completion guidance with a five-step model that applies to every contract with a customer, construction included. Each step maps to something your project teams already track, which is why the standard is workable in practice even though it reads like dense legal text.

Cost-to-Cost, Output Methods, and When Completed-Contract Still Applies

Cost-to-cost is the default measurement method for most contractors because it ties directly to job costing data you’re already collecting. The math is simple: divide costs incurred to date by total estimated contract costs, then apply that percentage to the total contract price to get cumulative revenue earned.

  1. Build the cost pool correctly. Include direct labor, materials installed, subcontractor costs, and allocated equipment costs. Exclude uninstalled materials and mobilization from the numerator, since they don’t represent work performed.
  2. Choose output methods when they fit better. Milestone-based or units-delivered methods make sense when contract value ties to discrete deliverables, like linear feet of pipe installed, rather than to the cost of getting there.
  3. Reserve completed-contract treatment for narrow cases. This applies mainly when you genuinely cannot make reasonable cost estimates, which is rare for an established contractor and should be the exception, not a default.
  4. Lock in consistency. Once you pick a method for a contract type, apply it consistently and disclose any change with justification.

The most common control failure isn’t picking the wrong method. It’s inconsistent cost coding that lets mobilization or overhead leak into the percentage-of-completion numerator, inflating progress and revenue prematurely.

Pro Tip: Run a monthly review comparing percent-complete-by-cost against percent-complete-by-schedule for your largest jobs. A gap wider than 10 to 15 points usually signals a cost estimate that needs revisiting before your CFO does.

Handling Change Orders, Claims, and the Revenue Reversal Constraint

Variable consideration covers change orders, claims, incentive payments, and penalties, and ASC 606 requires you to estimate each one using either the expected value or most likely amount method, whichever better predicts the actual outcome.

The constraint exists specifically to stop contractors from booking optimistic revenue that later reverses. Exclude any amount where a significant revenue reversal is reasonably possible if the estimate turns out wrong. Operationally, that means maintaining a change order log with approval status and date, keeping documented evidence of customer sign-off, and reassessing collectibility every reporting period, not just at contract signing.

Contract Costs and ASC 340-40: What Gets Capitalized

ASC 340-40 sets the rules for capitalizing costs to obtain and fulfill a contract, and getting this wrong is one of the more common sources of restatement in construction accounting.

Building a WIP Schedule Auditors and Sureties Will Trust

Your work-in-process schedule is the single document that ties your revenue recognition conclusions to your balance sheet, and it’s usually the first thing an auditor or bonding agent asks to see.

  1. Track five columns per contract: original contract value, approved change orders, costs incurred to date, estimated cost to complete, and billings to date.
  2. Calculate percent complete from costs incurred divided by total estimated costs, then apply it to total contract value to find earned revenue.
  3. Map the variance. When earned revenue exceeds billings, record a contract asset (costs and estimated earnings in excess of billings). When billings exceed earned revenue, record a contract liability.
  4. Reconcile monthly, not quarterly, tying job cost reports to the general ledger and retaining the reconciliation as audit evidence.

Contractors who skip the monthly cadence tend to discover estimate errors in large, embarrassing chunks at year end instead of small, manageable ones each month, which is exactly the kind of surprise that worries sureties evaluating bonding capacity.

A Worked Cost-to-Cost Example

Take a $2 million contract with total estimated costs of $1.6 million. Through month six, the contractor has incurred $800,000 in costs and billed $850,000.

Metric Value
Total contract price $2 million
Total estimated costs $1.6 million
Costs incurred to date $800,000
Percent complete half
Revenue earned to date $1 million
Billings to date $850,000
Contract asset (underbilled) $150,000

Applying that to the $2 million contract price yields $1 million in earned revenue. Since billings of $850,000 trail earned revenue, the contractor records a $150,000 contract asset. The journal entry debits accounts receivable for billings, debits the contract asset for the underbilled amount, and credits revenue for the full $1 million, with cost of revenue recorded at the $800,000 incurred. If next month’s estimated cost to complete rises, the percent-complete calculation shifts immediately and the cumulative catch-up hits that period’s revenue, which is why estimate revisions need their own disclosure note.

How Integrated Systems Reduce Recognition Risk

Manual WIP schedules built in spreadsheets break down exactly where revenue recognition needs the most rigor: cost coding consistency, change-order tracking, and monthly reconciliation. An AI-native ERP built for contractors closes those gaps by keeping job costing, change orders, and accounting in one system instead of scattered across Excel and QuickBooks.

Contractors using Designflow-build report a 70% reduction in manual data entry and monthly savings of up to $847,000. Near-real-time WIP data also gives finance teams a stronger basis for the “reasonable estimate” standard that variable consideration and cost-to-cost calculations both depend on.

Contract Modifications and Termination: What Changes for Recognition

A contract modification gets treated one of three ways under ASC 606, and picking the wrong bucket throws off your entire revenue trend for that job. If the modification adds distinct goods or services at their standalone selling price, treat it as a separate contract with no impact on the original one. If it adds distinct goods or services not at standalone price, terminate the old contract and create a new combined one, resetting your percent-complete baseline going forward. Most construction change orders fall into the third bucket: they modify the scope of an existing, non-distinct performance obligation, which means you recognize the effect as a cumulative catch-up adjustment to revenue already recorded.

That cumulative catch-up is where a lot of contractors get surprised. If a change order increases both the transaction price and estimated costs, you don’t just apply the new numbers going forward. You recalculate percent complete using the revised total contract value and total estimated costs, then true up revenue as of the modification date, hitting current-period revenue with the full adjustment.

Termination is more straightforward but easy to mishandle procedurally. Once a customer terminates a contract, you stop recognizing revenue for any work not yet performed and evaluate whether costs incurred to date remain recoverable. Any capitalized contract costs under ASC 340-40 tied to that specific contract, such as amortized mobilization costs, need to be written off or accelerated at termination unless they have value on a different contract. Document the termination date, the final cost-to-complete estimate, and any claim for unbilled work separately, since termination disputes are one of the more common triggers for contractor claims litigation.

Contract Modifications and Termination: What Changes for Recognition — overview diagram

Practical Expedients Available to Contractors

ASC 606 includes several expedients that specifically reduce the compliance burden for construction contractors without compromising the underlying revenue picture. The most widely used one lets you expense incremental costs to obtain a contract as incurred when the amortization period would be one year or less, which spares smaller change-order-driven jobs from unnecessary capitalization schedules.

A second expedient allows you to recognize revenue in the amount you have a right to invoice when that amount corresponds directly to the value transferred to the customer, effectively simplifying certain time-and-materials or unit-price contracts. This won’t apply to most fixed-price jobs using cost-to-cost, but it’s useful for service and maintenance contracts billed on a straightforward per-unit basis.

Transition itself is largely behind the industry at this point, since ASC 606 has been in effect for years and most contractors have long since moved past the modified retrospective or full retrospective election. What still matters operationally is the disclosure legacy: if your company transitioned using the modified retrospective method, your comparative prior-year statements were prepared under the old standard, and that distinction should stay documented in your files even years later, particularly if a lender or acquirer ever asks to see historical reconciliations. New contractors setting up accounting systems today don’t need to think about transition at all. They simply apply ASC 606 from day one, which is one less complication than firms that lived through the 2018 to 2019 transition window had to manage.

Retainage: Recognition Timing Versus Cash Timing

Retainage creates one of the more persistent points of confusion in construction accounting because it decouples when you recognize revenue from when you actually collect cash. Under ASC 606, retainage withheld by the customer, typically 5% to 10% of billings, does not delay revenue recognition. You still recognize revenue based on percent complete and the transaction price, including the retained amount, as long as collection remains probable.

What retainage does affect is your contract asset and receivable presentation. The retained portion sits on your balance sheet as an unbilled or billed-but-uncollected receivable long after the related revenue hit your income statement, sometimes for months after substantial completion. That gap between recognized revenue and collected cash is exactly why WIP schedules need a separate line tracking retainage held, distinct from standard accounts receivable aging.

Revenue recognition before retainage cash collection

The bigger risk with retainage isn’t accounting treatment. It’s collectibility. If a customer disputes final punch-list items or the contract has extended payment terms tied to project closeout, retainage receivables can age well past typical 30 or 60 day terms. When collection becomes doubtful, that changes your assessment under Step 1 of the five-step model, potentially requiring a reserve or, in extreme cases, a reassessment of whether the contract still qualifies for over-time recognition. Contractors managing multiple large jobs should age retainage receivables separately in their WIP reconciliation and flag any balance outstanding more than 90 days past substantial completion for finance leadership review before it becomes a cash flow problem nobody saw coming.

Joint Ventures and Multi-Element Contracts

Joint ventures introduce a layer of complexity because revenue recognition happens at two levels: the JV’s own books, and each partner’s proportional share on their individual financial statements. The JV entity applies ASC 606 exactly as any single contractor would, running its own five-step analysis and WIP schedule. Each partner then typically recognizes its proportional interest using the equity method, which means the partner’s own revenue recognition depends heavily on the accuracy and timeliness of the JV’s internal accounting, a common friction point when partners use different job costing systems.

Multi-element contracts, meanwhile, force a harder question at Step 2 of the model: are design, procurement, and construction one performance obligation or several distinct ones? Most single-site vertical construction qualifies for the series exception, treating the whole project as one obligation recognized over time using a single measure of progress. But design-build contracts, or contracts bundling long-term maintenance with initial construction, often do contain genuinely distinct performance obligations that require separate transaction price allocation.

When that’s the case, allocate the transaction price based on standalone selling price for each obligation, using observable prices from similar standalone engagements where available, or a cost-plus-margin estimate when they aren’t. Getting this allocation wrong doesn’t just misstate one period. It shifts revenue timing across the life of the contract, since design services might be substantially complete while construction work has barely started, and lumping them into one blended percent-complete calculation would recognize design revenue too slowly and construction revenue too quickly.

Tax Timing Differences You Need to Track Separately

ASC 606 governs financial statement reporting, but it does not automatically govern how you recognize revenue for federal tax purposes, and that gap creates a permanent bookkeeping obligation for most contractors. The tax code has its own long-term contract rules, generally requiring the percentage-of-completion method for tax purposes on contracts expected to take more than two years, with a small contractor exception tied to average annual gross receipts.

Even when both book and tax use a percentage-of-completion approach, the inputs rarely match exactly. Tax rules define allocable contract costs differently than ASC 606 defines costs incurred for progress measurement, and capitalized costs under ASC 340-40, like mobilization or contract acquisition costs, may be treated differently for tax depreciation and amortization purposes than they are for book amortization.

The practical result is a book-to-tax timing difference that needs its own reconciliation schedule, tracked contract by contract, not just in aggregate. Deferred tax assets or liabilities arise whenever book revenue recognized in a period differs from taxable income recognized for that same contract in that same period. For a contractor running several large multi-year jobs simultaneously, these differences can swing materially from quarter to quarter, and getting them wrong doesn’t just create an accounting cleanup problem. It can distort estimated tax payments and create unpleasant surprises at extension time. Coordinate this closely with your tax preparer using the same WIP data driving your book revenue recognition, rather than reconstructing a separate tax schedule from scratch each year.

Where Accounting Teams Should Focus First

The technical accounting isn’t where most contractors get tripped up. It’s the operational discipline behind it. Cross-functional documentation between project managers and accounting, on a strict monthly cadence, is what actually makes your over-time conclusions defensible.

Keep change-order evidence current and tied directly to your WIP schedule the same month it happens, not reconstructed at quarter end. Small, repeatable process changes, done consistently, do more to reduce audit friction and protect your bonding capacity than any single accounting policy decision ever will.

— Keith

Reduce Revenue Recognition Risk With DesignFlow Build

Spreadsheets and disconnected QuickBooks entries are where most WIP errors start, since cost data, change orders, and billings live in three different places that someone has to reconcile by hand every month. Designflow-build combines job costing, change-order tracking, and accounting in one system, so your cost-to-cost inputs and contract asset calculations update automatically instead of waiting for a manual month-end pull.

Designflow-build

The construction software glossary is a useful starting point if you want to see how terms like WIP, billings-in-excess, and mobilization map to actual platform features, and the AI takeoff and ERP platform page walks through how job costing and change-order data flow into your revenue recognition workflow. If your WIP schedule has been a source of late nights or lender questions, request a demo and see what a reconciled, real-time schedule looks like for your next reporting period.

Sources

For deeper technical reference beyond this guide, start with the standards themselves and the implementation papers major accounting firms have published specifically for contractors.

FAQ

What Are the Five Criteria for Revenue Recognition?

ASC 606’s five steps are identifying the contract, identifying performance obligations, determining the transaction price, allocating that price to each obligation, and recognizing revenue as each obligation is satisfied.

What Does Revenue Recognition Mean in Construction Contracts?

It means recording revenue on a contract as work is performed and control transfers to the customer, rather than only when the project is billed or fully completed.

What Are the Two Main Methods for Recognizing Revenue on Long-Term Contracts?

The two primary approaches are over-time recognition, most often measured with a cost-to-cost input method, and point-in-time recognition, used when over-time criteria aren’t met and revenue is recorded at completion or delivery.

How Does ASC 606 Recognize Revenue for Construction Contracts?

Most construction contracts qualify for over-time recognition because the contractor’s work creates or enhances an asset the customer controls as it’s built, and revenue is measured using cost-to-cost or another progress-based input method.

Does DesignFlow Build Support ASC 606 Compliance Workflows?

Designflow-build’s integrated job costing, change-order tracking, and WIP reporting are built to feed the documentation and cost-to-cost inputs that ASC 606 compliance and audits require.