Unit economics and finance
Revenue recognition
SaaS revenue is earned as you deliver access, not when the invoice is paid. Annual prepays become deferred revenue.
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,000P&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
- Customer prepays $120k on January 1 for a year. How much January revenue? $10k. The other $110k is deferred revenue.
- 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.
Related
The P&L for startups
Reading and building an income statement — revenue recognition, COGS, S&M / R&D / G&A, EBITDA and net income — with a worked $5M ARR SaaS example.
Cash flow and the three statements
Why profit ≠ cash, how the balance sheet and cash flow statement work, deferred revenue from annual prepay, and how the three statements link.
Income statement lines
Revenue minus COGS is gross profit. Minus S&M, R&D and G&A is operating income. Headcount dominates the opex lines.