Revenue accounting

ASC 606

Also called: ASC 606, Topic 606, Revenue from Contracts with Customers

ASC 606 is the US GAAP revenue recognition standard for customer contracts. The five-step model explained with a worked SaaS example and schedule.

ASC 606 is the US GAAP standard for recognising revenue from contracts with customers: it says revenue is recognised when, and as, you deliver what you promised, at the amount you expect to be paid. It replaced a patchwork of industry-specific rules with a single principles-based model, effective for public companies from 2018 and private companies from 2019. Its international twin is IFRS 15.

The ASC 606 five-step model

  1. Identify the contract with the customer.
  2. Identify the performance obligations — the distinct promises within it.
  3. Determine the transaction price, including any variable consideration.
  4. Allocate the transaction price to the obligations, generally in proportion to their standalone selling prices.
  5. Recognise revenue as each obligation is satisfied — over time or at a point in time.

ASC 606 worked example for a SaaS contract

A customer signs a 12-month contract on January 1 for $60,000, invoiced annually in advance. It includes:

  • A 12-month platform subscription, normally sold for $54,000.
  • An implementation project, normally sold for $12,000 and completed in February.

Step 1 — Contract. Signed order form, commercial terms agreed, payment probable. ✓

Step 2 — Performance obligations. The subscription and the implementation are distinct (the customer could get implementation from a partner), so there are two.

Step 3 — Transaction price. $60,000. No usage or variable fees in this deal.

Step 4 — Allocate. The bundle’s standalone selling prices total $66,000, so the $6,000 discount is spread across both obligations rather than dumped on one:

Obligation Standalone selling price Share Allocated price
Subscription $54,000 81.8% $49,090.91
Implementation $12,000 18.2% $10,909.09
Total $66,000   $60,000.00

Step 5 — Recognise. The subscription is satisfied over time, so it is recognised ratably: $4,090.91 a month. The implementation is satisfied when it is completed in February.

Month Subscription Implementation Revenue recognised Deferred revenue at month end
January $4,090.91 — $4,090.91 $55,909.09
February $4,090.91 $10,909.09 $15,000.00 $40,909.09
March $4,090.91 — $4,090.91 $36,818.18
… … … … …
December $4,090.91 — $4,090.91 $0.00

The $60,000 invoice in January lands as cash and deferred revenue, then unwinds into revenue over the year. Try your own numbers in the revenue recognition calculator.

What ASC 606 changed for SaaS

  • Bundled contracts must be unbundled. A deal combining subscription, implementation and training has to be assessed for whether those are distinct obligations, priced separately, and recognised on their own patterns.
  • Discounts are allocated, not applied where convenient. As in the example above, a bundle discount is generally spread proportionally across obligations rather than assigned entirely to the one it was negotiated against.
  • Variable consideration must be estimated and constrained — usage fees and outcome-based fees are included only to the extent a significant reversal is not probable.
  • Contract changes need their own treatment. A mid-term upgrade is a contract modification: either a separate contract or a change to the existing one, which reshapes the remaining schedule.
  • Contract acquisition costs are capitalised. Sales commissions directly attributable to obtaining a contract are amortised over the expected customer life rather than expensed at signature. This is ASC 340-40 rather than 606 proper, but it arrived with it and surprises people.

Bunny’s revenue recognition reports

Nothing in ASC 606 is conceptually hard. The burden is evidential: you need contract-level data showing what was promised, what was allocated to each obligation, and when each was satisfied. That is a data problem rather than an accounting one, and it is why revenue recognition automation almost always turns out to be a systems project.

Bunny solves it at the source. Because quotes, subscriptions and invoices live in one system, Bunny’s revenue recognition reports come straight from the contract data:

  • Earned and deferred revenue by month, plus unbilled revenue and accounts receivable.
  • Journal entries per GL account and a monthly balance sheet view, ready to enter in QuickBooks, Xero or your ledger.
  • A schedule per invoice line, showing revenue recognised and remaining balance month by month, exportable for your auditors.
  • Accounting codes per charge, so revenue for each plan or product line is reported separately.
  • Credit notes itemised per line, so a refund reverses revenue on the right charge.

Revenue recognition comes with Bunny’s Advanced Billing add-on — see pricing — and runs on the same data as Bunny SaaS billing, so an amendment mid-term flows through without a reconciliation exercise.

ASC 606 in Bunny

Bunny's revenue recognition reports are built from the same subscriptions and invoices that bill the customer: earned and deferred revenue, unbilled revenue and receivables by month, journal entries per GL account, and a month-by-month schedule per invoice line that can be exported. Revenue recognition is part of the Advanced Billing add-on.

Bunny billing, CPQ & RevOps See how Bunny handles revenue recognition software

Frequently asked questions

What is ASC 606?

ASC 606, Revenue from Contracts with Customers, is the US GAAP standard that sets when and how much revenue a company recognises from customer contracts. It uses a single five-step model for every industry.

What are the five steps of ASC 606?

1) Identify the contract. 2) Identify the performance obligations. 3) Determine the transaction price. 4) Allocate the price to the obligations based on standalone selling prices. 5) Recognise revenue as each obligation is satisfied.

How does ASC 606 apply to SaaS subscriptions?

A SaaS subscription is usually a performance obligation satisfied over time, so its revenue is recognised ratably across the term — an annual contract billed up front is recognised one-twelfth per month, with the rest held as deferred revenue.

What is the difference between ASC 606 and IFRS 15?

They were issued together and share the same five-step model. The differences are in details such as some disclosure requirements and practical expedients. ASC 606 is US GAAP; IFRS 15 is used in most other countries.

When did ASC 606 become effective?

For public companies, for annual periods beginning after December 15, 2017. For private companies, for annual periods beginning after December 15, 2018 (deferred further for some entities).

Does Bunny automate ASC 606 revenue recognition?

Bunny produces revenue recognition reports — earned, deferred and unbilled revenue by month — from the same subscription data that invoices customers. It is included in the Advanced Billing add-on; see pricing.

Stop calculating this in a spreadsheet

Bunny computes SaaS metrics, revenue schedules and retention from your live billing data — because quoting, subscriptions, usage and invoicing all sit in one system.