Master the ASC 606 five steps for SaaS and services revenue. Learn contract ID, obligations, pricing, allocation and recognition with examples.
You collected a large annual payment, reported the full amount as revenue, and used that number to explain MRR, ARR, and margins to your board. Then your accountant asks why the customer hasn't received twelve months of service yet. The cash is in the bank, but much of the accounting revenue belongs to future periods.
That mismatch creates more than a bookkeeping cleanup. It can distort operating metrics, complicate fundraising diligence, and force late adjustments when an auditor or investor asks for the contract-level support behind your numbers. For a SaaS company, agency, or professional services firm, the ASC 606 five steps give you a disciplined way to separate cash collection, invoicing, and revenue earned.
A founder often sees an annual contract as a simple win. The customer signs, Stripe charges the card, and the cash balance rises. The income statement then appears to show a strong month, even though the company still owes months of software access, support, implementation, or agency work.
ASC 606 changes the question from “When did we invoice?” to “What promised goods or services has the customer received?” The standard was jointly issued by FASB and IASB in May 2014, and it replaced fragmented, industry-specific rules with a single framework for contract-based businesses. Public companies adopted it for annual reporting periods beginning after December 15, 2017, while nonpublic companies adopted it for annual periods beginning after December 15, 2018. Stripe's ASC 606 guide summarizes that transition and the five-step framework.
Suppose your company bills an annual subscription upfront. Cash increases immediately, but the subscription revenue generally follows the period in which you provide access. If you record the entire invoice as current-period revenue, you overstate the current month and understate later months.
That affects the story you tell about:
Controller's rule: Cash tells you when the customer paid. ASC 606 tells you when your company earned the consideration.
A correction also consumes management attention at the worst time. Instead of explaining retention, pipeline, and unit economics, you're reconstructing old contracts and defending manual journal entries. Correct recognition won't change the commercial quality of a contract, but it gives investors a cleaner view of performance and gives your finance team a defensible audit trail.
Think of a customer contract like a delivery plan. Signing the plan establishes the relationship, but it doesn't prove that you've delivered everything promised. You identify what was agreed, separate the deliverables, determine the economic value, assign that value to each deliverable, and record revenue as delivery occurs.
ASC 606 uses this sequence:
| Step | Plain-language question | Business impact |
|---|---|---|
| 1. Identify the contract | Is there an approved, enforceable arrangement with a customer? | Defines the accounting unit. |
| 2. Identify performance obligations | What distinct goods or services did you promise? | Determines what gets tracked separately. |
| 3. Determine the transaction price | How much consideration do you expect to receive? | Captures fixed and variable economics. |
| 4. Allocate the transaction price | How much belongs to each obligation? | Determines revenue by deliverable. |
| 5. Recognize revenue | When is each obligation satisfied? | Sets the timing of revenue and deferred revenue. |

The model is sequential. You shouldn't allocate a price before you know what you're allocating it to, and you shouldn't recognize revenue before you know when each obligation is satisfied. Deloitte's revenue recognition roadmap describes the same five steps and emphasizes that signing a deal is separate from earning revenue.
Subscription access and support are commonly delivered over time. A one-time implementation or completed creative deliverable may be satisfied at a point in time, depending on the facts and contract terms. That distinction changes monthly revenue, deferred revenue, contract assets, and the evidence your close team needs to retain.
ASC 606's logic also aligns with the shared framework behind IFRS 15, giving the model broad relevance across public and private markets. For worked SaaS scenarios, including deferred revenue and contract timing, review these ASC 606 revenue recognition examples.
This short video provides another visual explanation of the model:
Steps 1 and 2 establish the unit of account. Before you calculate revenue, determine which customer arrangement qualifies as a contract and which promises deserve separate treatment.
A contract generally needs customer approval, a commitment by the parties to perform, commercial substance, identifiable rights and payment terms, and collectability that meets the applicable threshold. A signed document is strong evidence, but your review also needs to capture amendments, side letters, renewal terms, credits, and informal commitments that change what you promised.

A promised good or service is generally distinct when the customer can benefit from it on its own or with other readily available resources, and when your promise to transfer it is separately identifiable within the contract.
Consider a bundled SaaS arrangement containing:
If the customer can use the platform without your implementation service, and the implementation doesn't substantially modify the platform, those promises may be separate performance obligations. If your implementation work integrates multiple components into a customized solution that the customer can't benefit from independently, the services may combine with the software into one obligation.
An agency contract requires the same discipline. A monthly retainer for campaign management may represent an ongoing series of substantially similar services. A separately scoped brand identity project can be a distinct obligation if the client benefits from the completed deliverable independently of the retainer.
| Contract pattern | Questions to ask | Timing consequence |
|---|---|---|
| Hosted SaaS access | Does the customer receive continuous access? | Often recognized over the service period. |
| Setup or implementation | Does the work transfer a distinct service? | May be recognized when the service is completed. |
| Retainer | Are repeated services substantially the same? | May be one series obligation recognized as performed. |
| Fixed project | Does the client receive a distinct deliverable? | Recognition follows the applicable satisfaction pattern. |
A common mistake is treating every line item on an order form as a separate obligation. The opposite mistake is combining everything into one subscription obligation because the contract has one total price. Use the customer benefit and integration analysis, not the sales layout, to decide.
For a practical obligation-mapping framework, see performance obligations under ASC 606. Your contract memo should state the promises, the distinctness conclusion, and the evidence supporting that conclusion.
Steps 3 and 4 create the largest cascading risk because an incorrect price estimate affects every later allocation and revenue schedule. Start with the consideration you expect to receive, including fixed amounts and variable amounts, then apply the constraint to variable consideration before allocating the total.
ASC 606 permits an expected-value method or a most-likely-amount method for estimating variable consideration, depending on which method better predicts the amount. The estimate must be constrained when including it creates a risk that recognized revenue will later reverse. Bonuses, usage fees, rebates, and credits need a written policy, not an undocumented spreadsheet judgment. Deloitte's guidance on variable consideration explains why the total transaction price, including variable consideration, must be determined before allocation.
Assume a customer signs a bundle for $36,000 containing:
The combined standalone selling prices equal $48,000. Allocate the $36,000 contract price proportionally:
| Performance Obligation | Standalone Selling Price | Allocation % | Allocated Revenue |
|---|---|---|---|
| Setup | $6,000 | 12.5% | $4,500 |
| Subscription | $36,000 | 75% | $27,000 |
| Support | $6,000 | 12.5% | $4,500 |
| Total | $48,000 | 100% | $36,000 |
The subscription allocation of $27,000 would be recognized over the period in which access is provided, subject to the contract terms and satisfaction pattern. Setup and support follow their own conclusions, rather than inheriting the invoice date.
The contract price isn't presumed to equal standalone selling price. Under Step 4, you measure SSP at contract inception and allocate the transaction price on a relative basis. An observable standalone sale in similar circumstances provides the strongest evidence, while list prices are only evidence, not conclusive proof. Deloitte's SSP guidance addresses this control requirement.
When SSP isn't directly observable, use an adjusted market assessment, expected cost plus a margin, or, when appropriate, a residual approach. Deloitte's allocation overview explains these estimation methods and the requirement to establish SSP at contract inception.
For teams that also monitor sales performance, separating recognized revenue from customer economics helps avoid confusion with metrics such as net revenue for e-commerce teams. Keep the accounting allocation workbook tied to the contract, not to a generic reporting metric. For variable pricing policies and examples, use this variable consideration guide.
Step 5 determines when the accounting system moves an allocated amount into revenue. A customer's payment date doesn't control that entry. You recognize revenue when, or as, the applicable performance obligation is satisfied, either over time or at a point in time. Wall Street Prep's ASC 606 overview explains why this timing is especially important for SaaS and subscription companies.
Return to the $36,000 bundle. The subscription allocation is $27,000, so a straight-line pattern over twelve months produces $2,250 per month, assuming the customer receives an even level of access throughout the service period. Setup and support use their own satisfaction patterns based on the documented analysis.

If you bill the customer $36,000 upfront, the initial entry records the receivable or cash and a contract liability:
At the end of the first month, assuming the subscription is the only obligation satisfied during that period:
The deferred revenue balance falls as the company delivers the service. The income statement shows earned revenue, while the balance sheet preserves the amount still owed to the customer through future performance.
A contract asset follows a different pattern. You recognize revenue after satisfying an obligation, but your right to invoice remains conditional on something other than the passage of time. That balance requires separate tracking and collectability analysis.
Your monthly close should reconcile every opening contract balance to billings, cash, recognized revenue, modifications, credits, and the ending balance. Tie the revenue subledger to the general ledger, then investigate exceptions rather than posting a single unexplained top-side entry.
A sound control package includes the contract, obligation memo, SSP evidence, allocation workbook, recognition schedule, amendment history, and approval record. Revenue recognition journal entry examples can help your team standardize the entries and supporting documentation.
For MRR reporting, keep operational metrics separate from GAAP revenue. A customer can have an active recurring commitment while recognized revenue follows a different pattern because of setup, allocation, service timing, credits, or contract changes.
Most ASC 606 problems begin with a reasonable business assumption applied too broadly. “The customer paid,” “the invoice says subscription,” or “the bonus is in the contract” sounds persuasive until someone tests the underlying obligation and timing.

Variable consideration deserves special attention. The SEC describes transaction price as including the constraint on variable consideration and emphasizes that revenue is recognized only when the relevant obligation is satisfied. A bonus or usage fee doesn't become revenue merely because the contract allows it. The SEC's ASC 606 disclosure example illustrates the importance of the constraint and satisfaction requirement.
The five-step summary isn't the end of the control environment. In 2025, FASB issued ASU 2025-04, clarifying accounting for share-based consideration payable to a customer under ASC 606 and ASC 718. The update explicitly states that the ASC 606 variable consideration constraint doesn't apply to that share-based consideration. Deloitte's 2025 roadmap updates discusses this technical boundary.
FASB also issued ASU 2025-05, providing a practical expedient for public companies and an accounting-policy election for private companies when estimating expected credit losses on current accounts receivable and current contract assets arising from ASC 606 transactions. The SEC filing describing ASU 2025-05 shows why post-recognition valuation still belongs on your checklist.
Start with your contract population, not your accounting software. Pull every active SaaS, agency, and professional services agreement, including amendments and side letters, then assign an owner to each review.
Use this implementation checklist:
QuickBooks, Xero, Stripe, and NetSuite can support the workflow when your contract data, schedules, and reconciliations connect cleanly. Teams evaluating AI agents for finance teams should focus on audit logs, human approvals, contract-change handling, and reproducible calculations rather than automation alone. A documented revenue recognition automation workflow can then support a faster close without hiding judgment calls.
Review your next month-end package as an investor would. Can you explain why revenue was recognized, what remains deferred, and how each material judgment was approved? If not, fix the documentation and schedule before fundraising or an audit puts the question on someone else's timeline.
Jumpstart Partners provides outsourced controller and bookkeeping support for SaaS, agencies, and professional services firms, including ASC 606 workflows, deferred revenue reconciliations, and investor-ready reporting. Visit Jumpstart Partners to discuss a contract review, revenue recognition cleanup, or monthly close process built around your business.