Latka logo
By Nathan LatkaFinance & Fintech9 min read

A SaaS company has five revenue numbers, and finance is choosing which one to run on

GetLatka's database has Atlassian at $1.2B for March 2019 and $250M for June 2020. Neither row is wrong — and the gap between numbers like those is the whole job of SaaS finance.

On this page
  1. Five numbers, one business
  2. Cash arrives once, revenue arrives twelve times
  3. The cost is spent now and earned back over years
  4. What a downturn takes, and in what order
  5. The number you publish is a choice

GetLatka’s database has Atlassian at $1.2B of revenue for 31 March 2019 and at $250M for 1 June 2020. The same table has the company at $3.535B for 31 December 2023 and $4.359B for 31 December 2024, so nothing collapsed in between, and the $250M row is not a typo. It is a different measure of the same company, filed under the same word.

That is the condition every software finance function works in. “Revenue” in a SaaS business names at least five quantities — what was signed, what was invoiced, what was earned, what is running, and what reached the bank — and on any given Tuesday they are five different numbers. Sales quotes the first. The bank statement quotes the last. The accountant is only allowed to quote the third. The board asks for the fourth.

The disagreement is the job. Running finance inside a SaaS company is not computing the metrics — those are arithmetic, and every one of them has a page of its own. It is deciding which of the five numbers the business is managed to, and knowing exactly what the other four are doing while you manage to it.

Five numbers, one business

They are not competing estimates of one true figure. Each is a correct answer to a different question, and each one moves at a different time.

  • Bookings — contract value signed this period. Moves first, feels like revenue, and is the one number a customer can still walk away from before a single invoice goes out.
  • Billings — what you actually invoiced. This is the number that becomes cash, and its timing is a pricing decision rather than an accounting one: monthly, annual, or annual with a discount for paying up front.
  • Recognized revenue — the slice of those contracts you earned this month by delivering the service. The only one an auditor will sign.
  • ARR, or the run rate — this month’s recurring business multiplied out to a year. A claim about the future written in the present tense, which is why how you compute it decides how big it is.
  • Cash — the balance in the account, which cares about none of the above and pays the salaries anyway.

Only the third of those ever appears on an income statement. Only the fifth covers payroll. Everything difficult about software finance lives in the distance between them.

Cash arrives once, revenue arrives twelve times

Sign a customer to a $120K annual contract on 1 January and take the money up front, and the bank gets $120K that day. The P&L gets $10K. The other $110K is deferred revenue, which sits on the balance sheet as a liability, because it is not money you have earned — it is service you now owe.

$120K collected in month one = $10K recognized revenue + $110K deferred revenueDeferred revenue is a liability: service owed, not profit banked.

The consequence is an asymmetry that catches people in both directions. Cash flatters the P&L on the way up, and the P&L flatters cash on the way down. A company selling hard into a good year collects money for service it will spend the next twelve months delivering, so the bank balance looks like a business further along than the one that exists. When selling stops, the deferred balance keeps releasing into revenue for a year while no new cash replaces it, and the income statement stays reassuring long after the bank has stopped being reassured.

Which is exactly why a single dated figure can be unreadable from outside. GetLatka has Odoo at $13.6M for December 2017 and then at $44M dated 1 January 2018, a figure the database flags as an estimate. No company triples in a month, and the estimate sits closer to Odoo’s December 2019 row of $47.5M than to the December 2017 one it follows. The rows on either side of it — $83.1M for December 2020, $160M recorded 29 July 2021, $300M for December 2022, $432M for 28 December 2023 — behave like annual figures again. Nothing in a revenue row says which of the five numbers it is.

The cost is spent now and earned back over years

The second structural fact is the mirror of the first. Everything you spend to win a customer — the rep, the ad, the onboarding, the discount — lands in the quarter you spend it. The revenue that spending buys arrives over the years the customer stays. So a SaaS company doing everything right posts a loss with the same shape as a company doing everything wrong, and the income statement alone cannot tell you which one you are looking at. That is not a reporting flaw; it is what growth looks like when acquisition cost is expensed immediately and collected slowly.

Three tests separate the healthy version from the other one, and none of them is on the P&L.

Payback on new cohorts

How many months of gross margin it takes a single quarter’s new customers to repay what they cost to win — measured on that cohort, never blended with the back book, which pays everything back instantly and hides everything.

Spend against bookings, not revenue

Sales and marketing buys new business, so it should be sized against new business. Measured against total revenue it looks disciplined for exactly as long as the existing book is large, which is until it isn’t.

Cohorts that grow after payback

Whether last year’s customers spend more this year than last. If they do, the return on that acquisition cost keeps compounding after the payback date; if they don’t, payback is the whole story and it had better be fast.

Watch what the headline ratios do instead. OmniSend’s rows put 81 people against $19.1M of revenue five days apart in December 2020, then 216 people recorded 1 October 2024 against $50M recorded 1 September 2024 — headcount and revenue both multiplied by about 2.6 over those four years. Zapier moved the opposite way: 110 people and $14.4M, both recorded 26 September 2017, against 1,146 people and $310M, both recorded 13 October 2024. (A separate Zapier headcount row dated 13 September 2024 says 736, which is its own lesson about one column holding many measures.)

$236Krevenue per head, OmniSend rows dated December 2020
$231Krevenue per head, OmniSend rows dated September and October 2024
$131Krevenue per head, Zapier rows dated 26 September 2017
$271Krevenue per head, Zapier rows dated 13 October 2024

One ratio held flat while the business grew 2.6 times; the other roughly doubled. Neither answers the question finance actually has to answer, which is whether the people added between the two rows were paid for out of revenue already earned or out of cash collected against contracts not yet delivered. Both look identical from here, and only one of them survives a bad quarter of selling. OmniSend’s profile carries the underlying rows and their dates.

What a downturn takes, and in what order

The five numbers do not fall together. They fall in sequence, and the sequence is long enough that a company can be well into trouble while its most-quoted line is still rising.

  1. Bookings, within weeks. New business is the only line a customer can stop without cancelling anything. Deals slip a quarter, then slip again.
  2. Billings, at each anniversary. An annual contract only gets re-invoiced once a year, so a renewal problem that began in March shows up in the billings line across the following twelve months, one contract at a time — often as a shorter term or a smaller seat count rather than a cancellation.
  3. Cash, months later. The prepaid balance keeps paying salaries until it stops being replenished. A company can bank an excellent quarter of cash after its last good quarter of selling.
  4. Recognized revenue, last. It is still releasing the deferred balance the good year built. The P&L is the final place a downturn appears and the first place everybody looks.

Hopin’s rows show what that looks like when the line being quoted is the fast one. The database has $400K for 1 February 2020, $1.485M for 21 June 2020, $20M for 10 November 2020, $70M recorded 4 March 2021 and $100M recorded 5 August 2021 — then $100M again on 21 November 2021, four months later, unchanged. After that, $74.9M recorded 21 November 2022, and $52.3M dated 21 November 2023, which the database flags as an estimate.

Hopin revenueDated revenue rows in the GetLatka database, February 2020 to November 2023. Lighter bars are estimates.
Hopin revenue by year: Feb 2020 $400K, Jun 2020 $1.485M, Nov 2020 $20M, Mar 2021 $70M, Aug 2021 $100M, Nov 2022 $74.9M, Nov 2023 (est.) $52.3M$400KFeb 2020$1.485MJun 2020$20MNov 2020$70MMar 2021$100MAug 2021$74.9MNov 2022$52.3MNov 2023 est.

Nothing in those rows says which number they are, but a line that moves 250-fold in eighteen months and then reverses is behaving like a run rate, not like recognized annual revenue — a recognized-revenue line for 2022 would still have been releasing what 2021 pre-sold. And the first signal in the series is not the fall. It is the pair of identical $100M rows in August and November 2021: the moment a run rate stops moving is the moment new bookings stopped, roughly a year before an income statement would have said so. Through a turn the honest instrument is the cash line and the burn against it, because it is the only one of the five with nothing deferred inside it.

Which number gets said out loud

The number you publish is a choice

Every figure above carries a date because a SaaS revenue number without one is not a fact. Rock Content runs $3M recorded 11 June 2018, $13M for 1 December 2019, $24M recorded 12 August 2020. Then two model estimates, both flagged as estimates in the database and both produced by bulk runs rather than by anything the company said: $65.9M dated 1 December 2023, and $98.9M dated 17 October 2024. Then a real row — $116.3M recorded 30 November 2024.

Six weeks separate the model’s $98.9M from the recorded $116.3M, and the $17.4M between them is what an outsider’s best guess is worth against a figure the company actually stated. Inside the company that spread runs five ways at once, every day, between five numbers all honestly called revenue. Before asking whether a software business is healthy, ask which of its five revenue numbers you are holding, and what date is printed on it.

SourcesCompany figures are dated rows from the GetLatka database, quoted with the date each carries: Atlassian (31 March 2019 through 31 December 2024), Odoo (December 2017 through 28 December 2023, with the $44M figure dated 1 January 2018 flagged there as an estimate), OmniSend (December 2020 and September–October 2024), Zapier (26 September 2017 and 13 October 2024, with a conflicting headcount row dated 13 September 2024), Hopin (1 February 2020 through 21 November 2023, the November 2023 figure flagged as an estimate), Rock Content (11 June 2018 through 30 November 2024, the December 2023 and 17 October 2024 figures flagged as estimates from bulk model runs). Revenue-per-head figures are arithmetic on the dated revenue and headcount rows named beside them.

Get the real numbers behind SaaS

CEO-confirmed revenue, growth, and valuation data for thousands of private SaaS companies.

Create Your Free Account →