Different prices are possible, but only with their own logic
Online orders and dining in do not have to carry the same price. I price them differently when my workload, net revenue or risk genuinely changes by sales channel and I can explain that change in numbers. What matters is not a reflex like “online should be cheaper” or “online must be more expensive,” but one practical question: what is left per item sold after food cost, packaging, platform charges, added production effort and the actual service provided are all considered? If both channels end up with almost the same contribution margin, I usually keep prices aligned. If the gap is clear, I define it consistently in our setup and explain it to the team, instead of renegotiating every complaint at the counter.
A simple hypothetical example from my operation makes this concrete. The same pasta may cost €14.90 in the restaurant, but not automatically the same amount for online pickup. In the dining room I am also paying for crockery, front-of-house time, cleaning and the guest’s seat. Online, some of that drops away, but I may add packaging, a possible marketplace deduction, heavier rush pressure at handover and a different complaint risk if the dish travels badly. That is why I never start with the final selling price. I start with the channel calculation per portion. Only when I know which costs really disappear and which costs are newly created do I decide whether online may be cheaper, equal or higher. That difference between a feeling price and a channel price avoids later arguments.
I compare net revenue per channel, not just two gross prices
The most common mistake is placing two gross prices next to each other and thinking the job is done. I always calculate on one consistent basis, ideally net, because only then do food cost percentages and contribution margins stay comparable. In Germany, as of 30 September 2026, restaurant and catering services relating to food have again been subject to 7% VAT since 1 January 2026, while drinks are excluded from that relief and generally remain at 19%. That follows from the Federal Ministry of Finance guidance of 22 December 2025 and the German VAT Act, especially section 12; see the BMF guidance and the German VAT Act.
For the actual maths I keep it plain: net at 7% is gross divided by 1.07, and net at 19% is gross divided by 1.19. So €14.90 gross becomes about €13.93 net at 7%. On that basis I subtract food cost and all channel-specific costs. One point matters here: the correct tax treatment depends on the exact product and transaction and still has to be checked properly; no POS or ordering system makes a VAT rate legally correct just because it prints an invoice. Especially with mixed offers, meal bundles or combinations of food and beverages online, I clarify the setup with accounting or tax advice instead of carrying old assumptions into a new channel. A wrong tax basis can make a seemingly healthy margin look better than it really is.
How the ideas connect
The opening sections of this article, shown together.
How do I fairly calculate the price difference between online orders and on site sales?
Calculate net contribution per channel by adding recipe costs, packaging, platform and…
Different prices are possible, but only with their own logic
Online orders and dining in do not have to carry the same price. I price them differently when my workload, net revenue or risk…
I compare net revenue per channel, not just two gross prices
The most common mistake is placing two gross prices next to each other and thinking the job is done. I always calculate on one…
Which costs online adds, and which dining-room costs really remain
Online is not automatically the cheaper channel. In my calculation I review at least six cost blocks for each item: ingredients, packaging, payment or platform cost, extra production effort, complaint risk and an appropriate share of overhead. Packaging is often underestimated because it is never just one bowl and one lid. There may also be a bag, label, cutlery, napkin and a second container for sauce or topping. On a bowl, what feels like €0.25 can quickly become €0.78 in additional cost. Online handover can also tie one person to packing, checking and issuing orders right in the busiest service window, even though that same person might otherwise cover several tables in parallel during a normal floor shift.
At the same time, some parts of the dine-in service are smaller or absent online: table setting, crockery washing per guest, longer table attention and part of the clearing process. I count those savings cautiously, though, because rent, core staffing, kitchen prep, utilities and mise en place keep running anyway. One empty chair does not save me a full euro. So I only treat genuinely variable costs as channel differences. If a soup is served in porcelain in the restaurant but needs insulated packaging and a seal for pickup, that is a clear extra burden online. If a schnitzel follows the same kitchen process in both channels and I sell it directly without an outside platform, the price gap may be far smaller than guests expect. That is why blanket channel rules usually misprice at least part of the menu.
A solid worked example with pasta, not a flat percentage rule
Take a hypothetical truffle pasta. The net recipe food cost is €3.10, plus €0.35 in allocated base-recipe cost for sauce and final garnish. In the dining room I do not add packaging, but for online pickup I add €0.82 for tray, lid, bag and labelling. For the online channel I also budget €0.45 in process cost because pack check and handover consume real time in my operation. That gives me direct cost of €3.45 in the restaurant and €4.72 for pickup. If I sold through a third-party intermediary, I would add that separately as a channel distribution cost; I never bury it inside general food cost because then I lose sight of what the product itself actually consumes.
Now the pricing decision becomes practical. If I sell the pasta in the restaurant for €14.90 gross and assume 7% VAT for this example, about €13.93 remains net. After direct cost of €3.45, the contribution margin before further overhead is €10.48. Online for pickup at the same gross price, with the same tax assumption, the net revenue is again €13.93; after €4.72 direct cost, the contribution margin is €9.21. So the online channel earns €1.27 less per portion. That does not automatically force a price rise. I first ask whether that gap is strategically acceptable, whether online brings additional volume and whether I would rather recover the difference through a minimum order value, better add-on sales or a modest channel adjustment. The decision comes after the calculation, not before it.
When I make online cheaper, equal or more expensive
I only make online cheaper when I am selling a clearly simplified product or deliberately steering demand into weaker periods. A lunch box with fewer choices, standardised packing and highly routine production can justify that. In that case, error rates and labour time per ticket may drop, and a slightly lower price can still make sense. I keep prices equal when the product uses almost the same resources in both channels and I am not building in outside marketplace cost. I go higher online when packaging, third-party fees or especially error-prone handovers noticeably damage margin. When I explain that difference, I do not frame it defensively. I describe the different service model: different process, different effort, different price.
The important part is that I do not apply one blanket channel percentage to the whole menu. Drinks, desserts, set menus and side dishes behave completely differently. Draft beer in the restaurant follows a different logic from a bottled soft drink taken away. A crisp starter may lose quality online and then needs either a different price, a different recipe or no place in the channel at all. That is where sound item selection matters more than any general percentage rule. Some dishes are excellent online sellers, while others damage the brand despite decent revenue because temperature, texture or presentation suffer on the way out. Pricing is therefore never just arithmetic. It is also quality control and channel discipline. A dish that travels badly can be unprofitable even before the refund request arrives.
How I organise the calculation so the whole operation can follow it
To stop price differences living only in one manager’s head, I maintain recipes and base recipes carefully. In Bonzumo I can assign ingredients and quantities to a product, store base recipes with yield and waste, and use the resulting recipe cost as the basis for a pricing decision. That is exactly how I would work through the pasta example: noodles, sauce, topping, yield from the prepared sauce and current purchase prices create a usable recipe cost instead of a guess. The practical foundation is the product and recipe structure in inventory. The key point is still data maintenance on our side: if quantities, units or purchase prices are outdated, later price discussions may sound precise while the arithmetic underneath is wrong.
After that I separate calculation from selling responsibility inside the team. The kitchen lead checks recipe quantities and yields, purchasing updates prices, and I decide the target food cost and channel strategy. Only then do I define which items are offered online at all and which deliberately stay exclusive to the dining room. One common trap is changing online prices without treating packaging as its own cost block. Another is adjusting seasonal ingredient increases only in the restaurant while leaving pickup untouched for months. That is why I use a fixed review rhythm: immediately when purchase prices move sharply, and otherwise at least monthly for the ten most important online and dine-in items. That keeps the discussion factual rather than mood-driven and prevents a Friday-night dispute from becoming the place where menu economics are decided.
After launch I track channel quality, not just channel revenue
Once a price decision is live, I do not look first at total revenue. I look at three questions: how many portions I sell by channel, which contribution margin remains per item and where operational friction appears. If online suddenly produces more orders but slows the kitchen during evening service, a price that looked sensible on paper can still be commercially wrong. I therefore review which transactions had to be corrected, cancelled or repeatedly queried. Bonzumo helps here because orders, payments, receipts and closing data stay connected as one process, so I can investigate a concrete issue through the transaction and the day-end follow-up instead of relying on memory alone. For that later review, the reporting workflow behind daily activity and closing is genuinely useful.
For guests and staff, I keep the rule simple: the same item name does not automatically mean the same economic setting. If we maintain different online and in-house prices, it is because service and costs are organised differently, not because we want to punish anyone. In service, I explain that transparently, for example by pointing to packaging, channel effort or a specifically composed online offer. Internally, I document the reason for every price difference in one clear sentence. That avoids the usual confusion three months later when nobody remembers why the bowl costs €1.50 more online but the pasta does not. Good pricing is less about secret formulas than about repeatable operating discipline. If the team understands the reason, the rule survives staff changes and guest questions without turning into improvisation.
Putting it into practice
Later sections put the topic in the context of day-to-day operations.
When I make online cheaper, equal or more expensive
I only make online cheaper when I am selling a clearly simplified product or deliberately steering demand into weaker periods. A lunch…
How I organise the calculation so the whole operation can follow it
To stop price differences living only in one manager’s head, I maintain recipes and base recipes carefully. In Bonzumo I can assign…
After launch I track channel quality, not just channel revenue
Once a price decision is live, I do not look first at total revenue. I look at three questions: how many portions I sell by channel,…