Deloitte’s ASC 606: Five Steps, Modifications, Principal vs Agent

The ASC 606 five-step revenue recognition model is the US GAAP framework for recognizing revenue from contracts with customers: identify the contract, identify the performance obligations within it, determine the transaction price, allocate that price across the obligations, and recognize revenue as each obligation is satisfied. FASB developed the standard jointly with the IASB, which issued its converged counterpart as IFRS 15, in May 2014. It has been effective for all entities since 2019 and replaced a patchwork of industry-specific rules with a single principles-based process.

Each step feeds the next, and each involves judgment. Conclusions reached early cascade through everything that follows, so skipping or glossing over a step is where implementation problems start.

When ASC 606 Applies

The standard applies to every contract with a customer for goods or services that are an output of the entity’s ordinary activities. A customer is the party that has contracted to obtain those goods or services. Before working through the five steps, confirm the arrangement isn’t in one of the explicit carve-outs: leases (ASC 842), insurance contracts (ASC 944), financial instruments, non-warranty guarantees (ASC 460, though product and service warranties stay within ASC 606), and nonmonetary exchanges between entities in the same line of business made to facilitate sales to end customers. Get the scope wrong and you apply the wrong accounting model from the start.

Step 1: Identify the Contract

A contract under ASC 606 is an agreement that creates enforceable rights and obligations. It exists only when all five of these criteria are met:

  • The parties have approved the contract and are committed to their obligations.
  • Each party’s rights regarding the goods or services to be transferred can be identified.
  • The payment terms are identifiable.
  • The contract has commercial substance, meaning the risk, timing, or amount of future cash flows is expected to change.
  • Collection of substantially all of the consideration is probable.

If any criterion fails, you cannot apply the model. The arrangement should be reassessed as circumstances change. Two or more contracts entered into around the same time with the same customer may need to be combined and treated as a single contract when they were negotiated as a package, when the consideration in one depends on the other, or when the goods or services together form a single performance obligation.

Step 2: Identify the Performance Obligations

Performance obligations are the distinct promises in a contract to deliver goods or services. A good or service is distinct when two conditions are both met: the customer can benefit from it on its own or together with other readily available resources, and the promise to transfer it is separately identifiable from other promises in the contract.

When goods or services are highly interdependent or significantly modify each other, they are not separately identifiable and must be bundled into a single performance obligation. A construction contract in which design, engineering, and building are deeply integrated is a classic example. The bundling decision controls how much revenue gets recognized at each milestone, so an error here ripples through the entire model.

Step 3: Determine the Transaction Price

The transaction price is the total consideration the entity expects to receive for delivering the promised goods or services. Fixed fees are straightforward. Many contracts, though, include variable elements that require estimation.

Variable consideration includes rebates, performance bonuses, penalties, price concessions, and refund rights. The entity estimates variable consideration using one of two methods. The expected value method is a probability-weighted calculation of possible outcomes and is useful when there are many scenarios. The most likely amount method takes the single most probable outcome and often works best for binary situations, like hitting or missing a milestone.

The Variable Consideration Constraint

Whichever method you choose, variable consideration is subject to a constraint. You can include an estimated variable amount in the transaction price only to the extent it is probable that doing so will not result in a significant reversal of cumulative revenue when the uncertainty is later resolved. Factors that raise the risk of reversal include amounts heavily influenced by forces outside the entity’s control, uncertainty that won’t resolve for a long time, limited experience with similar contracts, a history of offering broad price concessions, and contracts with a wide range of possible outcomes.

One notable exception to the constraint applies to sales-based and usage-based royalties promised in exchange for a license of intellectual property. For these royalties, revenue is recognized only when the later of two events occurs: the underlying sale or usage happens, or the related performance obligation is satisfied. The royalty-specific timing rule overrides the general constraint.

Significant Financing Component

When the timing of payments gives either party a significant benefit of financing, the transaction price must be adjusted for the time value of money. A practical expedient lets entities skip this adjustment when the period between transfer and payment is expected to be one year or less.

Step 4: Allocate the Transaction Price

Once you have the transaction price and the list of distinct performance obligations, allocate the total across those obligations based on their relative standalone selling prices. The standalone selling price is the amount the entity would charge if it sold that good or service separately.

Use observable standalone prices when they exist because the entity actually sells the item separately. When they don’t, ASC 606 permits three estimation approaches:

  • Adjusted market assessment. Look at what the market would pay for the good or service, adjusting for entity-specific costs and margins.
  • Expected cost plus a margin. Forecast the costs of satisfying the obligation and add an appropriate margin.
  • Residual approach. Calculate the standalone selling price as the total transaction price minus the observable standalone selling prices of the other obligations. This method is permitted only when the selling price for the item is highly variable (no representative price is discernible from past transactions) or the entity has not yet established a price and the item has never been sold separately.

Any overall discount in a contract is allocated proportionally across all performance obligations unless the entity has observable evidence that the entire discount relates to only one or a subset of them. Practitioners most frequently misapply the residual approach, usually by reaching for it as a convenience when one of the other methods would produce a more faithful result.

Step 5: Recognize Revenue When the Performance Obligation Is Satisfied

Revenue is recognized when control of the promised good or service transfers to the customer. Control means the customer can direct the use of the asset and obtain substantially all of its remaining benefits. Transfer happens either over time or at a point in time.

A performance obligation is satisfied over time if any one of the following criteria is met:

  • The customer simultaneously receives and consumes the benefits as the entity performs. This is common in routine service contracts.
  • The entity’s work creates or enhances an asset the customer controls as work progresses, such as building on the customer’s property.
  • The entity’s work does not create an asset with an alternative use to the entity, and the entity has an enforceable right to payment for work completed to date.

If none of those apply, the obligation is satisfied at a point in time, typically upon delivery, customer acceptance, or transfer of legal title.

Measuring Progress on Over-Time Obligations

For obligations satisfied over time, the entity selects a method to measure progress toward complete satisfaction. The method must faithfully depict the entity’s performance and must be applied consistently to similar obligations.

Output methods measure progress based on the value delivered to the customer: units produced, milestones reached, surveys of work completed, or time elapsed. Input methods measure progress based on the entity’s effort: costs incurred, labor hours expended, or machine hours used relative to total expected inputs.

Neither method is inherently better. Output methods tie directly to what the customer receives, but sometimes outputs are difficult to observe. Input methods are easier to measure, but they can misstate progress if the inputs don’t correlate proportionally with the transfer of control. That’s a common issue when significant materials are consumed early in a contract. The choice is not free; the entity must use judgment to identify the method that best reflects the actual pattern of performance.

Contract Modifications

Contracts change. Change orders, scope expansions, price renegotiations, and amendments are routine in long-term arrangements, and how you account for them depends on what changed.

A modification is treated as a separate, independent contract when both of these are true:

  • It adds goods or services that are distinct from those already promised.
  • The price increase reflects the standalone selling prices of those additional goods or services, adjusted for the circumstances of the particular contract.

When both conditions are met, the modification is essentially a new deal layered on top of the existing one, and each is accounted for independently.

When a modification does not qualify as a separate contract, the treatment depends on whether the remaining goods or services are distinct from what was already transferred. If the remaining goods or services are distinct, account for the modification prospectively, as if the original contract was terminated and a new one created; the transaction price is reallocated based on updated standalone selling prices. If the remaining goods or services are not distinct, account for the modification as a cumulative catch-up adjustment, recalculating total progress on the combined obligation and recognizing or reversing revenue in the period of the modification.

The catch-up approach is common for partially completed single-obligation contracts, like a construction project where the scope and price both change midway through. Getting modification treatment wrong shifts significant amounts of revenue between periods.

Principal Versus Agent

When a transaction involves a third party in delivering goods or services to the customer, decide whether you are acting as a principal or an agent before you fix the transaction price. The call has an outsized effect on the income statement. A principal recognizes revenue at the gross amount collected from the customer. An agent recognizes only its fee or commission.

The test is control. An entity is the principal if it controls the good or service before it transfers to the customer. Indicators of control include:

  • The entity is primarily responsible for fulfilling the promise to deliver.
  • The entity bears inventory risk, including before the customer orders or after a return.
  • The entity has discretion in setting the price charged to the customer.

No single indicator is determinative, and the weight of each depends on the specifics of the arrangement. An entity that merely arranges for another party to provide the goods or services is an agent. The call is especially contentious in platform businesses, marketplace models, and drop-shipping arrangements, where the entity may never physically handle the product. Auditors scrutinize these determinations closely because the gross-versus-net difference can be enormous without any change in actual profitability.

Applying the Model Consistently

The five steps run in order for a reason. The contract has to exist before you can find promises inside it. The promises have to be identified as distinct before you know what you’re pricing. Variable consideration and the constraint sit inside the transaction price, and the price has to be set before it can be allocated. Allocation has to happen before you can recognize revenue against any single obligation. And each obligation gets its own timing analysis, because two obligations in the same contract can transfer at very different moments.

Judgment sits at every step: whether collection is probable, whether promises are distinct, whether variable amounts pass the constraint, whether standalone selling prices are observable, whether control transfers over time or at a point in time. Document those judgments as you make them. Modifications and principal-versus-agent conclusions layer on top of the five steps rather than replacing them, and each requires the same discipline: work through the criteria, apply them to the specific facts, and let the accounting follow.