Aggregator orders look like growth. Whether they are profit depends on numbers most operators never separate out — and by the time the payout lands, the detail that would let you check has usually gone.
Jahez, HungerStation, Talabat, Deliveroo, Careem and the rest have changed how food is sold across the GCC. For many restaurants and cloud kitchens they now represent the majority of orders.
They also take a substantial cut, and the way that cut is structured makes it easy to misread performance. This piece sets out what actually gets deducted and how to see net margin by platform rather than guessing at it.
What comes off the top
Four deductions, applied in sequence, each with its own logic.
Commission
The headline number, typically a percentage of order value. It varies by platform, by contract, and often by whether you use their delivery fleet or your own. Restaurants with negotiated rates can sit meaningfully below list.
Promotional contribution
The one that catches people out. When a platform runs a discount campaign, the cost is usually split between the platform and the merchant on terms specific to that campaign. Operators who signed up to several promotions and never modelled the split are frequently surprised by the cumulative effect.
Cancellations and refunds
Orders cancelled after preparation, refunded for quality complaints, or rejected on delivery. Depending on the platform and the reason, the cost may sit with you, with them, or be split.
Delivery and rider fees
Where you use the platform's fleet, charged per order or bundled into commission. Where you deliver yourself, you carry the cost directly instead — which is not automatically cheaper once you account for riders, vehicles and idle time.
Why gross order value misleads
A platform dashboard showing SAR 400,000 of orders last month is reporting gross. What reached your account might be SAR 250,000, and the difference is not evenly distributed — it varies by platform, by campaign period, and by menu item.
The pattern we see most often. A business grows aggregator volume, sees revenue rise, and concludes the channel is working. Reconciled properly, the highest-volume platform turns out to be the least profitable, and certain menu items are loss-making once commission and promotional share are applied. The items were priced for dine-in and never repriced for delivery.
What to reconcile, and against what
| Reconcile | Against | What it tells you |
|---|---|---|
| Orders received | Orders in your POS or ERP | Whether every platform order actually reached your kitchen system. Gaps here mean unrecorded revenue. |
| Payout received | Orders in the payout period | Whether the platform paid you for everything they should have. |
| Commission charged | Contracted rate | Rate errors happen. Nobody catches them if commission is never checked against contract. |
| Promotional deductions | Campaigns you agreed to | Whether the split matches what was agreed, and whether the campaign was worth running. |
| Cancellations | Your own records | Which side bore the cost, and whether the pattern suggests an operational problem. |
Structuring it in Odoo
Post commission as a cost, not a netting
Record gross order value as revenue and commission as its own expense line. Netting it off makes margin look better and destroys any ability to compare platforms or negotiate rates.
Use analytic dimensions for platform, outlet and brand
This is what makes the reporting work. Every order tagged with its platform, its outlet and — for cloud kitchen operators running several brands from one location — its brand. Net margin by any combination then becomes a report rather than a spreadsheet exercise.
Separate promotional contribution
Its own account, so campaign cost is visible and you can judge whether a promotion earned its place.
Reconcile each payout
Match the platform's settlement report to the orders behind it. Discrepancies are common enough to be worth catching, and the platforms generally correct them when raised with evidence.
On multi-brand cloud kitchens. If one kitchen produces for four brands across three platforms, and everything posts to a single revenue account, you have twelve combinations you cannot see. Analytic structure is not optional in that model — it is the only way to know which brand is worth continuing.
What operators typically do with the answer
- Reprice for delivery. Menu prices set for dine-in rarely survive a 25% commission. Many operators run a separate delivery price list.
- Rationalise the menu. Items that work in-store and lose money on delivery come off the aggregator menu rather than off the menu entirely.
- Push direct ordering. Once the true cost of aggregator volume is visible, investing in a direct channel starts to look different.
- Renegotiate. Hard to argue for a better rate without knowing precisely what the current one is costing.
Where to start
- Get your last three payout reports from each platform.
- Reconcile one period fully, by hand if necessary, to see the shape of it.
- Set up analytic dimensions for platform, outlet and brand.
- Move commission and promotional contribution to their own accounts.
- Automate the payout matching so it becomes a weekly review.
The connection work sits within our integrations and reconciliation service, which covers Jahez, HungerStation, Talabat, Deliveroo and the regional platforms.
Know your net margin by platform?
Thirty minutes to look at what your aggregators are actually costing and what it would take to see it clearly.
Book a discovery call