ASC 606 Revenue Recognition: Applying the Five-Step Model to Complex Contracts
ASC 606 is the US GAAP standard governing how and when companies recognise revenue from contracts with customers. Its five-step model replaced over a hundred industry-specific rules with a single, principles-based framework—and created new complexity for companies with multi-element arrangements, variable pricing, or long-term contracts.
What ASC 606 changed
Before ASC 606, revenue recognition in the US was governed by ASC 605 and a patchwork of industry-specific guidance. ASC 606 replaced all of that with one model: the five-step framework, applied consistently regardless of industry. The core question shifted from “has this been earned and is it realised or realisable?” to “have we satisfied a performance obligation by transferring control of a promised good or service to the customer?”
Step 1: Identify the contract
A contract exists when five criteria are met: the parties have approved it and are committed to their obligations; each party’s rights regarding the goods or services can be identified; the payment terms are identifiable; the contract has commercial substance; and it is probable the entity will collect the consideration it is entitled to. Contract modifications must be evaluated to determine whether they create a new contract or modify the existing one.
Step 2: Identify performance obligations
A performance obligation is a promise to transfer a distinct good or service. Distinct means: (a) the customer can benefit from the good or service on its own or with resources readily available; and (b) the promise to transfer is separately identifiable from other promises in the contract. The second criterion is where most disputes arise in practice.
Step 3: Determine the transaction price
The transaction price is the amount of consideration the entity expects to receive. Variable consideration—discounts, refunds, rebates, performance bonuses, penalties—must be estimated and constrained. The constraint is not optional: many companies include variable consideration at its unconstrained maximum, which is one of the most common ASC 606 errors in SEC comment letters.
Variable consideration constraint: Include variable consideration only to the extent it is probable that a significant revenue reversal will not occur when the uncertainty resolves. Documented analysis is required, not assumed.
Step 4: Allocate the transaction price
The transaction price is allocated to each performance obligation based on relative standalone selling prices (SSPs). SSP is the price at which the entity would sell the promised good or service separately. The SSP hierarchy runs: (1) observable price if sold separately; (2) adjusted market assessment; (3) expected cost plus margin; (4) residual approach (limited circumstances only).
Step 5: Recognise revenue
Revenue is recognised when or as a performance obligation is satisfied by transferring control. Over-time recognition applies when at least one of three criteria is met. Point-in-time recognition applies when none is met.
High-judgement areas by contract type
| Contract type | Key judgement | Common error |
|---|---|---|
| SaaS / cloud | Separating licence from implementation and support | Recognising all revenue ratably when licence should be front-loaded |
| Professional services | Over-time criteria; input vs. output method | Using costs-incurred method without documenting faithful progress measurement |
| Construction / EPC | Change orders; over-time method selection | Including unapproved change orders without constraint analysis |
| Licensing (IP) | Functional vs. symbolic IP; usage-based royalty exception | Recognising sales-based royalties before underlying sales occur |
| Bundled products + services | Distinct in context; SSP methodology | Treating bundle as one obligation and recognising everything at delivery |
Frequently asked questions
What is the difference between ASC 606 and ASC 605?
ASC 605 used a realised/realisable and earned test with industry-specific rules. ASC 606 replaced it with a single five-step model focused on control transfer. The most significant practical changes are in multi-element arrangements, variable consideration treatment, and disclosure requirements.
What is a contract liability under ASC 606?
A contract liability (formerly deferred revenue) arises when payment is received or due before the entity has satisfied a performance obligation. It represents the obligation to transfer goods or services. Presenting it as “deferred revenue” remains acceptable but ASC 606 terminology is “contract liability.”
Ready to map your contracts to ASC 606?
An assessment takes one hour. We review your contract portfolio, identify the hard judgement areas, and give you a prioritised remediation plan.
Book an assessment