How to Price Menu Items in an Indian Restaurant
Menu price equals ingredient cost divided by your target food cost percentage, but that formula breaks in India unless you price the aggregator menu separately.
The standard menu pricing formula is simple: divide a dish's ingredient cost by your target food cost percentage. A dish costing ₹66 at a 30 percent target prices at ₹220. Every guide gives you that formula, and it is correct as far as it goes. The problem is that it assumes one price per dish, one target across the whole menu, and a guest who pays exactly what the menu says. In an Indian restaurant selling through Zomato or Swiggy, all three assumptions are wrong, and the third one costs real money.
Key takeaways
- Menu price = ingredient cost ÷ target food cost percentage. At a 30 percent target, a ₹66 dish prices at ₹220.
- That formula assumes one selling channel. If you list on an aggregator, one price cannot serve both.
- A ₹220 dish sold through an app on a funded discount can settle near ₹130, turning a 30 percent food cost into roughly 51 percent.
- A 10 to 15 percent aggregator uplift narrows that gap but does not close it. Nothing closes it fully.
- One target percentage across the whole menu contradicts menu engineering. High-margin items should carry different targets.
- In India, menu prices are usually shown before GST, so the guest pays about 5 percent more than the number they read.
The formula everyone gives you
Start with the actual cost of making one portion, then divide by the food cost percentage you want to run.
Menu price = ingredient cost per portion ÷ target food cost %
A paneer sandwich costing ₹66 in ingredients, at a 30 percent target, prices at ₹66 ÷ 0.30 = ₹220.
That works. It is the right starting point, and if you have never costed your dishes this way, doing it once across your menu will find you money. Our guide to food cost percentage covers how to get the ingredient cost right, which is the input this whole calculation depends on. Get that wrong and everything downstream is wrong.
Two practical notes before the complications. Ingredient cost means the full portion cost including oil, spices, garnish, and the gas to cook it, not just the headline items. And it should reflect yield, since a kilo of raw chicken does not produce a kilo of cooked chicken.
Where it breaks: one price cannot serve two channels
This is the big one, and almost no pricing guide written outside India deals with it.
Price that sandwich at ₹220 and sell it in your dining room, and you collect ₹220. Food cost 30 percent. Exactly as designed.
Now list it on Zomato or Swiggy at the same ₹220, on a 20 percent discount you are funding, at a 20 percent commission. Working through the same arithmetic we set out in what aggregator commission really costs:
- Menu price ₹220, your funded discount takes it to ₹176
- Commission at 20 percent of ₹176: ₹35.20
- GST on that commission at 18 percent: ₹6.34
- Payment fee about 2 percent, plus GST on it: ₹4.18
- TDS at 0.1 percent: ₹0.18
You collect about ₹130.
Your ingredient cost has not changed. It is still ₹66. Against a ₹130 settlement, that dish just ran a food cost of roughly 51 percent. You priced for 30 and got 51, and nothing about the dish changed except where the order came from.
This is why restaurants with a perfectly sensible menu still bleed. The pricing was never wrong. It was just built for one channel and used in two.
What an aggregator uplift actually fixes
The common advice, including ours, is to price your aggregator menu 10 to 15 percent above your dine-in menu. It is sound advice. It is also worth being honest about how far it gets you.
Take the same sandwich, listed at ₹253 instead of ₹220, a 15 percent uplift, everything else identical.
| Dine-in at ₹220 | App at ₹220 | App at ₹253 | |
|---|---|---|---|
| You collect | ₹220 | ₹130 | ₹150 |
| Ingredient cost | ₹66 | ₹66 | ₹66 |
| Effective food cost | 30% | 51% | 44% |
The uplift is worth doing. It moves you seven points in the right direction for the cost of editing a menu. But it does not get you back to 30 percent, and no realistic uplift does, because pricing high enough to fully absorb a 26 to 41 percent take would put you well above the restaurant next to you in the same app listing.
The honest conclusion is not "do not use aggregators". It is that aggregator orders are structurally lower-margin, you should price them as their own channel, and you should not build your business on the assumption that they behave like dine-in. What that mix does to your bottom line is worked through in restaurant profit margin in India.
Where it breaks: one target across the whole menu
The formula quietly assumes every dish should hit the same food cost percentage. Applied literally, it prices your menu into a corner.
Cost-plus pricing on every item means your cheapest-to-make dishes get the lowest prices, which is exactly backwards if those are the dishes you most want to sell. A dal that costs ₹22 prices at ₹73 on a 30 percent target. It could probably sell at ₹110 without a single complaint, because guests price dal against other restaurants' dal, not against your kitchen's cost sheet.
The fix is to use the formula as a floor rather than an answer. Cost every dish to find the minimum defensible price, then set the actual price with two other things in view: what the item is worth to the guest, and how much margin it carries in rupees rather than percent. That second one matters more than most owners expect, since a 45 percent food cost on a high-priced item can contribute more rupees per cover than a 25 percent food cost on a cheap one.
This is the same logic as menu engineering, applied at the moment of setting the number rather than afterwards.
Where it breaks: what the guest actually pays
In Indian restaurants, menu prices are almost always shown before GST, with the tax added on the bill. Most restaurant service carries 5 percent GST where the restaurant does not claim input tax credit, so a guest reading ₹220 pays about ₹231 once tax goes on, and more if a service charge appears.
This is common practice rather than a legal requirement, and it has a real effect on how your pricing lands. Your carefully chosen ₹199 price point arrives at the table as ₹208.95. If you are pricing to sit under a psychological threshold, the threshold that matters is the one on the bill, not the one on the menu.
Two consequences worth acting on. If you serve alcohol, the drinks side is taxed separately under state excise and VAT rather than GST, so the two halves of a bar's bill move differently, which we cover in GST on restaurant food. And if you ever switch to tax-inclusive menu pricing, your menu numbers will jump about 5 percent overnight while your margin stays flat, so plan the guest communication before you plan the numbers.
A workable pricing process
Five steps, in order.
- Cost every dish properly, including oil, spices, garnish, and yield loss. This is the input everything else depends on.
- Calculate the floor price at your target food cost. Nothing should sell below this without a deliberate reason.
- Set the real price against the market, item by item. Look at what comparable restaurants near you charge for the same dish, since guests anchor on that, not on your costs.
- Set a separate aggregator price, 10 to 15 percent above dine-in, and accept that it still runs a worse food cost.
- Re-cost quarterly. Ingredient prices move constantly in India, and a menu priced eighteen months ago is running on numbers that no longer exist.
The step operators skip is the last one. A dish costed once at launch and never revisited is the most common quiet margin leak in an Indian kitchen, because onion and oil do not hold their prices and your menu does.
Pricing to grow the ticket, not just protect it
One closing thought, because pricing is defensive by nature and the bill has two sides.
Pricing protects the margin on what a guest already ordered. It does nothing to make them order more. A guest who adds a raita and a lassi to a ₹220 main lifts your bill far more than any rupee you could safely add to the main itself, and without the risk of pricing yourself out of the neighbourhood.
That is why we would rather see an owner spend an afternoon on average order value than a week agonising over whether the biryani should be ₹340 or ₹360. Price it properly, once, then work on the size of the order.
FAQ
How do you calculate the price of a menu item?
Divide the dish's full ingredient cost per portion by your target food cost percentage. At a 30 percent target, a dish costing ₹66 to make prices at ₹220. Treat that as your floor rather than your final answer, then adjust against what comparable restaurants near you charge for the same item.
What is a good food cost percentage to price against?
Most Indian full-service restaurants target 28 to 35 percent, with 30 percent a common working figure. The right number varies by format, and it should vary by dish too, since holding every item to one target underprices your cheap-to-make dishes and leaves rupees on the table.
Should my Zomato and Swiggy prices be higher than my dine-in prices?
Generally yes, by roughly 10 to 15 percent, because commission, GST on that commission, payment fees, and funded discounts take 26 to 41 percent of menu value. Be realistic about what the uplift achieves: it narrows the margin gap, it does not close it, and pricing high enough to close it fully would make you uncompetitive in the app.
Do Indian restaurant menu prices include GST?
Usually not. Indian menus typically show prices before tax, and 5 percent GST is added on the bill, so a guest reading ₹220 pays about ₹231. This is common practice rather than a rule, so if you choose to display tax-inclusive prices, your menu numbers will look roughly 5 percent higher while your margin is unchanged.
How often should I reprice my menu?
Re-cost every quarter and reprice when the costing tells you to, rather than on a fixed schedule. Indian ingredient prices move sharply and unevenly, so a menu built on last year's costs is quietly running a different food cost than the one you designed.
What to do next
Pick your ten best-selling dishes and cost them properly this week, including oil, spices, and yield. Then compare each dish's real food cost percentage against the 30 percent you assumed when you priced it, and do the same comparison again using what you actually collect on an aggregator order rather than the menu price. Most owners find at least two dishes that lose money on the app and make money in the room. Book a short dineomai demo if you want per-dish costing that updates as ingredient prices move, instead of a spreadsheet you re-do twice a year.
See it on a real table
A 15-minute demo: watch dineomAI take an order, speak five Indian languages, and upsell the right pairing. No hard pitch.
Book a 15-minute demo →