Bookings vs revenue: what you sold, what you earned, and what hit the bank
Bookings measure commitments, revenue measures delivery, and cash measures timing. The differences explained with one annual contract, plus where MRR and ARR fit in the picture.
By Pedro Campos

A customer signs a $24,000 two-year contract today and pays the first year up front. What did your business just make?
Depending on which number you mean, the honest answers are $24,000, $12,000, $1,000, and $0. All four are correct, they describe the same deal, and the confusion between them is responsible for more bad SaaS dashboards, and more awkward diligence meetings, than any other definitional problem in the category. Here is each number, what it is for, and how they fit together.
The two headliners
Bookings
What did customers commit to paying us?
sum of contract values signed in the period- What moves it
- Sales closing deals. A two-year contract signed today is booked today, in full.
- Who asks for it
- Sales leadership. It measures selling, not delivering.
Revenue
What have we earned by delivering?
value of service actually delivered in the period (recognized)- What moves it
- Time and delivery. That two-year contract earns 1/24th of its value per month.
- Who asks for it
- Accountants and auditors. The number in your financial statements.
Bookings is a sales number. The moment the contract is signed, the full committed value is booked: $24,000, today. It measures selling performance and nothing else, which is exactly why sales teams love it and auditors ignore it.
Revenue (recognized revenue, to accountants) is an accounting number. You earn it by delivering the service, ratably: $1,000 per month over the 24-month term. Under ASC 606 this is not a stylistic choice, it is how SaaS revenue must be reported, because the up-front payment is for service you have not delivered yet.
The full cast, one contract
The same $24,000 deal, first year paid up front, viewed through every lens:
| Number | Value today | When it moves |
|---|---|---|
| Bookings | $24,000 | At signature |
| Cash collected | $12,000 | When the payment lands |
| Deferred revenue | $12,000 | The paid-but-not-yet-delivered balance, shrinking monthly |
| Recognized revenue | $1,000/month | As each month of service is delivered |
| MRR | $1,000 | From the subscription start, as a run rate |
| ARR | $12,000 | MRR × 12, same fact in annual units |
Deferred revenue is the bridge between cash and revenue: you hold the customer's money for service you still owe them, and it is a liability on the balance sheet, which surprises founders the first time. As you deliver, deferred revenue converts into recognized revenue, $1,000 at a time.
Notice what MRR is doing in that table: it is neither bookings nor revenue nor cash. It is a run rate, a statement about what the current book is worth per month going forward, and it moves at subscription start rather than at signature or payment. That is why a movement ledger cannot be derived from your bank account, and your bank account cannot be predicted from MRR alone.
Where each number misleads
Bookings reported as revenue is the classic. A strong quarter of multi-year deals looks like explosive revenue growth until the auditor unwinds it. If a dashboard shows revenue jumping by the size of individual deals, bookings leaked in.
Bookings reported as ARR is subtler and more common: a $24,000 two-year deal is $12,000 of ARR, not $24,000. Multi-year contracts inflate ARR by their term length when this is done wrong, and it is the first thing diligence checks.
Revenue mistaken for health. Recognized revenue is smooth and backward-looking by design: a customer who cancels today keeps recognizing until their paid term ends, so revenue keeps rising for months after the business has started shrinking. MRR is the number that turns down the day the churn happens, which is why operators watch it and accountants do not.
Cash mistaken for anything. Annual up-front billing means cash arrives in lumps that say more about your invoicing calendar than your business. Cash is what you survive on, and its timing deserves its own view; Kometrics draws it as a calendar of what landed and what is expected, day by day:

Which one to quote, when
- Sales performance and quota: bookings. It is the only number that moves when the contract is signed.
- Financial statements, audits, taxes: recognized revenue. Not optional.
- Operating the product: MRR and its movements, because they move in real time.
- Fundraising: ARR for the headline, with bookings growth as supporting evidence if you sell multi-year. Investors will ask how ARR is defined; "MRR times twelve" is the answer that ends the follow-ups.
- Survival planning: cash, always cash.
FAQ
Are bookings and ARR the same thing?
No. Bookings is total contract value at signature, including multi-year terms and sometimes one-time fees. ARR is the annualized run rate of recurring revenue only. A $24,000 two-year deal is $24,000 of bookings and $12,000 of ARR.
What is the difference between billings and bookings?
Bookings is what was committed at signature; billings is what has been invoiced so far. The two-year deal is $24,000 booked, $12,000 billed in year one, then $12,000 billed again at renewal of the payment term.
Why is deferred revenue a liability?
Because it is money received for service not yet delivered: until you deliver, you owe the customer either the service or the money back. Delivering converts the liability into recognized revenue.
Can MRR be higher than recognized revenue?
Yes, routinely, in a growing business: MRR reflects the book as of today, while recognized revenue averages over the period. A big cohort landing late in the month moves MRR immediately and revenue barely. The gap between the two is a decent quick check on growth direction.
Know your revenue. Trust the metrics.
Connect Stripe and get every SaaS metric computed from your real billing history. Free under $1,000 MRR.
Start freeKeep reading

How to connect ProfitWell to Claude Code and ChatGPT
There is no official ProfitWell MCP server. What does work: the ProfitWell API from Claude Code, Paddle's MCP for Paddle Billing, and the gap in ChatGPT.

How to connect ChartMogul to Claude, Claude Code and ChatGPT
ChartMogul has an official remote MCP server. Setup for Claude, Claude Code, ChatGPT and Codex, the prompts it answers well, and the limits to know before you trust it.

Gross churn vs net churn: the leak, and what covers it
Gross MRR churn measures what you lost; net churn subtracts the expansion that covered it. Formulas, a worked example, negative churn, and why quoting only one of them misleads.
