founder

Quality of revenue: same invoice, different asset

The revenue chart cannot tell you which line comes back on its own. Four columns and one yes-or-no mark can, and pen and paper is enough.

By Samer Azar, Fractional CFO · 2026-09-19 · 7 min read

Key Takeaway: McDonald's earns more from rent than from royalties, three years running, by design. Put your own revenue lines through four columns, revenue, margin, days to collect, cash generated, then one mark: would this line show up next year if you did nothing? On an illustrative €2M business the biggest revenue line is the second cash engine, and the only line marked yes is a quarter of the revenue and nearly half the cash. Illustrative.

Dear reader,

McDonald's collected $10.4 billion in rent last year. Royalties on the food came to $6.0 billion.

The table as printed in the FY2025 annual report: rents of 10,442 million dollars against royalties of 6,018 million, and the same order in each of the two prior years.

Their table, not mine. Three years, same order.

Most people hear that as trivia. It is the shape of the whole business.

The landlord side is 1.7 times the burger side, and it has been for three years running. Each restaurant it franchises directly pays about $463,000 a year in rent before a single royalty reaches head office.

Two invoices for the same amount can be completely different assets. One comes back next year on its own. The other you win again from zero. McDonald's has $31.5 billion of the first kind already contracted, and its filing calls that a design.

First, what you told me

I asked who you are again last issue and the shape held: founders and operators, finance leaders, and people here to learn, with no group in the majority. So this issue works twice, once on your own lines and once on a client's.

One click if you have not done it.

Which best describes you?

One click. It tells me who I'm writing for and makes these issues sharper.

One click. It tells me who I'm writing for and makes these issues sharper.

Worth your time this week

Same shape for 10 years

Rent has beaten royalties at McDonald's three years running, 63% of what its franchised restaurants send in.

A decade back, same shape: 1.97 times royalties in 2015, 1.74 times in 2025. The filing's own word for that is "designed".

Even without signed leases the mark works at any size: every business has lines that come back and lines it wins again from zero.

Sears went the other way. It sold 235 of its own stores for $2.7 billion in 2015 and rented them back.

Three years and three months later it filed, and I am not claiming the sale caused that. Buildings it owned became rent it paid, and the revenue chart never moved.

Costco shows the mark from the other side. Membership fees were $5.3 billion last year, half its operating income, and 92.3% of US and Canada members renewed.

A euro that comes back on its own is worth more than a euro you have to win again.

The mark, in one sentence.

3 lines on a €2M business

Last issue I showed you how long the cash is stuck inside a business. This issue: which line produces the cash, and which one you win again every year.

Here is the sheet on an illustrative €2M business, invented so you can check the arithmetic. Down the left, the things you sell.

Across the top: revenue, margin after the direct cost of delivering it, days from invoice to money in the bank (the days the bank saw, not the days the contract says), and cash generated, which is revenue times margin.

Then one mark, a yes or a no rather than a number: would this line show up next year if you did nothing? That mark is the quality of your revenue, and no chart can show it.

Line

Revenue

Margin

Days to collect

Cash generated

Comes back on its own

Big projects

€1,200,000

18%

95

€216,000

No

Retainers

€500,000

52%

5

€260,000

Yes

One-off work

€300,000

30%

45

€90,000

No

Big projects are 60% of revenue and only the second cash engine, at 38% of the cash. Retainers are 25% of revenue, 46% of the cash, and the only line marked yes.

Run yours and one of three things happens:

  1. The lines agree. Your biggest revenue line is your biggest cash engine. Protect it.

  2. A smaller line generates more cash for its size. Feed it, and stop calling it the small one.

  3. One line is taking money out while the chart holds. Reprice it, restructure it or refuse it.

Each needs a decision. Here is the sheet, with an empty tab for yours.

Days before margin, every time

For years I ran those columns in the wrong order, margin first, because margin is what the P&L talks about.

Margin is an opinion: move one shared cost between lines and it changes. Days to collect is a fact of the bank account. Do days first, or you fall in love with the wrong revenue line, and I have.

One more test for every line: could you refuse it? If not, it has stopped being revenue and started being a dependency, whatever the invoice says.

One question you can answer without opening anything: which of your revenue lines would still be there next year if you did nothing?

A bank or a buyer will run these columns on you either way. The only question is who finds out first.

Apply for a strategy session

I walked the whole thing through the filing on camera.

An agent that remembers every call

Files from building the AI CFO. Every client email and meeting, mined into what was agreed, with the source attached.

Every call and every email with a client carries two or three things that matter later: a price that was agreed, a hire that was decided, a date someone promised. Six weeks on, nobody remembers which thread it sat in.

So the AI CFO reads all of it. Across 7 client workspaces it has read about 4,000 emails and meeting transcripts and turned them into claims, each one pinned to the message or the minute it came from.

The rule that made it useful was not the first one I wrote. The first version produced lines like "seven overdue tasks signal delivery risk", which is a dashboard restated with a scary word on it.

The test now is one question: would they otherwise have to remember this, or go digging through a thread? The price rise agreed on a call, and the second one planned for January, passes. A count that already sits on a dashboard does not.

Four captured claims for a demo company, each with a type, a title and the number of sources attached: a margin dip and its cause, a fee reset, a cash-timing gap, a pricing decision.

What it captured for a demo company from two calls and five emails. Demo data, not a client.

The part I would not skip: it never merges two facts on its own unless they are word for word the same. Anything ambiguous goes to a queue where a human approves or dismisses, and a merge never deletes.

A duplicate costs two seconds. A wrongly merged fact is invisible, and you find out in front of the client.

Steal it:

If you know a finance lead who sits through ten client calls a week, forward them this.