SaaS revenue can look simple on the surface. A customer pays each month and uses the product. In practice, contracts include trials, credits, usage add ons, onboarding, and mid term changes. ASC 606 gives a clear model to handle these items. This guide explains the model and shows how to apply it to common SaaS cases.
Why ASC 606 matters for SaaS
Clear revenue rules build trust with leaders, boards, and investors. They also prevent last minute changes during audit. Good policy and clean data reduce restatements and save hours each close. When your team follows the same steps every month, results are steady and easy to explain.
The 5 steps of ASC 606
- Identify the contract with a customer.
- Identify the performance obligations in the contract.
- Determine the transaction price.
- Allocate the price to the performance obligations.
- Recognize revenue when or as you satisfy the obligations.
These steps apply to both monthly plans and annual deals. They also cover one time services and usage fees.
Step 1: Identify the contract
A contract exists when you have approval, clear rights and duties, payment terms, and a commercial substance. For SaaS, this is often your order form plus your online terms.
Checklist
- Approved order with product, term, price, and start date
- Terms accepted by both parties
- Payment method and timing defined
- No high collection risk without a plan to resolve it
Step 2: Identify performance obligations
A performance obligation is a distinct good or service. In SaaS, the main promise is access to the hosted software over the term. Other items may include onboarding, data migration, support tiers, or a material right to a discount on a future purchase.
Ask if the customer can benefit from each item on its own, and if the item is separate from the rest of the service. If both are true, it is likely a separate obligation.
Checklist
- Hosted software access over the contract term
- Add on modules or seats that are distinct
- Onboarding or implementation that is more than a setup activity
- A discount or renewal option that creates a material right
Step 3: Determine the transaction price
The transaction price is the amount you expect to receive. It includes fixed fees and estimates of variable amounts, such as usage, credits, and discounts.
For variable amounts, estimate using either the expected value or the most likely amount. Include an estimate only to the extent it is probable that you will not have to reverse a significant amount later.
Checklist
- Fixed subscription fee
- Estimated usage or overage fees, if predictable
- Expected credits or concessions
- Significant financing component, if timing of cash and service is far apart
Step 4: Allocate the price to obligations
If there is more than one obligation, allocate the price based on stand alone selling prices (SSP). If you do not have observable prices, estimate SSP using a simple method such as adjusted market assessment, expected cost plus margin, or a price list analysis.
Discounts are allocated based on relative SSP unless the discount relates to only certain items and that link is clear.
Checklist
- SSP for each obligation or a clear estimation method
- Allocation worksheet with math and dates
- Notes that explain why any discount applies to selected items only
Step 5: Recognize revenue
Recognize revenue when control transfers. For SaaS access, control transfers over time, so you recognize straight line over the service period unless usage drives value. For one time services that are distinct, recognize at the point in time when delivered, or over time if the customer receives and consumes benefits as you perform.
Checklist
- Service period start and end dates
- Method: time based for access, or output based for usage
- Clear rules for pausing, termination, or credits
SaaS cases you will meet often
Subscriptions
For a monthly or annual plan, the performance obligation is access to the service. Recognize revenue over time, usually straight line. Record cash received in advance as deferred revenue. Release it each month.
Key data
- Contract start and end
- Billing cadence and proration rules
- Deferred revenue by contract and plan
Usage based fees and overages
If the plan includes usage, estimate variable fees only when you can do so without large reversals. If usage is hard to predict, recognize fees as usage occurs. If an annual plan includes commit and overage, spread the commit, then add usage when billed or earned.
Key data
- Measured units tied to invoices
- Rate cards and tiers
- Cutoff date for the month
Discounts, coupons, and credits
These create variable consideration. Reduce the transaction price unless the discount relates only to certain items. Track credits issued for service levels, support issues, or outages. Apply the constraint if the amount is uncertain.
Key data
- Discount type, amount, and term
- Whether the discount applies to specific items
- Credit approvals and reasons
Bundled onboarding and services
If onboarding is a setup activity that does not transfer distinct value, treat it as part of the access obligation and recognize over the term. If it is a distinct service the customer can use without the subscription, treat it as a separate obligation and recognize when delivered or over time if the customer receives value as you perform.
Key data
- Scope of onboarding
- Evidence of distinct use
- Hours, milestones, and acceptance
Upgrades, downgrades, and renewals
A change to scope or price can be a contract modification. If the added goods or services are distinct and priced at SSP, treat it as a separate contract. If not, treat it as a modification to the existing contract and update allocations and schedules.
Key data
- Change date, items added or removed, and new price
- SSP at the modification date
- Revised revenue schedule
Reseller and marketplace sales
Decide if you are principal or agent. If you control the service before transfer, you are principal and record gross revenue. If the reseller or marketplace controls the service to the customer, you may be an agent and record net commission. Document the control indicators you used.
Key data
- Who sets price and manages service
- Whose terms control the relationship
- Who bears credit and service risk
Refunds and chargebacks
If you offer a right of return, estimate expected refunds and record a liability. Do not recognize the revenue you expect to reverse. Track chargebacks and service credits and link them to the original contract.
Key data
- Refund window and policy
- Historic rates by plan and cohort
- Liability roll forward
Contract costs (ASC 340 40)
Incremental costs of obtaining a contract, such as a sales commission, are capitalized if you expect to recover them. Amortize over the period of benefit, which may include expected renewals if you pay a lower amount for renewals. Costs to fulfill a contract are capitalized if they relate directly to the contract, generate or enhance resources, and are expected to be recovered.
Checklist
- Commission plans and when costs are incremental
- Amortization periods and methods
- Impairment assessment each reporting date
Controls, systems, and disclosures
Strong controls make revenue clean and repeatable.
Data and systems
- A revenue subledger or module that links orders, billing, usage, and revenue schedules
- Shared codes for customer, product, plan, and contract
- Automated proration and modification logic
Controls
- Contract approval and price list control
- SSP estimation with version notes
- Review of variable consideration and constraints
- Cutoff checks for usage and credits
Disclosures
- Disaggregation of revenue
- Contract balances and movements
- Remaining performance obligations, if material and required
- Policies for variable consideration, significant judgments, and contract costs
Month end close checklist
- New contracts and renewals approved and loaded
- Modifications applied with updated SSP and schedules
- Usage and overage data cut at period end
- Credits and refunds recorded
- Commissions capitalized and amortized
- Roll forward of deferred revenue and contract cost asset
- Review of disclosures and tie out to subledger
- Sign off by revenue, billing, and controllership
Next steps for your team
Map your current plans and contract types to the five steps. Write one page policies for subscriptions, usage, discounts, onboarding, and modifications. Build an SSP file with sources and dates. Choose a subledger or a strong spreadsheet model and link it to billing and the general ledger. Run a mock close for one cohort to test schedules, usage, and credits. Share results with audit early so issues are fixed before year end.