The Setup: Rs 22 Lakh Monthly Revenue, Zero Reconciliation
Restaurant GST reconciliation failures cost operators lakhs in avoidable penalties every year. Most operators discover the damage only when a notice arrives. By then, the compounding interest on unpaid or mismatched GST has already eaten into margins that were thin to begin with.
This case is from Nagpur. A QSR brand running three outlets, doing roughly Rs 22 lakh in combined monthly revenue. Two outlets were dine-in plus delivery. One was a cloud kitchen operating exclusively through Swiggy and Zomato. The owner had a CA who filed GST returns every month based on POS data. Sounds fine on paper.
The problem was simple. Nobody was comparing what the platforms actually deposited into the bank account against what the POS recorded as delivery revenue. Nobody was checking whether the GST collected on platform orders matched the GST reported in GSTR-1. For eighteen months, these numbers drifted apart quietly.
What Does the GST Mismatch Actually Look Like?
The mismatch happens because platform payouts are not the same as order value. Swiggy and Zomato deduct their commission (typically 15-28% depending on the plan and city), then charge 18% GST on that commission, and then deposit the net amount. The operator’s POS, on the other hand, records the full order value as revenue.
So the POS says Rs 8.5 lakh in delivery revenue for the month. The bank statement shows Rs 6.2 lakh deposited from platforms. The CA files GST on the POS number. The platforms file their own TCS (Tax Collected at Source) based on what they processed. These two sets of numbers do not talk to each other.
In this Nagpur case, the gap was roughly Rs 2.3 lakh per month in reported versus actual figures. Over a quarter, that created a GST mismatch large enough to trigger automated notices from the GST portal. The GST portal’s auto-reconciliation system flags these discrepancies when GSTR-2A (auto-populated from supplier filings) does not match the operator’s GSTR-3B.
Where Exactly Did the Rs 1.4 Lakh Penalty Come From?
Two sources. First, late payment interest on the differential GST amount that was under-reported. The rate is 18% per annum, calculated daily. Second, penalty notices under Section 125 of the CGST Act for incorrect returns. When you add these up across three outlets and a full quarter, you land at Rs 1.4 lakh.
That Rs 1.4 lakh was pure waste. No operational benefit. No investment return. Just money gone because a spreadsheet did not exist. For a restaurant running at maybe 10-12% net margins, Rs 1.4 lakh in penalties per quarter wipes out roughly half a month’s profit.
How Did We Diagnose the Root Cause?
The root cause was a broken information flow between four systems: the POS, the aggregator dashboards, the bank account, and the CA’s filing software. None of these systems shared data automatically. Each one operated as if the others did not exist.
I asked the owner three questions during our first call. Can you show me last month’s Swiggy payout report? He could not find it. Can you show me what your CA used to file GSTR-1? It was a summary PDF from the POS. Can you show me your bank statement for the same period? He had it, but nobody had ever compared it line by line against the POS report.
The diagnosis took about ninety minutes with all three documents side by side. Here is what we found:
1. Platform commissions were not being recorded as expenses in the POS. So revenue was overstated by the commission amount every single month.
2. The TCS deducted by platforms (1% of net taxable value under Section 52 of the CGST Act) was never being claimed as credit. That is money the operator was entitled to but never took.
3. GST on platform commissions (18% on the commission amount) was being paid by the operator but not recorded as input tax credit. The CA did not know these invoices existed because nobody downloaded them from the aggregator dashboards.
What Was the Specific Fix?
The fix was a weekly reconciliation process that took about forty-five minutes. Not complex. Not expensive. Just disciplined. Here are the four steps we put in place.
1. Every Monday, the operations manager downloads the weekly payout summary from Swiggy and Zomato dashboards. Both platforms generate these in the settlements section. The summary shows gross order value, commission deducted, GST on commission, TCS deducted, and net payout.
2. The same person matches the net payout figure against the actual bank credit for that week. If these do not match within Rs 500, it gets flagged immediately. Platform payment errors happen more often than operators realize.
3. The commission invoices from both platforms get forwarded to the CA every Monday. These invoices carry GSTIN numbers and are valid for input tax credit claims. Before this, the CA had never seen a single platform commission invoice in eighteen months of filing.
4. At month end, the CA reconciles total sales from POS, total payouts from platforms, total dine-in collections, and total UPI/card settlements. Only after this reconciliation does the GSTR-1 filing happen. Previously, the CA filed based on whatever the POS summary showed.
We used a simple cash flow tracking format as the base template and added three columns for platform-specific data. The whole thing runs in Google Sheets. No fancy software. No additional subscription cost.
What Changed After Three Months?
Three specific results showed up within the first full quarter of proper reconciliation.
First, the GST penalty dropped to zero. No notices. No interest. No late fees. That alone saved Rs 1.4 lakh per quarter, or roughly Rs 5.6 lakh annually. For a business doing Rs 2.6 crore in annual revenue, that is not a rounding error.
Second, the operator started claiming input tax credit on platform commission GST. At roughly Rs 4 lakh in monthly commissions across three outlets, the GST on those commissions (18%) works out to about Rs 72,000 per month. That credit was always available. Nobody was claiming it because nobody was downloading the invoices.
Third, we found two months where Zomato had under-deposited by a combined Rs 38,000 due to a settlement error. The operator raised tickets with documentation and got the amount credited within three weeks. Without reconciliation, that Rs 38,000 would have simply vanished.
Total financial impact in the first year: roughly Rs 14 lakh recovered or saved. From a process that takes forty-five minutes per week. That math should make every operator uncomfortable enough to check their own numbers tonight.
Why Does This Problem Hit Restaurants Harder Than Other Businesses?
Restaurants deal with a payment complexity that most retail businesses do not face. Revenue comes through four or five separate channels: dine-in cash, dine-in UPI, dine-in cards, Swiggy deposits, and Zomato deposits. Each channel has different settlement timings, different deductions, and different GST treatment.
A garment shop selling on a marketplace has similar issues, but their transaction volumes are lower. A restaurant doing 200 delivery orders a day across two platforms generates roughly 6,000 individual transactions per month that need to reconcile. Most CAs who handle restaurant accounts also handle ten other businesses. They file based on whatever summary they receive. They do not have time to cross-check 6,000 transactions.
This is why the responsibility for restaurant GST reconciliation cannot sit entirely with the CA. The operator or the operations manager must own the weekly data pull. The CA owns the filing. But the data integrity check has to happen inside the restaurant. I have written about this gap in the context of GST compliance for restaurants before. The principle stays the same.
How Do You Know If You Have This Problem Right Now?
If you run delivery through Swiggy or Zomato and your CA has never asked you for a platform payout report, you have this problem. It is that straightforward. No exceptions.
Pull up your GSTR-2A on the GST portal right now. Check whether Swiggy’s and Zomato’s GSTINs appear in your auto-populated purchase data. If they do, check whether the ITC amounts match what your CA has claimed. If they do not appear at all, your CA is not aware these credits exist.
Then compare your POS delivery revenue for last month against the total amount deposited by platforms into your bank account. The difference should roughly equal commissions plus GST on commissions plus TCS. If the difference is larger or smaller, something is wrong. Start digging.
Operators who are already feeling the squeeze on menu pricing and food costs cannot afford to leak another Rs 5-15 lakh annually on a problem that takes less than an hour per week to fix. The money is already yours. You just have to count it properly.
The Generalizing Principle
Every rupee that flows through a third party before reaching your bank account needs a reconciliation step. This applies to aggregator payouts, to payment gateway settlements, and to any channel where someone else collects money on your behalf. If you cannot explain the exact difference between what your POS shows and what your bank received, you are flying blind on both cash flow and GST compliance.
Most operators I work with discover at least Rs 1-3 lakh in annual leakage the first time they sit down and reconcile properly. For cloud kitchens running entirely on platform revenue, the exposure is even larger because 100% of revenue passes through aggregator settlement cycles.
This is not a one-time project. It is a weekly habit. Build it into your Monday routine alongside cash flow tracking and you will never pay a GST penalty again.
Your action for this week: download your Swiggy and Zomato payout reports for the last three months. Put them next to your bank statements for the same period. Match every deposit. Find every gap. Share what you find with your CA before your next filing date. Forty-five minutes. Potentially lakhs saved.
Stop guessing. Start building. Get Design Dine Dominate, the complete restaurant business playbook from someone who has actually done it.
Leave a comment