Bookkeeping

Deferred Revenue and ASC 606 for SaaS, Explained

Understand how deferred revenue and ASC 606 apply to SaaS businesses, including subscription revenue recognition, contract changes, prepayments, and tax timing differences.

Pooja PrajapatiOct 3, 20269 min read
Why Your Stripe Deposits Aren't Your Revenue: ASC 606 for SaaS

Deferred Revenue and ASC 606 for SaaS, Explained

A customer signs an annual plan and pays $24,000 on day one. Stripe shows the payment, the bank balance jumps, and it feels like a very good month. On the income statement, though, that month should show only $2,000 of it as revenue. The other $22,000 is money you've been paid for work you haven't done yet.

That gap between cash collected and revenue earned is what deferred revenue tracks, and ASC 606 is the accounting standard that decides how it moves. Get it wrong, and the damage isn't obvious at first. Revenue looks lumpy, margins swing for no real reason, and the numbers you show investors stop matching the numbers an auditor will eventually accept.

This guide covers what deferred revenue is, how ASC 606's five steps apply to a subscription business, the SaaS situations that most often throw the schedule off, and why the tax return treats the same prepayment differently from your books.

What deferred revenue actually is

Deferred revenue (also called unearned revenue and formally a "contract liability" under ASC 606) is cash a customer has paid or is contractually due to pay for service you still owe them. It sits on the balance sheet as a liability because, until you deliver, you either owe the service or owe the money back.

For a subscription, delivery happens a little every day the customer has access. So the liability shrinks month by month, and the same amount moves onto the income statement as revenue. Here's the $24,000 annual plan over its first few months:

MonthCash receivedRevenue recognizedDeferred revenue balance (end of month)
Month 1$24,000$2,000$22,000
Month 2$0$2,000$20,000
Month 3$0$2,000$18,000
Month 12$0$2,000$0

Two entries do the work. When the payment comes in, cash goes up, and deferred revenue goes up by $24,000. At each month-end, deferred revenue goes down by $2,000 and subscription revenue goes up by $2,000. After twelve months, the liability is zero, and the full $24,000 has been recognized.

month's

Why it matters: Deferred revenue is one of the few liabilities founders are happy to see grow. A rising balance usually means customers are prepaying for more future service. But it only tells that story if the schedule behind it is accurate.

ASC 606 in plain English

ASC 606, Revenue from Contracts with Customers, is the US GAAP standard for revenue. Its core idea is simple: record revenue when you transfer the promised service to the customer, in the amount you expect to be entitled to, not when the invoice goes out, or the cash arrives. It replaced a patchwork of older, industry-specific rules, including separate software guidance that many SaaS companies used to follow.

Public companies adopted it for fiscal years beginning after December 15, 2017. Private companies got more time, and after a pandemic-era deferral, most had to adopt it for fiscal years beginning after December 15, 2019. So any SaaS company that prepares GAAP financial statements today, for an audit, a lender, or investors, is expected to follow it. You can read the standard's summary in the original FASB update that created Topic 606.

The five steps, applied to a SaaS contract

ASC 606 works through five steps. For a plain monthly subscription, they take seconds. They start to matter once contracts include extras, discounts, or usage fees.

Step 1: Identify the contract.

A signed order form, an accepted online terms of service, or a click-through checkout can all count, as long as both sides are committed and the payment terms are clear. One SaaS wrinkle: if a customer can cancel any month with no penalty, the enforceable contract is often just that month, even if they stay for years.

Step 2: Identify the performance obligations

List what you promised. Software access is usually one obligation. Implementation, training, premium support, or a dedicated success manager may be separate ones, but only if the customer could benefit from them on their own and they aren't just part of getting the software working.

Step 3: Determine the transaction price

This is what you expect to be paid, not always the list price. Discounts, free months, service-level credits, and usage-based fees all adjust it. Variable amounts go in only to the extent a big reversal later is unlikely.

Step 4: Allocate the price

If there's more than one obligation, split the total across them based on what each would sell for separately (its "standalone selling price"). A bundle sold at a discount spreads that discount across the pieces, unless there's clear evidence it belongs to one of them.

Step 5: Recognize revenue as you deliver.

Access to a hosted platform is delivered continuously, so subscription revenue is almost always recognized evenly over the service period. A one-time deliverable, such as a completed custom integration, is recognized when it's done.

Six SaaS situations that throw off deferred revenue

Most SaaS revenue errors don't come from the plain subscription. They come from the edges of the contract.

1. Setup and implementation fees

It's tempting to book a $5,000 onboarding fee as revenue the day it's paid. But if the setup work only makes sense as part of getting the customer onto your software, it usually isn't a separate obligation. In that case, the fee is deferred and recognized along with the subscription, and sometimes over a longer expected customer relationship if it gives renewing customers a benefit they wouldn't otherwise get.

2. Mid-term upgrades and downgrades

When a customer moves from 50 to 80 seats in month five, that's a contract modification. For most SaaS subscriptions, the remaining months are distinct from the months already delivered, so the change is handled going forward: the unrecognized balance plus the new charge is spread over the months left. Proration in the billing system doesn't always match this, so the schedule needs checking after every change.

3. Multi-year prepaid deals

A customer who pays three years upfront for a discount is, in effect, lending you money. ASC 606 can require you to separate that financing element when it's significant. There's a practical shortcut: if the gap between payment and delivery is one year or less, you can ignore it. Standard annual prepayments usually qualify. Multi-year prepayments often don't, so they're worth a closer look.

4. Usage-based and overage fees

Fees tied to API calls, transactions, or storage are variable considerations. When they relate to a specific period of service, they're generally recognized in the period the usage happens rather than estimated across the whole contract. The trap is timing: usage billed in arrears still belongs to the month it was used, which may mean recording revenue before the invoice goes out.

5. Sales commissions

Commissions paid to win a contract are a cost of obtaining it. Under ASC 340-40, the companion guidance to ASC 606, they're generally capitalized and expensed over the period the customer is expected to benefit, which for SaaS is often longer than the first contract because customers renew. You can expense them immediately only if that amortization period is one year or less. Many small companies expense every commission as paid, which understates profit in growth years.

6. Invoices sent before the service starts

If you invoice an annual renewal in November for a January start, don't record deferred revenue the day the invoice is created. Under ASC 606, the contract liability appears when the customer pays or when the payment is due, whichever comes first. Booking every future invoice inflates both receivables and deferred revenue. The reverse also happens: if you deliver before you can bill, the result is a contract asset (unbilled revenue), not a receivable.

Deferred revenue for tax is not the same as your books

Here's where founders get surprised. Your GAAP books spread the prepayment across the service period. The tax return may not.

  • Cash-method taxpayers generally include a prepayment in taxable income when it's received. Many smaller companies qualify for the cash method; for 2026, the general gross receipts test allows it for corporations and partnerships averaging $32 million or less in annual gross receipts over the prior three years, though some entities have extra restrictions.
  • Accrual-method taxpayers can elect a one-year deferral under Section 451(c) and Treasury Regulation §1.451-8. Income is included in the year of receipt to the extent it's recognized in the financial statements that year, and the entire remainder is included in the following tax year, no matter how long the contract runs.

So a three-year, $36,000 prepayment received on July 1, 2026, might show $6,000 of revenue in your 2026 books, $12,000 in 2027, and so on. For tax under the deferral method, $6,000 is income in 2026 and the other $30,000 in 2027. Those differences need tracking, and they affect cash planning for multi-year deals. This is common guidance, so confirm the method your company uses with your tax preparer or with a tax outsourcing team that works with SaaS companies.

How to keep a deferred revenue schedule that holds up

You don't need expensive software to do this well at an early stage. You need a schedule that's complete and reconciled every month.

  • One line per contract or invoice. Customer, start and end dates, total amount, amount recognized to date, and remaining balance.
  • Don't let the payment processor post revenue. Payments from Stripe or another processor should land in deferred revenue (or receivables), with revenue recognized by a month-end journal entry from the schedule.
  • Run a monthly roll-forward. Opening deferred revenue, plus new billings, minus revenue recognized, should equal closing deferred revenue, and that closing figure should match the balance sheet.
  • Re-run it after every contract change. Upgrades, downgrades, credits, and cancellations are where schedules drift.
  • Keep the contract with the schedule. An auditor or acquirer will ask to trace a sample of lines back to signed terms.

Once contracts involve bundles, usage fees or multi-year terms, spreadsheets start to strain. That's usually the point to move the schedule into your billing or accounting software, or hand the monthly close to an outsourced bookkeeping team that runs this process every month.

Quick reference: SaaS revenue situations at a glance

SituationWhat ASC 606 generally requiresCommon mistake
Annual or monthly prepaymentRecord as deferred revenue; recognize evenly over the service periodBooking the full payment as revenue when cash arrives
Setup / implementation feeUsually deferred and recognized with the subscriptionRecognizing the whole fee on day one
Mid-term upgrade or downgradeTreat as a contract modification, usually accounted for going forwardLeaving the old schedule running unchanged
Multi-year prepaymentAssess whether a significant financing component existsIgnoring it because annual deals didn't need it
Usage or overage feesRecognize in the period the usage occursWaiting for the invoice, even when billed in arrears
Sales commissionsCapitalize and amortize over the expected benefit period (ASC 340-40)Expensing every commission as paid
Invoice sent before service startsRecord the liability when paid or due, whichever is firstBooking deferred revenue for every invoice created
Tax on prepaymentsDifferent rules from the books (cash method, or one-year deferral)Assuming tax follows the GAAP schedule

When to bring in help

A single-tier monthly plan rarely needs outside support. The picture changes when you start selling annual and multi-year contracts, charging setup or usage fees, paying commissions, or preparing for your first audit or a priced round. At that stage, a revenue error isn't just a bookkeeping fix. It can change your reported ARR, your margins, and the story you've told investors.

If your deferred revenue balance is a number you can't explain line by line, it's worth having it rebuilt before someone else asks. Our accounting services for SaaS companies cover deferred revenue schedules, ASC 606 reviews, and the month-end close that keeps them current.

Filed underASC 606Deferred RevenueSaaSRevenue RecognitionSaaS AccountingSubscription AccountingBookkeepingUS GAAPSaaS FinanceTax Accounting
Share

Frequently asked questions

Deferred revenue is a liability. It represents service you still owe a customer who has already paid or whose payment is already due. As you deliver each month, the liability goes down and revenue goes up by the same amount. Under ASC 606 it's formally called a contract liability, though most companies still label it deferred revenue.

Any company preparing financial statements under US GAAP has to follow it, and private companies have to adopt it for fiscal years beginning after December 15, 2019. A very early company keeping cash-basis books may not, but lenders, auditors, and institutional investors usually expect GAAP, so it's safest to set up for ASC 606 early.

Yes. Deferred revenue, unearned revenue, and contract liability all describe the same thing: money received or due for service not yet delivered. ASC 606 uses "contract liability," but it lets companies keep other labels on the balance sheet. The accounting is identical, whichever name your chart of accounts uses.

It depends on your tax accounting method. Cash-method taxpayers generally report a prepayment as income when received. Accrual-method taxpayers can often defer part of it, but only by one year: whatever isn't recognized in the year of receipt is taxable the next year. This is common guidance, so confirm your method with your accountant.

Bookings are the value of contracts signed. Billings are the amounts invoiced to customers. Revenue is what you've earned by delivering service, following ASC 606. A $36,000 three-year deal is a $36,000 booking, might be one $36,000 billing, and becomes revenue at $1,000 a month as the service is delivered.

Pooja Prajapati

Written by

Pooja Prajapati

Business Development Executive

Pooja leads business development at NimbleFinCorp, helping firms and businesses find the right bookkeeping and accounting fit for their needs — and running the firm's LinkedIn and Instagram presence.

Nimble Logo

Focus on Growth — Leave the Numbers to Us

Streamline your finances with NimbleFinCorp's expert virtual bookkeeping and accounting services. From startups to global businesses, we manage your books so you can manage your success.