Delivery sales are up and profit isn’t. Where is the money going?
Into the gap between the menu price and the cash in the bank. The app reports a sales number and you read it like a dine-in sale. It isn’t one. Between the two sit the promotion you paid for, the app’s fees and the packaging.
The books often make it worse. I’ve seen the same promotion counted twice: once as a discount inside the till system’s sales, once as an expense from the platform statement. The P&L looked worse than the business was.
What should an app order earn, what does it actually earn, and where does the gap go?
On paper, an app order should earn:
- the menu price
- less the promotion you agreed to run
- less the app’s commission
- less the packaging
- less the food cost from the recipe
In the books, it actually earns:
- gross sales by channel, as the till splits them
- less the discounts and promotions that ran
- less the fees and refunds the app charged
- less the packaging bought
- less the food that went out
Count each promotion once, as a discount or as a fee, never both. Put the two side by side, channel by channel, month by month.
The gap between the two is your theoretical vs actual gross margin, and it’s the report I like the most. Everything you planned is on both sides, so what’s left is what the P&L hides: waste, theft, vendor pricing errors, refunds you didn’t expect. One month alone can mislead; the trend tells you where the money is. Keep it simple. In one restaurant group the portions weren’t respected, and some vendors delivered less than we ordered and invoiced more. We ran that report monthly; for a while, weekly. Tighter portions, regular stock counts, a check on every delivery, and the margin came back within a couple of months.
The report isn’t only for restaurants. A direct-to-consumer brand selling on its own site and on the marketplaces has the same gap, and the same report finds it.
| Should earn | Actually earns | |
|---|---|---|
| Menu price | 100 | 100 |
| Promotion | −20 | −24 |
| App commission, 25% of what the customer paid | −20 | −19 |
| Fees and refunds | 0 | −3 |
| Packaging | −3 | −4 |
| Food | −30 | −35 |
| Left for the restaurant | 27 | 15 |
The gap is AED 12 an order. At 2,000 app orders a month, that’s AED 24,000 between the plan and the result, and the P&L shows it only as a thinner margin. The table shows where it went: a promotion beyond the one you agreed to run, fees and refunds nobody planned, and food beyond the recipe.
So do I cut the apps, raise app prices, or push my own ordering?
Usually some of each. Once you see the margin by channel:
- The promotions stop running on autopilot. Margins are hard to win back once they shrink. Keep the promotions that bring new customers, and drop the ones that give margin to people who would have ordered anyway.
- Prices per channel get set on purpose: the bundles and price points that lift how much you net on each customer’s spend, without losing orders. More value for the customer, more money for the business. That is where we optimise.
- Your own ordering channel gets pushed, because the same order is worth more there.
Sometimes a channel loses money on every order and is still worth keeping for the new customers it brings. Keep it, as long as you know that’s what you’re paying for.
