ASC 606 isn't a reporting exercise — it's a compliance framework with real audit consequences. Here's how the five-step model actually works in enterprise SaaS deals.

Revenue recognition is not a reporting exercise. It is a strict legal enforcement mechanism. For enterprise software companies, the core question of revenue recognition under ASC 606 (the revenue recognition standard under US GAAP) and IFRS 15 (its international equivalent) is simple: when do you actually earn the money? The answer lies entirely in the ASC 606 five-step model: (1) identify the contract, (2) identify performance obligations, (3) determine the transaction price, (4) allocate the transaction price, and (5) recognize revenue.
Controllers in complex SaaS environments describe this model as the definitive operational framework for financial compliance. If your finance team treats these five steps as a manual, post-close reconciliation task, your financial architecture is broken. You carry massive audit risk. Mastering this framework requires understanding the mechanical gap between a closed-won deal in your CRM and a recognized dollar on your income statement.
Step 1: Identify the Contract with a Customer
A signed piece of paper does not automatically constitute a contract under ASC 606. The standard requires specific criteria to be met before a contract legally exists for accounting purposes.
The parties must approve the contract and commit to their obligations. You must be able to identify each party's rights regarding the goods or services being transferred. You must identify the payment terms. The contract must have commercial substance. Finally, collection of the consideration must be probable based on the customer's intent and ability to pay.
If a sales rep logs a closed deal in the CRM, but the customer lacks the creditworthiness to pay the $500,000 software subscription, no contract exists under ASC 606. You cannot proceed to the subsequent steps. According to the FASB ASC 606 guidelines, finance teams must continuously reassess this criteria if the customer's financial condition deteriorates significantly.
Step 2: Identify the Performance Obligations in the Contract
A performance obligation is a distinct promise in a contract to transfer a good or service to the customer. This step fundamentally breaks down the commercial agreement into its deliverable components.
In enterprise software, deals are rarely simple. A standard multi-element arrangement might include a three-year software license, 100 hours of professional services for implementation, and ongoing premium support. Are these three separate performance obligations or one combined obligation?
To be distinct, the customer must be able to benefit from the good or service either on its own or together with other readily available resources. Furthermore, the promise to transfer the good or service must be separately identifiable from other promises in the contract. If the software requires highly specialized, complex implementation that only your team can provide to function, the software and the implementation merge into a single performance obligation. See PwC’s global guide on revenue from contracts with customers.
Step 3: Determine the Transaction Price
The transaction price is the amount of consideration an entity expects to be entitled to in exchange for transferring promised goods or services to a customer. This excludes amounts collected on behalf of third parties, such as sales taxes.
This step becomes complex when dealing with variable consideration. Variable consideration includes any pricing that is not fixed at the onset of the contract. This covers discounts, rebates, refunds, credits, performance bonuses, and usage-based pricing models. If an enterprise signs a contract with a base platform fee plus a usage-based tier for API calls, the total transaction price is not fixed.
As of 2025, finance leaders consistently report that estimating variable consideration remains the highest area of judgment and audit scrutiny. ASC 606 requires companies to estimate variable consideration using either the expected value method or the most likely amount method. You must apply a constraint: you only include variable consideration in the transaction price to the extent it is probable that a significant reversal of cumulative revenue will not occur. Read Deloitte’s roadmap to applying the new revenue recognition standard.
Step 4: Allocate the Transaction Price to Performance Obligations
Once you know the total transaction price and the distinct performance obligations, you must distribute the total price across those obligations. Transaction price allocation requires you to allocate the total consideration based on the relative standalone selling price (SSP) of each distinct good or service.
The standalone selling price is the price at which you would sell a promised good or service separately to a customer. If you sell a software subscription for $100,000, implementation for $20,000, and support for $10,000 independently, their combined SSP is $130,000.
However, sales teams heavily discount bundles. If the customer buys all three for a total transaction price of $104,000 (a 20% discount), you cannot arbitrarily apply that $26,000 discount to just the implementation fees. You must allocate the $104,000 transaction price proportionately across the subscription, implementation, and support based on their individual SSPs. Legacy CPQ (Configure, Price, Quote) and ERP (Enterprise Resource Planning) systems consistently fail to execute this allocation automatically for mid-term contract amendments. See KPMG’s in-depth report on revenue issues in software and SaaS.
Step 5: Recognize Revenue When (or As) Each Performance Obligation Is Satisfied
The final step determines the timing of revenue recognition. You recognize revenue when control of the promised good or service transfers to the customer. This happens either over time or at a point in time.
The "over time vs. at a point in time" distinction dictates your income statement. If the customer simultaneously receives and consumes the benefits as you perform the work—like a standard SaaS subscription or ongoing technical support—you recognize revenue over time. A $360,000, three-year SaaS subscription amortizes evenly at $10,000 per month.
Conversely, if you deliver a perpetual on-premise software license that the customer immediately controls and utilizes, you recognize that specific performance obligation at a point in time (the moment of delivery). Professional services might be recognized over time based on hours worked or milestones achieved. This timing requirement mandates rigorous SOX (Sarbanes-Oxley Act) internal controls to ensure delivery data accurately triggers financial reporting. Review EY’s practical guide to the new revenue recognition standard.
Securing Your Financial Architecture
Rethink how your business enforces these five steps. If you rely on offline spreadsheets to calculate SSP allocations and variable consideration, you are engineering compliance failures. You must stop treating the 5-step model as a downstream reconciliation task.
Book a meeting at revoptic.io to see how modern enterprises automate complex ASC 606 compliance directly within their revenue architecture.
Frequently Asked Questions
What triggers step one of the ASC 606 model?
Step one requires identifying a valid contract with a customer. The contract must have commercial substance, identifiable rights and payment terms, and the collection of consideration must be probable.
How do you determine a standalone selling price (SSP)?
SSP is the price an entity would charge for a good or service if sold separately in similar circumstances to similar customers. Companies typically determine SSP using observable historical standalone sales, adjusted market assessment, or an expected cost plus a margin approach.
What qualifies as a distinct performance obligation?
A performance obligation is distinct if the customer can benefit from the item on its own or with other readily available resources. Additionally, the item must be separately identifiable from other promises within the context of the specific contract.
How does variable consideration impact the transaction price?
Variable consideration introduces uncertainty into the total transaction price due to discounts, rebates, or usage-based pricing. Companies must estimate this amount and apply a constraint to ensure they only recognize revenue that is highly probable not to suffer a significant future reversal.
Why do SaaS companies primarily recognize revenue over time?
SaaS customers simultaneously receive and consume the benefits of the software platform as the vendor provides access day by day. Therefore, the vendor satisfies the performance obligation continuously, requiring revenue to be recognized ratably over the subscription term.
About RevOptic
RevOptic's platform closes the structural gap between CPQ and ERP with Revenue Guardrails — embedding financial compliance controls upstream in the sales process, where they can prevent revenue leakage, audit risk, and forecast failure before they occur.
Recognition: Ventana Research 2024 Digital Innovation Award for Revenue Management | MGI Research Rising Star in Revenue Operations

