Why most Indian operators don't know their real monthly P&L
Three things break the Indian restaurant P&L, and they compound:
- Spreadsheet fragmentation. One person tracks dine-in cash in a notebook, the cashier maintains a UPI ledger, the manager screenshots Swiggy payouts, the accountant enters Tally invoices — no one owns the single sheet where all of it lands. At month-end you get four different numbers.
- Aggregator payout confusion. Swiggy and Zomato both run T+7 to T+15 weekly settlements with TDS at source, commission bands that vary by city and category, and ad-spend deducted inside the payout report. Most operators post the net payout to revenue instead of grossing up and separating commission — hiding the fact that a 25% commission order is a 25% commission order.
- GST filing pain. Composition scheme: 5% flat on turnover, no input credit — GST becomes a cost line. Regular GST: 5% on food, but restaurant ITC has been restricted since 2019 so most input GST on rent, packaging and utilities is unclaimable. Either way, revenue in the P&L must be net of GST collected, and unclaimable input GST is a real cost.
The complete Indian restaurant P&L structure — line by line
Here is the full P&L structure with real 2026 India benchmark ratios. Every line matters, and every line has a rupee-band we've seen work.
Revenue — split by channel
Never report a single revenue number. Split it into five channels so you can see where growth and margin actually come from:
| Channel | Typical share (casual dining) | Commission / cost |
|---|---|---|
| Dine-in | 30-55% | Zero commission; highest contribution margin |
| Swiggy | 15-30% | 20-32% commission (city + category dependent) |
| Zomato | 15-28% | 22-30% commission + Gold discount share |
| WhatsApp direct | 3-15% (growing) | Zero commission; ₹199/mo platform fee only |
| Catering / bulk | 0-10% | Cash + UPI; margin depends on menu |
Report all revenue net of GST — you're a pass-through agent, GST is not your money. If Swiggy shows a ₹500 order gross, ₹476 is your revenue at 5% GST composition.
COGS — food + packaging only, no aggregator
Cost of Goods Sold in a restaurant is the food, beverages, and packaging the customer physically consumes:
- Food cost: 28-32% of revenue is the healthy band for Indian casual dining. Cloud kitchens run 26-30%. Fine dining runs 30-35%.
- Packaging cost: 3-5% of revenue for delivery-heavy outlets, 1-2% for dine-in dominant. Includes containers, cutlery, bags, tissues, condiment sachets.
COGS formula: Opening stock + Purchases − Closing stock. Do a physical stock count fortnightly at minimum. Perishables like paneer, chicken and greens distort a monthly-only count.
Labour — the honest number with PF and ESI
Typical monthly Indian restaurant salary bands (2026): head chef ₹35-70K, cook ₹25-40K, helper ₹15-20K, cashier ₹15-25K, waiter ₹14-22K plus tips, in-house rider ₹18-28K plus fuel.
Add PF 12% employer contribution on basic wages up to ₹15,000 basic (mandatory if 20+ employees) and ESI 3.25% on gross under ₹21,000 (mandatory if 10+ employees), plus staff meals costed at ₹40-60/person/day. Statutory adds roughly 12-15% on top of base payroll. Healthy total labour ratio: 20-25% of revenue. Above 28% is a warning sign.
Rent — the biggest fixed cost, banded by city tier
| City tier | Ground-floor F&B rent | 1st-floor / interior |
|---|---|---|
| Mumbai / Bangalore prime | ₹250-400/sqft/month | ₹150-250/sqft/month |
| Delhi NCR / Hyderabad / Pune prime | ₹150-300/sqft/month | ₹100-180/sqft/month |
| Tier-2 (Jaipur, Ahmedabad, Lucknow, Indore) | ₹60-120/sqft/month | ₹40-80/sqft/month |
| Tier-3 and cloud kitchens | ₹40-80/sqft/month | ₹25-50/sqft/month |
Rent should sit at 8-12% of revenue. Above 15% and you're rent-poor — every festival slump or monsoon dip pushes you into losses.
Utilities
Commercial power ₹8-12/unit plus fixed KVA charges (₹15-45K/month for a 40-cover outlet), commercial LPG ₹1,800-2,100 per 19-kg cylinder (12-30 cylinders/month), water ₹2-8K/month, internet ₹1.5-3.5K/month. Combined utilities should land at 4-6% of revenue.
Aggregator costs — the line most operators underestimate
Separate line, never inside COGS. Swiggy commission 20-32% (city + category dependent), Zomato commission 22-30% including Gold discount share, aggregator advertising 2-4% of revenue for growing outlets, payment gateway on direct orders 1.5-2.2%. Blended aggregator commission on a 45%-aggregator revenue mix comes to 12-18% of total revenue. Above 20% blended, either your commission slabs are premium or your delivery share is above 60% — both need attention.
Marketing (non-aggregator)
WhatsApp broadcasts (₹0.35-0.80/message via BSPs like Go4WhatsApp), Meta and Google ads for the direct channel, local print for openings, influencers. Target 3-6% of revenue. Above 8% needs a specific campaign justification.
Compliance — small but mandatory
FSSAI licence ₹100-5,000/year depending on turnover slab, CA GST filing ₹1,500-4,000/month, Shop & Establishment renewal ₹1-8K/year state-dependent, trade licence + fire NOC + health department ₹5-25K/year combined, PPL/IPRS music licence ₹5-30K/year if you play recorded music.
Depreciation and interest
Depreciate kitchen equipment over 5-7 years, furniture over 7-10 years, POS hardware over 3-5 years. A ₹15L fitout is not a first-month expense — it's ₹18,000-25,000/month of depreciation for 60 months. Interest on working-capital or EMI sits below EBITDA.
PAT — the number that matters
Revenue − COGS − Labour − Rent − Utilities − Aggregator costs − Marketing − Compliance − Depreciation − Interest − Income tax = PAT (Profit After Tax).
A healthy Indian casual dining outlet lands at 6-12% PAT. Cloud kitchens can hit 10-15% if the direct channel share is strong. Below 4% PAT you're one Ramzan slump away from a bad quarter.
Real example: a Mumbai casual dining outlet doing ₹8L/month
Let's walk through the P&L of "Andheri Anna" — a fictional but realistic 40-cover South Indian casual dining outlet in Andheri West, Mumbai. Revenue ₹8,00,000 for the month.
| Line item | Amount (₹) | % of revenue | Verdict |
|---|---|---|---|
| Revenue — Dine-in | 3,40,000 | 42.5% | Healthy |
| Revenue — Swiggy | 2,00,000 | 25.0% | OK |
| Revenue — Zomato | 1,80,000 | 22.5% | OK |
| Revenue — WhatsApp direct | 60,000 | 7.5% | Growing well |
| Revenue — Catering | 20,000 | 2.5% | Small but useful |
| Total revenue (net of GST) | 8,00,000 | 100% | — |
| Food cost | 2,64,000 | 33.0% | 1% over band — check spoilage |
| Packaging | 36,000 | 4.5% | OK for 55% delivery mix |
| Labour + PF/ESI | 1,88,000 | 23.5% | Healthy |
| Rent (900 sqft × ₹110/sqft, 1st floor Andheri West) | 99,000 | 12.4% | Upper band, acceptable |
| Utilities | 42,000 | 5.3% | Normal |
| Swiggy commission (23% of ₹2L) | 46,000 | 5.8% | Market rate |
| Zomato commission (25% of ₹1.8L) | 45,000 | 5.6% | Market rate |
| Aggregator ads | 32,000 | 4.0% | At upper limit — trim next month |
| Marketing (WhatsApp + Meta) | 18,000 | 2.3% | Efficient |
| Compliance (FSSAI amortised, CA, licences) | 6,000 | 0.8% | Normal |
| GST composition (5% of ₹8L turnover) | 40,000 | 5.0% | Mandatory cost line |
| Depreciation (₹18L fitout / 60 months) | 30,000 | 3.8% | Normal |
| Interest (working capital loan) | 8,000 | 1.0% | Small |
| Total costs | 8,54,000 | 106.8% | — |
| Profit / (Loss) before tax | (54,000) | (6.8%) | Bleeding this month |
What the numbers tell us: Andheri Anna looks healthy on the surface — good dine-in share, growing WhatsApp direct, labour in band. Three things push it into a loss:
- Food cost 1% over band (33% vs 32%). On ₹8L that's ₹8,000 — usually veggie spoilage or gravy portion drift.
- Aggregator ads at 4.0% is the ceiling — cut to ₹20,000 next month and observe.
- Combined commission + ads at 15.4% is the real drag. Every rupee moved from Swiggy/Zomato to WhatsApp direct is a 25% margin recovery.
Fix the food drift (₹8K back), cut aggregator ads by ₹12K, add ₹20K WhatsApp direct revenue (~30 orders at ₹650 AOV) — same outlet flips to a ₹40,000+ profit month. That's the operator utility of a real P&L: it points to the three levers, and you pull them.
The 3 P&L red flags Indian operators miss
1. Food cost creep past 32%
Food cost drift is the silent killer. It creeps 0.5% per month for four months and suddenly your ₹8L outlet is losing ₹16,000 you can't explain. Causes: vendor price hikes not renegotiated, portion drift as new cooks ramp, perishable spoilage from over-ordering, theft, and thin-margin menu items being over-sold. Fix: fortnightly stock count and a per-item recipe cost card the head chef signs off quarterly.
2. Aggregator ads eating margin invisibly
Swiggy and Zomato bury ad spend inside your weekly payout — the money leaves before you see an invoice. Operators who post "net payout to bank" as revenue count ad spend as lost revenue rather than marketing cost, which double-hides it. Track aggregator ads as a distinct P&L line, cap at 4% of revenue, refuse increases without a measurable order-lift test.
3. Staff cost past 25% of revenue
Labour cost creeps up when revenue dips but roster isn't right-sized, a new senior hire pushes average salary up, or PF/ESI gets added correctly for the first time. Any month where total labour crosses 25% needs an action review — cut roster hours, redistribute prep to fewer shifts, or accept it as a strategic investment window with a defined end date.
The 15-minute monthly closing SOP
Once you have the template set up, monthly close should take 15 minutes. Do it on the 3rd of every month for the prior month's numbers.
- Minute 0-3 — Revenue: Swiggy + Zomato payout summaries, POS dine-in total, WhatsApp orders (from Online eMenu dashboard), catering. Paste in.
- Minute 3-7 — COGS: pull the month-end stock count, plug into COGS formula, cross-check against Tally purchases.
- Minute 7-10 — Fixed costs: rent, utility bills, salary run, PF/ESI challan, licences amortised. These change slowly — mostly year-open values.
- Minute 10-13 — Aggregator + marketing: commission and ad-spend lines from each aggregator payout, WhatsApp broadcast spend from Go4WhatsApp.
- Minute 13-15 — Review: PAT vs last month, each line changed >10%, note anomalies in a "reconcile" cell to clear before the 10th.
For the daily-level cash, card and UPI reconciliation that feeds the monthly close, we have a dedicated daily close SOP for Indian restaurants that pairs with this monthly template.
Download the free Google Sheet template
The template ships with every line item pre-built as formulas, benchmark ratios that turn red on drift, a 12-month rolling summary tab, and a break-even calculator that solves for the minimum monthly revenue at your current fixed cost base.
Download: Restaurant P&L Template India 2026 — Google Sheet (free, no sign-up; File → Make a Copy to your Drive).
Feed the P&L with clean channel data
The template only works when you can pull revenue by channel cleanly. Online eMenu's Ordering Suite consolidates dine-in, Swiggy, Zomato, WhatsApp and QR menu orders into one dashboard — ₹199/month, no lock-in, live in 48 hours.
See India pricingFrequently Asked Questions
What is a restaurant P&L statement and why do Indian operators need one?
A restaurant P&L is a monthly report of every rupee in — dine-in, Swiggy, Zomato, WhatsApp direct, catering — and every rupee out. Indian operators need it because aggregator payouts, GST composition vs full GST, and PF/ESI deductions all obscure the real cash position — bank balance is not profit. A proper monthly P&L turns "I think we did okay" into "₹67,400 PAT on ₹8.2L revenue, food cost slipped to 33%, cut Zomato ads by ₹8K next month."
What are healthy cost ratios for an Indian restaurant P&L in 2026?
Target benchmarks: food cost 28-32%, packaging 3-5%, labour (incl. PF/ESI) 20-25%, rent 8-12%, utilities 4-6%, aggregator commissions blended 12-18%, marketing 3-6%, other operating 3-5%. That leaves 8-15% EBITDA and 4-10% PAT after depreciation, interest and tax. Below 4% PAT is a warning sign.
How do I calculate restaurant COGS in India?
COGS = Opening stock + Purchases − Closing stock. Count stock at the 1st and last of the month; add every purchase invoice for vegetables, meat, dairy, dry groceries, oils, packaging, disposables. Divide by revenue for your food cost ratio. Fortnightly stock counts minimum — monthly is too infrequent for perishables like paneer, chicken and greens where a single spoilage event distorts the whole month.
Should I include Swiggy and Zomato commission in COGS or as a separate line?
Separate line, never inside COGS. COGS is only the physical cost of what the customer eats — food, packaging, disposables. Commissions, ad spend and gateway fees are channel costs and belong under "Aggregator Costs". Mixing them hides the truth: a Zomato order at 25% commission has the same food cost as a dine-in order but a very different contribution margin.
What is a good break-even point for an Indian restaurant?
Break-even is where fixed costs (rent, base salaries, licences, base utilities, insurance, EMIs) equal contribution margin. Typical break-even revenue: 40-cover tier-1 casual dining ₹5.5-7 lakh/month, tier-2 outlet ₹2.8-4 lakh. Below 60-day runway of working capital above break-even is a survival risk — one Ramzan slump or monsoon washout can flip a marginal outlet into losses.
How is GST reflected in a restaurant P&L in India?
Two paths. Composition scheme (turnover under ₹1.5 crore) — pay 5% flat on turnover, no input credit, so GST becomes a cost line. Regular GST — charge 5% on food, remit to government; input tax credit is restricted for restaurants so most GST paid on rent, packaging and utilities is a cost. In both cases, revenue in the P&L should be net of GST collected — you're a pass-through agent.
What are PF and ESI, and how do they hit an Indian restaurant P&L?
PF is a 12% employer contribution on basic wages up to ₹15,000 basic, mandatory at 20+ employees. ESI is a 3.25% employer contribution on gross wages under ₹21,000/month, mandatory at 10+ employees. For a 15-person kitchen at ₹18,000 average gross, PF + ESI adds 12-15% on top of base payroll — a ₹2.7 lakh salary line becomes ₹3.05-3.1 lakh once statutory is added.
How often should I close and review a restaurant P&L in India?
Monthly close on the 3rd of the following month is standard cadence. That gives Swiggy and Zomato reconciliation dashboards time to finalise the month's payouts and TDS. Aim for a 15-minute close — revenue from POS + aggregator dashboards, expenses from Tally or Zoho Books, gaps captured in a "to reconcile" bucket cleared before the 10th. Weekly revenue-vs-COGS reviews stop food cost drift before the month ends.
Do I need a CA or can I run the restaurant P&L myself?
You need a CA for GST filings, TDS returns, income tax and annual audit. You do not need a CA to run your monthly operational P&L — that's a management tool that lives on your desk. Most owners who wait for CA-provided P&Ls see them 6-8 weeks late and cannot act on them. Own it yourself in a Google Sheet; share with your CA at month-end for reconciliation.
What tools work best with this restaurant P&L template for Indian operators?
Revenue: pull channel-wise data from your POS (dine-in + WhatsApp direct via Online eMenu, ₹199/month for the Ordering Suite), the Swiggy Partner dashboard, and the Zomato Partner Hub. Expenses: Tally Prime or Zoho Books for GST-compliant accounting, exported monthly to the sheet. Track WhatsApp direct revenue (zero aggregator commission) separately so you can watch the direct-channel ratio grow month over month.