Quick answer
Pricing a delivery menu without losing money is not about copying your dine-in prices: you have to add a 10-20% markup that absorbs the platform commission, the VAT on that commission and packaging. The correct method is to start from the margin in money you make dine-in and raise the price until, after every channel cost, that margin survives. A flat percentage applied across the whole menu is the fastest way to lose money on half your dishes.
Why dine-in prices don't work on delivery
A dine-in price is built to cover food cost, staff, rent and profit. Delivery adds three new costs that don't exist in the dining room:
- the platform commission (15-35% depending on the package);
- the VAT on the commission (22% in Italy, varying by country), which hits cash flow even when partly recoverable;
- the packaging (boxes, cutlery, bags), running 3-6% of the order.
Sell on the app at your dine-in price and these costs come straight out of your margin. On a dish with a 35% food cost, commission alone can wipe out the profit. That's why delivery isn't "the same menu on another channel" — it's a separate P&L.
The formula: start from margin, not price
The classic mistake is "I'll just add 15% and move on." That works only by accident. The correct approach is to protect the margin in money.
For a single dish, define:
Pv= gross selling price (VAT included)c= platform commission (e.g. 0.30)vat_c= VAT on the commission (0.22)FC= food cost in moneyPkg= packaging in money
The net delivery margin is:
Margin = Pv - (Pv × c) - (Pv × c × vat_c) - FC - Pkg
To find the price that delivers a target margin M, isolate Pv:
Pv = (M + FC + Pkg) / (1 - c - c × vat_c)
The denominator 1 - c - c×vat_c is the share of the price you keep after paying the platform. With 30% commission and 22% VAT it equals 1 - 0.30 - 0.066 = 0.634: of every gross euro you take in, you keep 63.4 cents before even removing food and packaging.
A full worked example
Take a poke bowl you sell dine-in at €12, with a food cost of €3.60 (30%). Dine-in, the gross margin is about €8.40.
For delivery we want to keep that same €8.40 margin, with 30% commission, 22% VAT on commission and €0.70 packaging.
Pv = (8.40 + 3.60 + 0.70) / (1 - 0.30 - 0.066)
Pv = 12.70 / 0.634
Pv = €20.03
To keep the full margin you'd have to sell the bowl at around €20 — a price off the market. The correct reading isn't "raise it to 20"; it's that this dish can't hold the full margin on delivery. The realistic choice is to accept a reduced margin. Here's what a +15% markup (app price €13.80) looks like:
| Line | Amount | |---|---| | Customer gross price | €13.80 | | − Commission 30% | −€4.14 | | − VAT 22% on commission | −€0.91 | | − Food cost | −€3.60 | | − Packaging | −€0.70 | | Remaining margin | €4.45 |
At +15% the margin drops from €8.40 to €4.45: delivery stays viable but has to be run on volume. To test each setup fast, use the dish margin calculator and cross-check it with the delivery commission calculator.
How much to mark up: the reference table
The right markup depends on the commission and on each dish's food cost. The higher the food cost, the higher the markup must go (or the dish gets dropped). Indicative bands to keep an acceptable margin at 30% commission:
| Dish food cost | Suggested markup over dine-in | Notes | |---|---|---| | 20-25% | +10-12% | Ideal delivery dishes, solid margin | | 26-32% | +13-18% | Most dishes, holds up well | | 33-38% | +18-25% | Thin margin, judge case by case | | over 38% | drop or rework the recipe | Hard not to lose money |
The markup percentage is a starting tool. The truth always lies in the margin in money after every channel cost, not in the headline percentage.
Build a delivery menu, don't clone the dining room
Price is only half the job; the other half is choosing what goes on the app. A good delivery menu:
- Favours low-food-cost dishes (pasta, bowls, gourmet sandwiches) that absorb commission better.
- Drops fragile dishes: fried food that arrives soggy, dishes that cool badly — they generate refunds and bad reviews that cost more than commission.
- Pushes pairings and minimum orders: a higher average order spreads packaging and fixed costs across more value.
- Uses dedicated formats: a "box for two" at a bundle price carries a markup better than a single dish, because the customer perceives value and doesn't compare the unit price with dine-in.
Packaging and minimum order: the two forgotten levers
Packaging is a variable cost that grows with the number of orders, not their value. On a €12 order, €0.70 of packaging is 5.8%; the same packaging on a €30 order is 2.3%. Raising the minimum order is therefore one of the most effective, painless levers: it dilutes both packaging and the perceived weight of delivery.
Rule of thumb: set the minimum order at a level that keeps packaging under 3% and justifies the rider's trip. Below €12-15 many delivery orders are marginal or loss-making.
Common mistakes
- Applying one markup to the whole menu: some dishes hold up, others lose money. You need a dish-by-dish calculation.
- Marking up on cost instead of margin: the goal is to protect margin in money, not to add a random percentage.
- Forgetting VAT on the commission: a "flat" 30% becomes nearly 37% effective once you add the 22% VAT.
- Leaving packaging out of the price: it's a certain cost, it belongs in the formula like food cost.
- Breaking price-parity clauses: read the contract before showing higher prices on the app.
- Never revisiting prices: commissions and food costs change. A delivery menu should be reviewed at least every season.
Related resources
- Dish margin calculator — check the real margin of every dish on delivery
- Delivery commission calculator — what you keep after commission and VAT, order by order