Skip to main content
Codemax

26 August 2026 · Codemax

The Order You Sold Is Not the Revenue You Banked

Delivery platforms report gross orders. Your bank receives something else entirely. Between the two sits commission, promotions, adjustments, refunds and cancellations — and for most operators, nobody reconciles them line by line.

Every delivery-heavy operator has the same two numbers, and they never match. The platform dashboard says the outlet did RM 48,000 in orders last month. The bank statement says a payout arrived that is meaningfully smaller. Somewhere in the gap sit commission, a promotion the platform ran, a handful of refunds, some cancelled orders, an adjustment nobody can explain, and a settlement that spans two calendar months.

Most groups close that gap the same way: they accept it. The payout is booked as revenue, the difference is written to a commission account, and the month closes. It works, in the sense that the books balance. It also means that nobody in the business can say, with evidence, what any delivery channel actually earns.

That is a strange thing not to know about a channel that in many cloud-kitchen and quick-service operations now carries a third to a half of all volume.

Why the gap is bigger than the commission rate

Operators tend to think of platform economics as a single number — the commission percentage in the contract. In practice, the distance between a gross order and banked cash is assembled from at least six separate deductions, and only one of them is fixed.

Commission is the visible piece, and the only one most people budget for.

Promotional funding is the piece that quietly moves. Discounts, free-delivery campaigns, and platform-wide sales are typically part-funded by the merchant. Whether a specific campaign was 50/50, fully platform-funded, or fully yours is a contractual detail that lives in an email thread, not in the accounting system. When several campaigns overlap in one week, the effective discount on a given order is close to unauditable after the fact.

Refunds and customer compensation are issued by the platform, on your behalf, using its judgement rather than yours. Some are legitimate — a missing item, a late delivery. Some are not. Either way they appear as a deduction weeks later, unattached to any operational record you kept.

Cancellations split into two very different cases that the payout report often treats identically: an order cancelled before production, which costs nothing, and one cancelled after the food was made, which cost you full ingredients and labour. Operationally these are opposites. Financially they arrive as the same line.

Adjustments and chargebacks are the residual category. They are usually small individually and material in aggregate, and they are the ones most likely to go unchallenged because tracing a single one costs more staff time than it recovers.

Settlement timing ensures none of this lines up with your month. Orders placed in the last days of a period settle in the next one, so a straight comparison of platform revenue to bank receipts is wrong before the first deduction is even considered.

Add multiple platforms — each with its own report format, payout cadence, and adjustment vocabulary — and you have a reconciliation problem that no reasonable person will do by hand across forty outlets, every month, forever.

What operators lose by not closing it

The cost is not the leakage itself. It is that the leakage is invisible, which makes several important decisions guesswork.

Channel profitability becomes an assumption. If delivery is booked at net payout and dine-in at gross, the two channels are being compared on different bases. Groups regularly discover, when the numbers are finally separated properly, that a channel they were pushing hard is thinner than their own dine-in business — sometimes thin enough that incremental volume was destroying margin rather than building it.

Per-item economics disappear entirely. An item with a healthy dine-in margin can be underwater on delivery once commission, packaging, and a platform promotion are stacked on it. Without item-level reconciliation, the loss is averaged across the menu and never surfaces. The dishes most likely to be promoted are frequently the ones least able to absorb it.

Virtual brands cannot be judged. Multi-brand kitchens run several labels through one production line and one inventory pool. If cost sits with the kitchen and revenue sits with the platform, brand-level profitability is a spreadsheet estimate. Deciding which virtual brand to kill or scale is then a matter of taste rather than evidence.

Unchallenged deductions become permanent. Platforms have dispute windows. A deduction discovered in the following quarter is simply money gone. Recovery is a function of speed, and speed is a function of whether anything is checking automatically.

Food cost variance gets contaminated. A cancelled-after-production order consumed real stock and produced no sale. If those are not recorded operationally, they land in theoretical-versus-actual variance as unexplained loss, and the kitchen gets investigated for a problem created in the ordering channel.

What reconciling properly actually requires

The reconciliation itself is not intellectually hard. It is a matching problem — every order that left the kitchen against every line that reached the bank. What makes it hard in practice is that the two sides of the match usually live in systems that were never introduced to each other.

Closing it needs three things in place.

Order-level capture on your side. RMS integrates with the major aggregators, so orders arrive as operational records against the right brand, outlet, and station — not as a daily sales total typed in the next morning. That per-order record is the only defensible basis for matching a payout line to something you actually produced, and it is what allows a cancellation to be classified by whether the food was made.

Cost attached at the moment of production. Because recipes, sub-recipes, and yields are governed centrally, every order carries its own ingredient cost as it is produced. Margin per order, per item, per brand, and per channel becomes a fact derived from your own production records rather than a monthly average applied backwards.

Payout lines matched, and exceptions raised. Once operational orders and platform settlements sit in the same place, matching is mechanical. The AI-Kitchen Command Center watches the resulting stream against each outlet’s own baseline, so an effective commission rate that drifts, a refund rate that jumps at one location, or a promotion costing more than it was scoped to cost surfaces while the dispute window is still open — not during next quarter’s review.

Because RMS writes to your ERP and accounting systems through audited bi-directional connectors, the reconciled result lands in finance without anyone re-keying it. That matters more than it sounds: a reconciliation process that produces a spreadsheet somebody must then retype is a process that will be skipped in a busy month, which is precisely when it is needed.

Questions worth putting to your own operation

None of this requires new software to investigate. It requires four answers.

  • What is our effective commission rate, by platform and by outlet, last month? Not the contracted rate. The one implied by dividing what was banked by what was ordered.
  • Which ten menu items lose money on delivery? If the answer needs a week of analysis, the analysis is not happening monthly, which means the decisions it should inform are not being made.
  • How many orders were cancelled after production last month, and what did that stock cost? The absence of this number does not mean it is zero.
  • What was the value of platform adjustments we disputed, and what share of the total adjustments did that represent? A dispute rate near zero is not evidence of clean deductions.

The channel deserves the same rigour as the kitchen

Operators apply real discipline to food cost. Recipes are costed, portions are controlled, waste is tracked, supplier prices are checked against invoices. Then the finished product goes out through a channel where the price is discounted by a third party, the revenue is adjusted by a third party, and none of it is verified line by line.

The delivery channel is not going away, and its economics are not going to become simpler. The operators who make it work are not the ones with the best commission deal. They are the ones who can see, per item and per brand, exactly what the channel earns — and who therefore know which orders are worth chasing and which ones they are paying to fulfil.


Find out what your delivery channel actually earns. Book a demo and we’ll walk through order-level reconciliation on RMS against your platforms, your brands, and your menu.