Guide

A customer pays $120k on January 1 for a year of software. The bank jumps $120k. The P&L does not. Under ASC 606 (the US standard for revenue from contracts with customers), you recognize revenue when you transfer control of the service — for SaaS, typically ratably over the subscription as you provide access. January books $10k, not $120k. The rest sits as deferred revenue on the balance sheet.

Concept

Accrual accounting books revenue when earned and expenses when incurred, not when cash moves. A profitable month on the P&L can still drain the bank (you paid annual rent). A loss-making month can still increase cash (customers prepaid). Full treatment lives in cash flow.

Walking through a December close

Close $240k ARR on December 15, invoice net-60, recognize ratably. December bookings look strong. Cash may arrive in February. P&L revenue in December is only about half a month of the contract. The burn dashboard must use the bank balance, not the bookings CRM.

Implications that bite founders:

  • Annual prepay ≠ annual revenue in month one.
  • Multi-year contracts still recognize over time as performance obligations are satisfied.
  • Implementation fees may be recognized over the relationship if they are not distinct, or upfront if they are. Accountants decide; know which way your company leans.
  • Credits, refunds and service-level credits reduce revenue.

You do not need to be a CPA. You need to stop treating the Stripe dashboard as "revenue" in board decks without a footnote.

Cash and the P&L diverge on purpose

Same company, simplified cash view. 70% of bookings are annual upfront. Ending ARR $5M with $4.2M recognized means deferred revenue rose. If billings were ~$5.1M and collections ~$4.9M while opex+COGS cash was ~$7.0M:

Cash opex + COGS           ≈ $7,000,000
Cash collected from cust.  ≈ $4,900,000
Net cash burn from ops     ≈ $2,100,000

P&L loss might be $2.84M while cash burn is $2.1M. The $0.74M gap is mostly timing: deferred revenue growth, non-cash D&A, working capital. Never manage the company off only one number.

Common mistakes

  • Treating Stripe cash as revenue in investor updates.
  • Managing runway off bookings. Bookings are contracts signed. Cash is the bank. Revenue is what accounting recognizes.
  • Ignoring net-60 terms. Enterprise ARR can be "won" months before the wire arrives.

Check yourself

  1. Customer prepays $120k on January 1 for a year. How much January revenue? $10k. The other $110k is deferred revenue.
  2. Why can a loss-making month still grow cash? Customers prepaid. Accrual books the revenue later; the bank already has the money.

Key takeaways

  • ASC 606 spreads SaaS revenue over the service period.
  • Annual prepay spikes cash and deferred revenue; recognized revenue stays smooth.
  • P&L loss and cash burn diverge on purpose. Pair them.
  • Stripe cash is not revenue until you say how it was recognized.

Further learning

The rest of the statement: EBITDA and net income.