CEOBOOKS & TAX Book a scope call
Revenue · 3 min read

ASC 606 for SaaS: The Five Steps, Applied to Subscriptions

How the five-step model works for annual prepaid plans, multi-year deals, implementation fees and usage, and what your auditor will test first.

By CEO Books & Tax

Revenue recognition is the number every buyer, auditor and lender rebuilds from scratch. If your revenue is "whatever Stripe collected this month," the first diligence request will turn into a restatement. ASC 606 is the standard that governs how a SaaS company recognizes revenue under US GAAP, and the good news is that most subscription contracts fit it cleanly once the policy is written down.

The five steps

ASC 606 applies one model to every customer contract:

  1. Identify the contract. An approved agreement with enforceable rights and payment terms, where collection is probable. Click-through terms of service count.
  2. Identify the performance obligations. Each promise to transfer a distinct good or service. For most SaaS, the subscription is one obligation; implementation, training and premium support may or may not be separate.
  3. Determine the transaction price. The consideration you expect to be entitled to, including variable consideration such as usage fees, credits and discounts, estimated and constrained.
  4. Allocate the price. Split the transaction price across obligations using relative standalone selling prices (SSP).
  5. Recognize revenue as each obligation is satisfied. A hosted subscription is satisfied over time, so revenue is recognized ratably across the service period.

What this looks like for common SaaS deals

Deal shapeTypical treatment
Monthly plan billed monthlyRecognize each month as the service is delivered. Little or no deferred revenue.
Annual plan billed upfrontBook the invoice to deferred revenue, recognize one-twelfth each month.
Multi-year contract, billed annuallyRecognize ratably over each service year. Unbilled future years are remaining performance obligations, not receivables.
Implementation feeIf not distinct, combine with the subscription and recognize over the expected benefit period.
Usage or overage feesVariable consideration. Often recognized as usage occurs under the variable-consideration allocation exception.
Discounts and promotional monthsSpread across the contract; a no-charge first month does not mean zero revenue that month.

The entries your auditor will test first

  • Deferred revenue roll-forward. Opening balance plus billings less revenue recognized equals closing balance, and it ties to the billing system.
  • Cut-off. Revenue lands in the month the service was delivered, not the month the invoice went out.
  • Contract terms. Start and end dates, termination rights and any non-standard clauses (custom SLAs, most-favored pricing, refund rights) that change the accounting.
  • SSP support. If you bundle services, the basis for how price was allocated.

Distinct or not: the judgment call

The question that drives most SaaS rev rec debates is whether a service is distinct. A service is distinct if the customer can benefit from it on its own or with readily available resources, and if it is separately identifiable from the other promises in the contract. Configuration that only makes sense inside your platform usually is not distinct. Training that a third party could deliver often is. Write the conclusion into your revenue policy once, with examples, so every new contract is classified the same way.

Contract modifications

Upgrades, downgrades and mid-term add-ons are contract modifications. An add-on of distinct seats priced at their standalone price is usually accounted for as a separate contract. A price change on the existing service is usually treated prospectively. Your billing system's proration is a starting point, not the GAAP answer, so the modification policy belongs in the same document.

Commissions are part of the picture

ASC 340-40, which arrived alongside 606, requires incremental costs of obtaining a contract (typically sales commissions) to be capitalized and amortized over the period of benefit, with a practical expedient to expense them when that period is one year or less. A SaaS company with multi-year contracts or renewals that carry lower commissions usually ends up capitalizing.

Building it so it holds up

  • Write a two-page revenue recognition policy: obligations, SSP, modifications, usage, commissions.
  • Keep the contract data (term dates, price, billing frequency) in one place, and reconcile it to billing monthly.
  • Run the deferred revenue roll-forward as part of every close, not at year end.
  • Disclose remaining performance obligations if you report GAAP statements with notes.

We run this inside whatever accounting platform and billing system you already use, and we keep the policy, the roll-forward and the support in a form an auditor can test.

Sources

Questions founders ask

Do we need ASC 606 if we are not audited yet?

If you report GAAP financials to investors or a lender, yes. Most priced rounds, venture debt facilities and every audit expect GAAP revenue, so building it now avoids a restatement later.

Is an annual prepaid invoice revenue when it is paid?

No. Cash collected in advance is a contract liability (deferred revenue). Revenue is recognized ratably as the service is delivered over the term.

Are implementation fees recognized upfront?

Usually not. Unless the implementation is a distinct service the customer could benefit from on its own, it is combined with the subscription and recognized over the period the customer benefits.

Keep reading

More on revenue

Book a scope call

Want this run for you, every month?

Revenue recognition, the close, cash, tax and board reporting, run by senior finance people in the accounting software you already use.