ASC 606 Five-Step Revenue Recognition Model
The ASC 606 five-step revenue recognition model is the core framework under the ASC 606 standard for determining when and how much revenue to record. The five steps—identify the contract, identify performance obligations, determine the transaction price, allocate the price, and recognize revenue when (or as) each obligation is satisfied—apply uniformly across nearly all industries and types of revenue-generating activities.
Step 1: Identify the contract with the customer
A contract is an agreement between a company and a customer that creates enforceable rights and obligations. Under ASC 606, a contract must be probable of collection and represent a clear exchange of goods or services for payment.
In straightforward cases, this is obvious. A software company signs a one-year license agreement with a customer who agrees to pay $50,000. That is a contract. But ASA 606 also includes situations where a contract is implied. If a vendor ships goods to a regular customer with a track record of payment, the company may reasonably infer a contract exists even without a formal signature.
The key question: Is it probable the entity will collect substantially all of the consideration owed? If a customer has a history of non-payment or is financially distressed, the company may fail the “probable of collection” test. In that case, revenue is not yet recognized; instead, the company waits until cash is received (cash-basis recognition) or reassesses collectibility.
A contract can be oral or written. It can be with a single counterparty or multiple parties. The company must consolidate multiple contracts if they are negotiated as a package or if one contract depends on another.
Practical example: A consulting firm agrees to deliver a three-month project for a client. Both parties sign an SOW (Statement of Work). The firm has audited the client’s creditworthiness and expects payment. A contract exists.
Step 2: Identify the performance obligations in the contract
A performance obligation is a promise to transfer a good or service to the customer that is distinct. The company must identify each separate obligation.
A single contract often contains multiple obligations. For instance:
- A software vendor sells a one-year subscription license (obligation 1) plus training and support (obligation 2).
- A construction company agrees to build a building and maintain it for two years post-completion (two separate obligations if each is distinct).
- A retailer sells a product (obligation 1) and offers a warranty (obligation 2).
A good or service is distinct if the customer can benefit from it on its own (or with other resources the customer already has), and it is separately identifiable from other promises in the contract.
If the vendor’s training is tightly integrated with the software license such that the customer cannot benefit from the training separately—the training only makes sense as part of onboarding to the software—then training and the license may form a single, bundled obligation.
Identifying performance obligations correctly is crucial. If the company fails to recognize an obligation, it will mistime or misstate revenue. If it splits an obligation artificially, it may accelerate or delay recognition incorrectly.
Practical example: An e-commerce company sells a television (obligation 1) and includes free installation and a two-year extended warranty (obligation 2). The customer could benefit from the television without installation; installation and warranty are distinct. The company identifies two performance obligations and allocates part of the price to each.
Step 3: Determine the transaction price
The transaction price is the amount of consideration the company expects to receive for satisfying performance obligations. It includes:
- Fixed amounts (e.g., a stated contract price)
- Variable consideration (e.g., rebates, discounts, bonuses, or penalties tied to performance)
- Non-cash consideration (e.g., barter transactions)
For variable consideration, ASC 606 requires the company to estimate the amount using one of two methods:
- Expected value method: A probability-weighted average of all possible outcomes.
- Most likely amount method: The single most likely scenario.
The company must include variable consideration in the transaction price only if it is “probable” that including it will not later be reversed. This is a conservative standard. If a contract offers a $10,000 performance bonus, but the company is uncertain whether the performance targets will be met, it may exclude the bonus from the initial transaction price and add it only when certainty increases.
Contracts also often contain a constraint: the company must not include variable consideration that could be reversed in a future period. For example, if a product carries a right of return, the company estimates the quantity that will be returned, reduces the transaction price accordingly, and recognizes revenue only on units expected to be kept by the customer.
Practical example: A SaaS company enters a one-year contract at $10,000 per month, with a tiered bonus: if monthly usage exceeds 100 hours, the customer receives a 10% discount. The company uses the most likely amount method and estimates the customer will exceed 100 hours, so it sets the transaction price at $10,800 for the year (adjusting for the expected discount).
Step 4: Allocate the transaction price to performance obligations
If the contract contains multiple performance obligations, the company must allocate the total transaction price to each obligation based on the standalone selling price of each good or service.
The standalone selling price is the price at which a company would sell that good or service separately. If the company regularly sells the software license for $4,000 and support separately for $1,000, the allocation is straightforward: allocate in proportion to those standalone prices.
If a standalone price is not observable (e.g., the company rarely sells training separately), it must be estimated using one of three methods:
- Adjusted market assessment: Look at what competitors charge for similar goods or services.
- Expected cost plus markup: Estimate the cost to deliver the good or service and add a reasonable profit margin.
- Residual method: Allocate all other obligations at their standalone prices, then assign the remainder to this obligation (only if the standalone price is uncertain or not observable).
The allocation is critical because it determines when each obligation is satisfied and how much revenue is recognized in each period.
Practical example: A vendor sells a software license and a two-year maintenance contract for $15,000 total. The standalone selling price of the license is $10,000; maintenance is normally sold separately for $3,000 per year ($6,000 for two years). The vendor allocates: license ($10,000 / $16,000 × $15,000 = $9,375) and maintenance ($6,000 / $16,000 × $15,000 = $5,625).
Step 5: Recognize revenue when (or as) each performance obligation is satisfied
The final step: record revenue as the company satisfies each obligation. There are two recognition patterns:
At a point in time: The company recognizes all revenue for an obligation when control of the good or service transfers to the customer in a single moment. A retail sale is the classic example: the customer pays and takes possession; control transfers instantly; revenue is recognized immediately.
Over time: The company recognizes revenue gradually as it satisfies an obligation over a period. This applies when:
- The customer simultaneously receives and consumes the benefit (e.g., a gym membership).
- The company creates an asset with no alternative use and has a contractual right to payment for work performed to date (e.g., custom manufacturing).
- The company’s performance creates or enhances an asset that the customer controls (e.g., construction services where the customer owns the building as work progresses).
Under over-time recognition, the company measures progress using one of two methods:
- Output method: Recognize revenue based on observable milestones (e.g., units delivered, contract milestones completed, customer acceptance).
- Input method: Recognize revenue based on costs incurred or efforts expended (e.g., labor hours, materials, percentage of completion).
For long-term contracts, choosing the right measurement method is material. A construction company building a $50 million building over three years could use input (percentage of costs incurred) or output (milestones completed, such as foundation done, structure done, finishing done). Different methods yield different quarterly revenue figures and affect reported profit.
Practical examples:
- Point-in-time recognition: A manufacturer sells widgets for $100 each. Upon shipment and the customer’s receipt, control transfers. Revenue of $100 is recognized in that month, even if the customer pays later.
- Over-time recognition (output method): A contractor agrees to renovate a building for $500,000 over 18 months. The contract specifies milestones: foundation (20%), framing (30%), systems (35%), finishing (15%). As each milestone is completed and approved by the customer, the contractor recognizes revenue proportionally.
- Over-time recognition (input method): A consulting firm undertakes a two-year engagement to design and implement a customer’s IT system for $2,000,000. The firm estimates total billable hours at 4,000. If the firm completes 1,000 hours in year one, it recognizes $500,000 in revenue (1,000 / 4,000 × $2,000,000).
Common industry applications
Software licenses: A perpetual license is typically point-in-time (revenue at delivery). An annual subscription is over-time (revenue ratably over the year). A license bundled with implementation services may require splitting the price and recognizing implementation revenue as the customer benefits.
Construction and engineering: These are nearly always over-time, because the customer controls the asset as work progresses. Revenue is recognized monthly or upon milestone completion, not when the final product is delivered.
Real estate: A property sale is point-in-time (revenue when the buyer takes possession and legal title transfers). Rental income is over-time (revenue each month the property is leased).
Retail and e-commerce: Sale of goods is point-in-time (upon delivery to the customer). Extended warranties or protection plans are over-time or recognized over the contract period.
See also
Closely related
- ASC 606 — the full revenue recognition standard
- Revenue Recognition — the broader accounting principle
- Percentage of Completion Method — a specific over-time revenue recognition approach
- Completed Contract Method — alternative for long-term contracts
- Contract Liability — when a customer pays in advance
Wider context
- True and Fair View vs Fair Presentation — the foundation of accounting standards
- Component Auditor in a Group Audit — auditors verifying revenue across subsidiaries
- Income Statement — where revenue is reported