Bookings, Billings, Revenue, Cash: Four Numbers That Describe One Sale
When a founder tells me “we did $400k in December”, my first question is which number they mean. A single customer contract produces four different figures — bookings, billings, revenue and cash — on four different dates, recorded in four different systems. Each one is correct. Mixing them up is how a company ends up telling its board one story, its bank account another, and its auditor a third.
Most early-stage founders carry one number in their head for “sales”, and that number shifts depending on who is asking. To the team it is the contract that was signed last week. To an investor it is ARR. To the accountant it is whatever the ledger shows. To the founder lying awake at night it is what arrived in the bank. None of these is wrong, and none of them is the same. The problem is not that the numbers differ; it is that nobody in the company has written down how they connect.
This post walks one contract through all four numbers, explains why the gaps between them are deliberate rather than errors, and ends with the short monthly bridge I set up in the first weeks of almost every finance engagement. It is a practitioner's view of the mechanics, not accounting advice; the recognition rules themselves come from IFRS 15 or ASC 606, and your accountant should own how they apply to your contracts.
One contract, four numbers
Take a simple B2B software deal. On 20 December a customer signs a one-year subscription at $120,000, starting 1 January, invoiced annually in advance on net-30 terms. The customer pays on 25 January.
Bookings is the value of the commitment, recorded when the contract is signed: $120,000 in December. It is a sales number. It tells you how well the commercial team did and how much future revenue is now under contract. It says nothing about whether the customer has received anything yet, or paid anything yet.
Billings is what you invoiced: $120,000 on 1 January. It is an operational number, driven entirely by the payment terms in the contract. Had the same customer agreed to monthly billing, billings would be $10,000 a month for twelve months, and the bookings figure would be unchanged.
Revenue is what you have earned by delivering the service: $10,000 in January, $10,000 in February, and so on through December. It is the accounting number, and it follows delivery rather than signature or invoice. The December signing produces no revenue at all in December.
Cash is what reached the bank: $120,000 on 25 January. If the customer pays late, it lands in February or March, and nothing else on this list moves.
The difference between what you have billed and what you have earned sits on the balance sheet as deferred revenue. At the end of January it is $110,000 — the eleven months you owe the customer. Each month it falls by $10,000 as revenue is recognised, until it reaches zero in December, which is usually when the renewal conversation is happening. One contract, one customer, and by the end of January the company has four honest answers to the question “how much did we sell?”: $120,000, $120,000, $10,000 and $120,000, each on a different date.
Bookings tell you what was promised, billings what was asked for, revenue what was earned and cash what was received. A company needs all four, and it needs to know which one it is quoting.
Where each number lives
Part of the confusion is structural: the four numbers are usually produced by four different systems. Bookings live in the CRM, where a deal is marked closed-won. Billings live in the billing or invoicing tool. Revenue lives in the accounting ledger, if someone has set up the recognition schedule. Cash lives in the bank feed. In a company with no finance function, each of those systems is maintained by a different person, on a different timetable, with a different idea of what a “customer” is.
That is why I argued in the post on the data layer that the contract, not the dashboard, has to be the unit of record. If every contract carries an ID that appears in the CRM, on the invoice and in the ledger, the four numbers can be tied together line by line. If it does not, they can only be compared in total, and a total that does not reconcile tells you something is wrong without telling you where.
Billing terms are a financing decision
The gap between billings and revenue is not an accounting curiosity. It is one of the cheapest sources of financing an early-stage company has. A customer who prepays a year in advance is, in effect, lending you eleven months of their subscription at zero interest. Sign ten of those contracts and you are carrying more than a million dollars of customer money that you have not yet earned — and can spend on the people who will deliver it.
This is why the billing terms deserve the same attention as the price. A company that offers a 10% to 15% discount for annual prepayment is buying cash, and it should know what it is paying for it. If the alternative is raising money at a dilutive valuation, or drawing on venture debt, an annual-prepay discount is often the cheapest capital available. If the company is already well funded, the same discount may simply be giving away margin. Either way it is a decision about the cost of capital, and it belongs in the runway model — the subject of runway is a model, not a number — not just in the sales playbook.
The other side of the trade is that deferred revenue is a liability, and it is a real one. It is money you owe in the form of future service. If a prepaid customer churns early, asks for a refund, or turns out to have a termination-for-convenience clause, the cash you spent was never fully yours. A healthy deferred revenue balance is good news; a deferred revenue balance the company has already spent twice over, against a team it cannot otherwise afford, is a funding gap waiting for a renewal season to expose it.
The traps
The first and most common trap is quoting bookings as if they were revenue. A founder closes a strong December, writes “$400k in Q4” in the investor update, and three months later the board pack shows $90k of revenue for the quarter. Nothing was hidden; two different numbers were used in two different documents. But an investor who catches it once will reread every number you send them. The fix is simple and is covered in the post on investor updates: label every figure, and use the same label every month.
The second is total contract value inflation. A three-year deal at $120,000 a year has a total contract value of $360,000 and an annual contract value of $120,000. Reporting the $360,000 as a booking is not false, but it is rarely what the reader assumes, and it makes a company that sells multi-year deals look three times better than one that sells annual ones. Multi-year contracts are frequently cancellable or repriced at each anniversary anyway. Report ACV by default, TCV only when asked, and say which is which.
The third is counting ARR before it starts. A contract signed in December that begins in March is contracted ARR, not live ARR, and a company with a long gap between signature and go-live — enterprise software, anything with an implementation phase — can carry a meaningful difference between the two. Both are useful. Only one of them is paying for anything yet.
The fourth is the gap between billings and cash. An invoice is not money. Days sales outstanding — roughly, how many days of billings are sitting unpaid — creeps upward quietly at startups because nobody owns collections. A company that bills on time and collects in ninety days instead of thirty has effectively lent its customers two months of runway, and it will find out in the bank balance before it finds out in the reports. Someone needs to look at the aged receivables list every week; the minimum viable control environment puts that review on the same calendar as the bank reconciliation.
The fifth is usage-based and hybrid pricing, where the four numbers drift furthest apart. A customer on a committed minimum with overage billed in arrears produces a booking for the commitment, billings that vary month to month, revenue that may be recognised partly on a straight line and partly on usage, and cash that arrives a month or two after the usage happened. This is not a reason to avoid usage pricing. It is a reason to decide how each component is treated before the first invoice goes out, not during the first audit.
What an investor will reconstruct
At a priced round, a diligence team will rebuild your revenue from the contracts up. They will take a sample of customers, pull the signed agreements, compare them to the invoices and to the bank receipts, and check that revenue was recognised over the service period rather than on signature. They will compare the ARR in your deck to the ARR implied by the contracts, and they will ask for a bridge that explains the difference. The data room post, what investors actually check in a data room, covers the broader exercise; the revenue tie-out is usually the part that takes longest.
None of this is adversarial. A buyer of shares wants to know that the revenue line is earned, recurring and collectable, and the only way to know is to trace it. A company that already keeps the bridge can hand it over in an afternoon. A company that does not will build it under a no-shop clock, with an investor watching, and will usually find a few contracts where the CRM, the invoice and the ledger disagree.
Once a month, as part of the close, put the four numbers on one page, contract by contract. Start with opening deferred revenue, add the month's billings, subtract the revenue recognised, and check that the result equals closing deferred revenue in the ledger. Then start with opening receivables, add billings, subtract cash collected, and check that the result equals the aged receivables list. Finally, list every contract booked in the month and confirm it has a start date, a billing schedule and a revenue schedule. If all three checks tie, the four numbers are telling the same story. If one does not, you have found the problem in the month it happened, not the year after.
Which number to run the company on
Founders sometimes ask which of the four is the “real” one. The honest answer is that each one answers a different question, and a company needs all four questions answered. Bookings tell you whether the commercial engine is working and are the leading indicator for everything else. Revenue tells you the size of the business in a way that is comparable across companies, which is why investors value on it. Billings and cash tell you whether you will be able to pay people next quarter.
In practice I suggest a simple division of labour. Run the sales team on bookings, measured as ACV and labelled as such. Report the business to the board on revenue and ARR, with live and contracted ARR shown separately. Run the runway model on billings and expected collections, with a realistic assumption about how late customers pay. And reconcile all four once a month, as part of the five-day close, so that the bridge between them is never more than thirty days stale.
The goal is not more metrics. It is that when someone asks “how much did we sell?”, everyone in the room — founder, head of sales, investor, accountant — knows which number is being quoted, and can get from it to the other three without a meeting.
If your CRM, billing tool and ledger have each been telling a slightly different story, I am glad to help set up the contract register and the monthly bridge, and to walk your next board pack through it before it goes out.