*Most non-warranty guarantees fall under ASC 460, though some route to other standards depending on structure (for example, a lessee's guarantee of residual value falls under ASC 842). Product/service warranties are a partial exception: a basic assurance that a product works as promised stays out of ASC 606's scope (governed by ASC 460), but any warranty that includes an added service, like extended maintenance, has that service portion evaluated under ASC 606 as a separate performance obligation.
If a client's contract includes elements that span both categories such as a lease bundled with a service agreement, those components typically need to be evaluated separately under their respective standards.
The 5-step revenue recognition model under ASC 606
ASC 606 breaks revenue recognition into five steps. Each one builds on the last:order matters. Here’s a closer look at the workflow:
Step 1: Identify the contract with the customer
Under ASC 606, a contract is defined as an agreement—written, verbal, or implied—that creates enforceable rights and obligations. It must meet five criteria before revenue recognition can begin:
- Both parties have approved the contract and are committed to their obligations.
- Each party's rights regarding the goods or services can be identified.
- Payment terms can be identified.
- The contract has commercial substance.
- Collection of consideration is probable.
Contract modifications add a wrinkle worth flagging for clients: A change to an existing contract may create an entirely new contract or simply modify the existing one, as well as the accounting treatment differs depending on which applies.
Step 2: Identify the performance obligations
A performance obligation is a promise to transfer a good or service to the customer. When a contract includes multiple promises, each one only counts as its own separate performance obligation if it's distinct, which means the customer can benefit from it on its own, and the promise to deliver it is separately identifiable from the other promises in the contract.
If a promise doesn't meet both of those conditions, it gets bundled with related promises until the combined package does, and that bundle instead, is treated as a single performance obligation.
A software license paired with implementation services is a common example. If the customer could use the license without the implementation work and the implementation is standard setup rather than something that fundamentally customizes the software, the two are typically treated as separate performance obligations. If the implementation is so extensive that the customer couldn't use the license without it, the two are usually treated as one.
Step 3: Determine the transaction price
The transaction price is what your client expects to receive in exchange for the goods or services they transfer to a customer. Variable consideration, including discounts, rebates, refunds, or performance bonuses, along with non-cash consideration and financing components, is where this step gets complicated.
ASC 606 puts a constraint on variable consideration; your client can only include an estimated amount in the transaction price if it's probable that the amount won't need to be reversed later. This is new territory for anyone used to the legacy GAAP rules, where variable amounts weren't recognized until they were certain. Clients still working off instinct sometimes skip the estimate entirely, or make one without properly testing it against the constraint.
Step 4: Allocate the transaction price
Once the transaction price is determined, it gets allocated across each performance obligation based on relative standalone selling price (SSP), meaning the price your client would charge for that good or service if it sold it separately.
When SSP isn't directly observable, ASC 606 allows three estimation approaches: adjusted market assessment, expected cost plus a margin, or the residual approach. A $10,000 software contract that includes a license and a year of support, for example, needs the total price allocated between those two elements based on what each would sell for on its own, not split evenly or assigned arbitrarily.
Step 5: Recognize revenue when performance obligations are satisfied
While the first four steps are mostly about setting up the contract correctly, this point in the process is where you actually decide when revenue hits the books. It essentially comes down to three core questions.
- Is this recognized over time or at a point in time?
- How do you measure progress if it's over time?
- How does the math change for project-based contracts?
Three criteria for recognition over time
Revenue can be either recognized at a point in time or over a period of time. ASC 606 lays out three criteria for determining whether revenue should be recognized over time. If the contract meets any one of these three, then revenue should be recognized over time.
- The customer receives and uses the benefits of the service at the same time that the company performs the service. Examples of this are monthly payroll processing services, electric utilities, and annual gym memberships.
- Control of the asset or assets being created passes to the customer as the business performs. An example of this is an industrial warehouse being constructed on land owned by the customer.
- The product or service has no alternative use other than its use by the customer, and there is an enforceable right to payment for work completed to date. An example of this is consulting services where the agreement includes progress billing as the work is completed.
Which point in time?
If none of these criteria apply, revenue is recognized at a point in time. The following events can be used as a cue to determine the appropriate point in time:
- Your client has a present right to payment for the goods or services.
- The customer has a legal title.
- Your client has transferred physical possession of the asset.
- The customer has accepted the asset.
Choose a method to measure progress
When revenue is recognized over time, your client needs to choose a method to measure progress in completing the contract, and this method needs to be used consistently for similar contracts. The idea is to recognize revenue in proportion to the goods and services transferred to the customer so far.
The chosen method can be based on either outputs or inputs. An output method looks at the fair market value of goods and services transferred to the customer to date. An input method will be based on the costs for labor and materials as your client incurs them.
Uninstalled materials get a different treatment
A significant change from legacy GAAP is the method to be used in construction contracts that include installation of large components that are produced by third parties. If these large components comprise a significant portion of the cost of the whole project and are delivered to the site long before installation, the cost for those components is carved out of the whole and recognized separately, to the extent of that cost.
An example in the standards is the installation of an elevator for a total contract price of $5 million. In this example, the estimated cost for the entire contract is $4 million, of which $1.5 million is the cost of the elevator itself. If the elevator is delivered at a point when only 20% ($500,000) of the additional costs have been incurred, including the elevator's cost, the total would overstate progress toward completion of the project. In this situation, your client would recognize revenue to the extent of the cost of the elevator ($1.5 million), plus 20% of the remaining revenue (20% x $3.5 million = $700,000), for a total of $2.2 million.
Under percentage of completion, a business would have incurred 50% of the total costs and so would recognize 50% of the revenue, or $2.5 million.
ASC 606 vs. IFRS 15: Key differences
As mentioned earlier, IFRS 15, the international equivalent of ASC 606, was developed alongside 606 and shares the same five-step model. The two aren't identical, though, and for CAS firms advising clients with international operations, the differences that remain are worth knowing: