GSTIN-compliant tax invoices for restaurants: what you actually need
GST rules for F&B in plain English. What goes on a tax invoice, how to handle composition vs regular, sequential numbering, ITC, and what your CA wishes you knew.
- gst
- compliance
- invoicing
This is general guidance based on common GST treatment for the F&B sector. Rules change. Verify with a CA before you file. We are software people, not chartered accountants.
If you run a restaurant, café, or cloud kitchen with a GST registration, the bill you hand a diner is not just a receipt: it's a tax document. Get the invoice format wrong and three things happen: your B2B customers can't claim ITC on catering bills, your GSTR-1 reconciliation breaks, and your CA will quietly add ₹3,000 to next month's fee for "cleanup".
This is what actually goes on a tax invoice for an F&B outlet, in plain English, with the parts most operators get wrong.
Are you a "regular" GST registrant or "composition"?
It changes everything. Find out before you do anything else.
- Regular registrant. Charges 5% GST on food (most restaurants), can claim ITC on raw materials, files GSTR-1 + GSTR-3B every month. Most restaurants doing more than ₹1.5 cr/year are here.
- Composition scheme. Pays a flat 5% on turnover, cannot collect tax from customers, cannot issue tax invoices (only "Bill of Supply"), no ITC. Available below ₹1.5 cr turnover.
If you're under composition, do not put "GST" on your bill. Mark it "Composition taxable person, not eligible to collect tax on supplies". It's a legal requirement on the bill of supply.
If you're regular, the rest of this post is for you.
The 12 things a tax invoice must contain
Per Rule 46 of the CGST Rules. We've put each in plain English with where most operators slip.
- Word "Tax Invoice" somewhere on the document. Yes, literally those two words.
- Your name, address, GSTIN. Print all three. The full registered name (not the marketing name).
- A consecutive serial number, unique for the financial year. This is where most outlets go wrong. The number must be sequential, never re-used, no gaps.
INV-2026-0001,INV-2026-0002,INV-2026-0003. If you skip one, you'll have to file an explanation. If you re-use one, that's a problem. - Date of issue.
- Customer name + address + GSTIN if registered. For walk-in dine-in, "Cash sale" is OK. For B2B (catering, corporate, large takeaway), if the customer gives a GSTIN, you must print it: that's how they claim ITC.
- HSN code of the goods. For prepared food in a restaurant, most items use HSN
2106or1905. Confirm with your CA per category. - Description of goods or services.
- Quantity + unit.
- Total value.
- Taxable value (i.e. value before GST).
- Rate of tax + amount of tax charged, broken into CGST + SGST (intra-state) or IGST (inter-state).
- Place of supply. For a restaurant, this is the state where the restaurant operates. For takeaway delivered to another state, it's the destination state.
That's it. Twelve required fields. If your invoice is missing any of these and a B2B customer audits you, expect questions.
Sequential numbering: the single most-broken thing
Pretty much every operator we onboard does this wrong on day one. Examples we've seen:
- Numbers reset every day to
INV-001. Wrong: must be unique for the financial year. - Numbers skip when a sale is cancelled. Wrong: issue a credit note, don't skip the number.
- Two registers issuing different number sequences. Wrong: one outlet, one sequence.
- POS crashes mid-shift, register restarts at
001. Wrong, and a real pain to clean up.
The right way: one numbering counter per outlet per financial year, increments only forward, never backward. If you cancel an order, the invoice for that order still exists and you raise a credit note (with its own credit note number) to offset.
QRated handles this automatically with the invoice_counter field on each tenant. You'll see the format INV-2026-0001 where 2026 is the FY start year. The counter never decrements. If you switch software mid-year, set the new system's starting counter to last + 1 of the old system.
CGST + SGST vs IGST: when which?
Restaurants serve customers in front of them, so it's almost always intra-state: CGST + SGST split equally.
- Bill total taxable value: ₹1,000.
- Tax rate (food, dine-in): 5%.
- CGST (2.5%) = ₹25.
- SGST (2.5%) = ₹25.
- Bill total: ₹1,050.
For takeaway delivered out-of-state (rare), use IGST 5%: single line, no split. The "place of supply" tells you which to use.
Photographs of items, descriptions, and other things on the bill
Things that should be on the invoice (legally required + customer-friendly):
- Itemised list with description, quantity, unit price.
- Subtotal (taxable value).
- CGST & SGST or IGST lines.
- Total payable.
- Round-off line if you're rounding to the nearest rupee.
Things you can add (no legal requirement):
- Service charge (legally optional, must be disclosed; do not call it a tax).
- Tip line (no GST applies to tips).
- "Thank you for visiting" footer.
- Your logo.
Things you shouldn't put on the invoice:
- Phrases like "GST collected at source on behalf of government": not how it works for restaurants.
- "Inclusive of all taxes" and also a separate GST line. Pick one.
- A barcode or "track your order" QR (fine on a separate slip, but a tax invoice is a tax document).
Service charge: the most-misunderstood line
Service charge is optional in India. The CCPA's 2022 advisory clarified that adding it without consent is unfair trade practice. If you charge it:
- It must be clearly disclosed (menu, table, ideally on the order screen).
- It cannot be added "automatically" without diner consent.
- It is not a tax: it goes to your business (or staff tip pool, if you choose).
- GST is not charged on the service charge component for a regular restaurant.
If a diner asks you to remove it, you must remove it. Don't fight this. Refund it without friction, your reputation is worth more than ₹50.
What "ITC" means and why your B2B customers care
Input Tax Credit. When a corporate orders catering for ₹50,000 + GST ₹2,500, that ₹2,500 is GST they paid you, but they want to recover it from the government against their own GST liability. To do that, they need an invoice with their GSTIN printed on it.
If you forget to put their GSTIN on the bill, they can't claim ITC. They'll come back and ask for a re-issued invoice. Sometimes you can't re-issue if the period is closed. So always ask, every time, for B2B orders: "Do you want a tax invoice with GSTIN?"
For dine-in walk-ins, ITC almost never applies (employees can't claim restaurant meals as ITC under GST law). Skip it.
Credit notes: when an order is cancelled or partially refunded
If you fully cancel an order after the invoice has been generated, do not delete the invoice. Issue a credit note. Credit notes:
- Have their own sequential numbering, separate from invoices (e.g.
CN-2026-0001). - Reference the original invoice number.
- Show the amount being credited and the reason.
- Reduce your output GST liability for that period when filed in GSTR-1.
Same applies for partial refunds. If a diner refused a dish and you refunded ₹200 from a ₹1,200 bill, issue a credit note for ₹200 + GST.
QRated supports invoice generation but credit notes are typically handled by your CA at month-end. Talk to them about how to track refunds in your operating system so they can be reconciled.
What QRated gives you out of the box
On the Pro plan (₹10,000/year, billed yearly):
- Sequential, financial-year-prefixed invoice numbers.
- Tax invoices with all 12 required fields.
- CGST/SGST split based on your tenant state.
- HSN code per item (configurable per item, defaults to
2106). - Customer GSTIN entry on the order flow (B2B catering checkbox).
- Downloadable PDF invoice for the diner from the order confirmation page.
- Owner can re-download any invoice from the order details row.
- Automatic e-mail of the invoice if the diner submits a marketing opt-in.
What we don't do (yet):
- Direct GSTR-1 export. Today you (or your CA) export the order CSV and import to your GST filing tool. Native GSTR-1 is on the roadmap.
- e-Invoice (mandatory above ₹5 cr turnover). On the roadmap.
- ISD (Input Service Distributor) for multi-outlet GST allocation. On the roadmap.
If you're doing more than ₹5 cr/year and need e-Invoice today, use Petpooja or talk to a dedicated e-invoicing provider. We're not the right tool for that scale yet.
A 5-minute monthly close
Once a month, around the 5th:
- Open Dashboard → Orders → filter by previous month.
- Export to CSV (the "Download" button).
- Open Dashboard → Settings → Invoice counter. Confirm last number matches the count in your CSV.
- Hand the CSV to your CA.
- They reconcile against GSTR-2A, file GSTR-1 by 11th, GSTR-3B by 20th.
This is a CA-handled step. Your software's job is to give them clean data. QRated's CSV export is GST-flat and your CA will love you for it.
What to ask a CA before you launch
Pick a CA who has F&B clients. Ask them:
- What's the right HSN code for my menu? (
2106,1905, or category-specific?) - Should I register on the regular scheme or composition? (Depends on turnover + ITC profile.)
- What's my filing cycle: monthly or quarterly?
- Do I need an FSSAI mention on my invoice? (Not legally on the GST invoice, but FSSAI number must be displayed at the outlet.)
- Do I need to print my CIN (if private limited)?
Get the answers in writing, save the email, refer back when configuring your invoice template.
The shortest possible summary
- Sequential numbering, never re-used, never skipped.
- 12 required fields.
- CGST + SGST for intra-state, IGST for inter-state.
- Always ask B2B customers for GSTIN.
- Credit notes for cancellations, never delete invoices.
- Service charge optional, no GST on it, must be removable on request.
- Hand a clean CSV to your CA every month.
Get those right and you'll never be the reason your CA charges you extra.