ASC 606 is the US GAAP standard for revenue recognition, effective since 2018. It replaced industry-specific guidance with a single five-step model. This guide covers the five steps, common application patterns for SaaS and subscription businesses, implementation pitfalls, and what your bookkeeper actually does to apply ASC 606 correctly.
ASC 606 (codified as Topic 606, Revenue from Contracts with Customers) applies a five-step model to all revenue recognition:
A contract exists when: parties have approved it, rights and obligations are identifiable, payment terms are identifiable, the contract has commercial substance, and collection is probable. Most signed customer agreements are clearly contracts. Edge cases: master service agreements with separate SOWs, click-through agreements, implied contracts from ongoing business relationships.
A performance obligation is a promise to transfer a distinct good or service. A SaaS contract might include: software access (distinct), implementation services (distinct if stand-alone, not distinct if integral to software), training (usually distinct), support (distinct time-based obligation).
Identifying whether each element is distinct vs combined is the most judgment-heavy part of ASC 606 application.
The amount expected to be entitled in exchange for the goods/services. Considerations:
For multi-element contracts, allocate transaction price to each performance obligation based on stand-alone selling price (SSP). SSP is determined by observable prices when available, or estimated using cost-plus, market assessment, or residual approach.
SaaS example: contract of $120k includes software ($100k SSP), implementation ($30k SSP), training ($10k SSP). Total SSP: $140k. Allocate as:
Revenue recognition timing depends on whether obligation is satisfied over time or at a point in time:
Customer pays $12k annually for software access. Single performance obligation satisfied over time. Revenue recognized $1k per month for 12 months. Deferred revenue liability on balance sheet for unearned portion.
Customer pays $120k for software and $40k for implementation. Two performance obligations (assuming implementation is distinct). Software: $120k over 12 months = $10k/month. Implementation: recognized as completed (point in time if delivered all at once, over time if phased).
Common mistake: recognizing all $160k at contract signing. This overstates revenue and must be reversed at audit.
Customer pays $300k upfront for 3-year subscription. Revenue recognized $100k/year over 3 years. Deferred revenue at contract signing: $300k (split between current $100k and long-term $200k). Each year, $100k moves from deferred to recognized revenue.
Customer pays based on usage (API calls, storage, transactions). Revenue recognized as usage occurs. Tricky when minimum commitments exist: the minimum is often recognized ratably with true-up based on actual usage.
Customer upgrades tier mid-contract. Treatment depends on whether modification adds distinct goods/services at stand-alone pricing (treated as separate contract) vs modifies existing (retrospective or prospective adjustment).
Free first month of subscription: allocate contract price across entire period including free month. Effective revenue per month = contract price / total period including free period.
ASC 606 compliance requires ongoing bookkeeping process, not just a one-time setup. Key operational areas:
Each contract generates a schedule showing:
At month-end, journal entries move revenue from deferred to recognized per each contract's schedule. For a SaaS business with 200 active customers, this might be 200+ journal entries monthly unless automated.
Every upgrade, downgrade, renewal, or cancellation affects the deferred revenue schedule. Process must catch and record these changes.
ASC 606 requires specific disclosures: disaggregation of revenue, contract balances, remaining performance obligations, significant judgments. Audited financials must include these; unaudited may include at investor request.
Related: bookkeeping for startups, SaaS industry page, offshore controller.
Related