Skip to content
RhytmeloRhytmelo

GST on Shopify in India: Tax Settings, Invoices and GSTINs

Shopify works out CGST, SGST and IGST but doesn't issue GST invoices. How to set rates, keep HSN codes and GSTINs, and reconcile at month end.

Rhytmelo · 7 Nov 2026 · 4 min
Woman at a table working on a laptop and a calculator with invoices beside her

Indian Shopify merchants ask the same three questions about GST. Does Shopify charge the right tax? Can it give my customer a proper GST invoice? And why don't Shopify, my payment gateway and my courier ever add up to the same number? Here's what Shopify does, what it leaves to you, and how we set it up for clients.

Tax rules change and every business is different, so treat this as a guide to the Shopify side and confirm rates and filings with your CA.

What Shopify does on its own

Shopify's India GST page (last updated 22 September 2025) says the default settings are only a starting point. Out of the box, a store gets a country rate and state rates that you're expected to change.

Shopify does handle the split you'd expect:

  • for an order delivered inside your own state, it charges CGST and SGST
  • for an order going to another state, it charges IGST

What it won't do is know your product's rate. GST depends on the HSN code, and since the rate changes of 22 September 2025, many goods have moved between slabs. If your store still has one rate for everything, some of your prices are probably taxed wrongly.

Setting rates by product

Shopify's suggested way is hidden collections with tax overrides:

  1. Group products by GST rate into collections that aren't shown on the storefront, for example "GST 5%" and "GST 18%".
  2. Add a tax override to each collection under your tax settings.
  3. Put every new product into the right collection when you create it. This is the step people forget, so make it part of your product upload checklist or automate it with Shopify Flow.

Where to keep HSN codes

Shopify lets you store the HSN code in the product's HS tariff code field, as long as it has at least six digits. If your HSN code is shorter, Shopify suggests keeping it in a metafield or a tag. Either way, your invoicing app needs to read it from the same place every time.

Shopify doesn't issue GST invoices

This surprises people. Shopify's help centre says plainly that it doesn't create a GST-compliant bill. You need a GST invoicing app from the Shopify App Store or a local invoicing service connected to your store.

Before you choose one, check that it:

  • shows your GSTIN, the buyer's GSTIN when there is one, the HSN code and the CGST, SGST or IGST split on each line
  • numbers invoices in one continuous series per financial year
  • handles credit notes for returns and RTO
  • can produce e-invoices with an IRN and QR code if your turnover puts you in the e-invoicing range (it applies to B2B invoices once aggregate turnover passes ₹5 crore)

Collecting a business buyer's GSTIN

Business buyers want their GSTIN on the invoice so they can claim input tax credit. There are two ways to collect it.

For a few business orders, add a GSTIN field to the cart or checkout and pass it to your invoicing app. Validate the format (15 characters) before the order is placed, because a wrong GSTIN means reissuing the invoice.

For regular trade buyers, use Shopify B2B. Each company location in Shopify has its own tax ID field, so the GSTIN is stored once and attached to every order from that location. B2B runs on Basic, Grow and Advanced as well as Plus; we covered the limits in Shopify B2B without Plus. Shopify only validates tax numbers automatically for UK and EU VAT, so for Indian GSTINs you still need a check of your own.

Why the numbers never match

At month end you have three reports that should agree and don't:

  • Shopify records the order, the tax and the refund.
  • Your payment gateway settles prepaid orders after deducting its fee and the GST on that fee. Our gateway comparison covers the fees.
  • Your courier or aggregator sends COD money later, minus shipping, COD charges and RTO costs, each with its own GST.

The fix is to match on order ID, not on totals. Export orders from Shopify, settlements from the gateway and remittances from the courier, join them on the order number, and flag anything unmatched: payments with no order, COD orders never remitted, RTOs with no credit note. A spreadsheet does this for a small store. Past a few hundred orders a month, a small script or internal tool that runs every week saves your accountant days.

What we set up for clients

On a Shopify build or migration we set GST up as part of the job: rates by collection, HSN codes in one place, a GST invoicing app wired to them, GSTIN capture for business buyers, and a monthly reconciliation export. If your store is live and the tax side has drifted, an audit (₹60,000, credited in full to a project signed within 60 days) will show where.

Related service: Shopify Engineering

Work

Still loading…

This is taking longer than it should.

Try againGo home