A Shopify GST invoice is not, in the strict sense, a GST invoice. Shopify produces an order confirmation: one undifferentiated tax line, no place-of-supply derivation, no CGST/SGST split, no buyer GSTIN field, no HSN, no invoice series that resets each financial year, and no IRN. Nine of the sixteen fields Rule 46 makes mandatory have no native equivalent. That is why the GST app on your store is not a convenience — it is load-bearing.
Short answer
Shopify does not generate a GST-compliant tax invoice for Indian sellers. It does not split CGST and SGST, derive place of supply, capture a buyer's GSTIN at checkout, carry HSN codes as a first-class field, or generate an IRN for e-invoicing. Shopify's own help centre directs Indian merchants to third-party apps for this. An invoice missing a mandatory Rule 46 field can be treated as invalid, meaning your B2B buyer cannot claim input tax credit on it. If your aggregate annual turnover has ever crossed ₹5 crore, e-invoicing with an IRN is a legal requirement and the app becomes mandatory.
I am Manoj, an open-source implementation consultant at Mith Tech in Bengaluru. I build commerce stacks with GST invoicing and IRN generation wired into the order flow. Honest take: this is the one area where I think the standard advice — "just install a GST app" — is genuinely fine for most stores. The argument for owning the stack here is narrower than the internet suggests, and I will say where it actually applies. This is not tax advice; confirm your own position with your CA.
Does Shopify generate a GST-compliant invoice?
No, and Shopify does not claim otherwise. Its own GST in India help page directs merchants to third-party invoicing services or App Store apps to produce a compliant bill. What passes for a Shopify GST invoice natively is an order confirmation and a packing slip — commercially useful documents that were never designed against Indian tax law.
The gap is structural rather than cosmetic. Rule 46 of the CGST Rules 2017 prescribes sixteen mandatory fields on a tax invoice, and a document missing any of them can be treated as invalid. Work through them against what Shopify actually emits:
Audits all sixteen mandatory GST tax-invoice fields under Rule 46 CGST Rules 2017 against what Shopify produces natively, marking each as native, partial or a gap.
The failures cluster in a revealing way. Shopify is perfectly good at the commercial fields — who bought what, when, for how much. It fails on every field that exists because Indian tax law says so: the document title, the invoice series, the place of supply, the tax split, the buyer's GSTIN, the HSN code, the reverse-charge flag, the signature.
That is not incompetence. It is a global platform correctly declining to model one country's statute in its core. It does mean the compliance layer has to come from somewhere else.
Skimmable summary: Shopify emits an order confirmation, not a tax invoice. It handles the commercial fields well and misses nearly every field that exists purely because Indian tax law requires it.
Why does the CGST/SGST split matter so much?
Because it is the field that encodes whether you charged the right tax at all, and getting it wrong is not a formatting error — it is the wrong tax paid to the wrong government.
An intra-state supply attracts CGST plus SGST, split evenly. An inter-state supply attracts IGST at the full rate. Which one applies is decided by place of supply, derived from your registration state and the delivery location. Shopify derives none of this and shows a single tax total.
Determines whether a supply is intra-state or inter-state from supplier and delivery state, shows the required CGST/SGST or IGST breakdown, and contrasts it with Shopify's single undifferentiated tax line.
Two practical consequences follow.
Your B2B buyer may lose their input tax credit. An invoice that does not correctly show the split, or omits their GSTIN, is not something they can safely claim against. In practice they will simply ask you for a proper invoice, and if you cannot produce one they will buy elsewhere. This is a commercial problem long before it becomes a compliance one.
Your returns will not reconcile. GSTR-1 wants supplies classified by place of supply and split correctly. If your storefront's output does not carry that classification, someone is rebuilding it in a spreadsheet every month — which is exactly the manual work an ecommerce platform was supposed to remove.
Skimmable summary: Place of supply decides CGST+SGST versus IGST, and Shopify derives neither. The cost is your B2B buyer's input tax credit and a monthly reconciliation done by hand.
What about e-invoicing and IRN?
Shopify has no native IRN generation, and above a turnover threshold that stops being optional.
The e-invoice limit is ₹5 crore of aggregate annual turnover, in force since 1 August 2023 under Notification 10/2023 – Central Tax. The part that catches people out is that crossing it in any financial year since 2017-18 binds you permanently, even if turnover later falls. Separately, businesses at ₹10 crore or more AATO must report invoices to the IRP within 30 days of the document date.
None of that machinery exists in Shopify. An e-invoice requires the invoice payload to be submitted to an Invoice Registration Portal, which returns an IRN and a signed QR code that must then appear on the document. That is an integration, and on Shopify it is necessarily an app.
Check your own liability date before assuming you are under the threshold
AATO is computed at PAN level, not per GSTIN, and includes exempt supplies and exports. Businesses regularly discover they crossed the threshold in a year they were not thinking about. Our e-invoice limit guide has a liability-date finder, and the ERPNext IRP integration post covers what the mechanics look like when it is built into the order flow rather than bolted on. Verify against CBIC on the day you act.
Skimmable summary: No native IRN. The e-invoice threshold is ₹5 crore AATO and binds permanently once crossed in any year since 2017-18; ₹10 crore+ must report within 30 days. On Shopify this requires an app.
Does TCS apply to my own Shopify store?
No — and this is the most common piece of misinformation in Indian ecommerce content, so it is worth stating clearly.
Section 52 TCS applies to e-commerce operators who facilitate supplies by other sellers. Amazon, Flipkart and Meesho collect it because they are collecting consideration on behalf of third-party suppliers. If you sell your own goods through your own Shopify store, there is no third-party supplier and no facilitation — you are simply making a sale. You charge GST at the applicable rate and file your normal returns.
Two clarifications worth holding onto:
- This does not change because you use Shopify. Shopify is software you licence, not an operator collecting your money — and in India it cannot be, because Shopify Payments is unavailable and settlement happens through your own gateway.
- It does change if you also sell on marketplaces. Your Amazon and Flipkart sales will have TCS deducted and reflected in your electronic cash ledger. Your own-store sales will not. Both flow into the same returns, which is precisely where multi-channel sellers get confused.
Skimmable summary: Section 52 TCS applies to marketplaces facilitating third-party sellers, not to your own D2C store. Marketplace sales carry TCS; own-store sales do not, and both land in the same returns.
What does compliance actually cost you on Shopify?
Less than the alarmist version, more than nothing, and the honest breakdown looks like this.
Everything a compliant Shopify GST invoice needs, and where it has to come from:
8 rows · click a column to sort
| Rule 46 invoice | Paid app | Template you define once |
| CGST/SGST split | Paid app | Derived in the order flow |
| Buyer GSTIN at checkout | App or custom field | A checkout field you add |
| HSN per product | Metafield workaround | A product attribute |
| Invoice series per FY | Paid app | Your numbering logic |
| IRN / e-invoicing | Paid app | An IRP integration you own |
| GSTR-1 ready export | Paid app | A report you write |
| Ongoing rule changes | Vendor ships it | You ship it |
Look at that last row before concluding anything. When GST rules change — and they change constantly — the app vendor absorbs that work. On an owned stack you absorb it. For a store doing straightforward B2C sales, paying a specialist vendor a few thousand rupees a month to track statutory change is genuinely good value, and I tell clients so.
The case for owning this narrows to three situations:
- You sell B2B at volume, so buyer GSTIN, correct splits and clean input-tax-credit documentation are core to the sale rather than an afterthought.
- You are already leaving Shopify for other reasons, in which case the compliance layer comes along as part of the migration rather than justifying it.
- Your invoice logic is genuinely non-standard — composite supplies, multi-GSTIN operations, unusual place-of-supply cases — and no off-the-shelf app models it correctly.
Outside those three, install the app. The compliance gap is a real limitation of Shopify in India, and it is also, for most stores, a solved problem with a monthly price tag.
Skimmable summary: An app handles this well for straightforward B2C, and the vendor absorbs statutory change — which is worth paying for. Owning the compliance layer pays off mainly for B2B-heavy sellers, non-standard invoice logic, or merchants already migrating.
How do you fix your invoices this week?
Pull one recent order and audit it against Rule 46
Use the sixteen-field tool above against a real document, not a hypothetical one. Note every field that is missing or wrong. This takes fifteen minutes and usually surprises people.
Confirm your e-invoicing liability with your CA
AATO is PAN-level and includes exempt supplies and exports. Establish whether you have ever crossed ₹5 crore in any financial year since 2017-18, and get the date in writing.
Fix the invoice series first
Shopify order numbers are not a GST invoice series. A compliant series is sequential, unique, up to sixteen characters, and resets per financial year. This is the cheapest thing on the list to get right and one of the most visible in an audit.
Capture buyer GSTIN at checkout, not after
If you sell B2B at all, add the field to checkout. Collecting it by email afterwards means reissuing documents, and reissued invoices are their own reconciliation problem.
Put HSN on products as structured data
Not in the description. A metafield is the usual Shopify answer; on an owned stack it is a product attribute. Either way it must be queryable, because your invoice template and your GSTR-1 both need it.
Reconcile one month end to end before you trust it
Take a full month of orders through invoice generation to GSTR-1 and check it ties. Whatever breaks will break every month until you find it.
Skimmable summary: Audit a real invoice against the sixteen fields, confirm your e-invoicing liability with your CA, fix the invoice series, capture buyer GSTIN at checkout, structure HSN as data, then reconcile one full month end to end.
Frequently asked questions
+Is there a proper Shopify GST invoice app, or can I do it natively?
You need an app. There is no native path to a compliant document, because the missing pieces are fields and logic rather than formatting — the CGST/SGST split, place-of-supply derivation, a statutory invoice series and IRN generation all have to be computed somewhere. Several established Indian vendors do this well, and for a straightforward B2C store that is the right answer rather than a compromise.
+Does Shopify generate GST invoices in India?
No. Shopify produces an order confirmation and a packing slip, not a Rule 46 compliant tax invoice. It does not split CGST and SGST, derive place of supply, capture a buyer's GSTIN, or carry HSN codes as a first-class field. Shopify's own help centre directs Indian merchants to third-party invoicing apps, which makes the app a compliance requirement rather than an optional add-on.
+Why doesn't Shopify split CGST and SGST?
Because it does not model Indian place-of-supply rules. The CGST/SGST versus IGST decision depends on whether the supply is intra-state or inter-state, derived from your registration state and the delivery location. Shopify's tax engine is built for generic rate-based taxation and emits a single tax total, so the split has to be computed by an app or a custom invoice template.
+Can I sell B2B on Shopify in India?
You can, but not compliantly out of the box. There is no native field to capture a buyer's GSTIN at checkout, and without it you cannot issue an invoice your buyer can claim input tax credit against. Most Indian B2B sellers solve this with an app or a custom checkout field. If B2B is a large share of your revenue, this is one of the stronger arguments for a platform where the checkout is yours to change.
+Does Shopify handle e-invoicing and IRN generation?
No. Shopify has no native IRN generation. E-invoicing requires submitting the invoice payload to an Invoice Registration Portal, receiving an IRN and signed QR code, and printing them on the document. On Shopify this must come from a third-party app. Above ₹5 crore aggregate annual turnover, e-invoicing is a legal requirement, so the app becomes mandatory.
+Is TCS applicable on my own Shopify store sales?
No. Section 52 TCS applies to e-commerce operators facilitating supplies by third-party sellers, such as Amazon, Flipkart or Meesho. Selling your own goods through your own store is not facilitation, so no TCS applies — you charge GST normally and file standard returns. If you also sell on marketplaces, those sales will carry TCS while your own-store sales will not.
+Can I use Shopify order numbers as GST invoice numbers?
Not safely. A GST invoice number must be a unique sequential series of up to sixteen characters, and standard practice is to reset it each financial year. Shopify order numbers are a continuous store counter that does not reset and is not designed as a statutory series. Most GST apps issue their own compliant series alongside the order number.
+Is it worth leaving Shopify just for GST compliance?
Usually not on its own. A good GST app handles Rule 46 invoicing, the CGST/SGST split and IRN generation well, and the vendor absorbs the constant statutory change — which is real value. The compliance argument becomes strong when you sell B2B at volume, when your invoice logic is genuinely non-standard, or when you are already migrating for other reasons and the compliance layer simply comes along.
Closing
Shopify's GST gap is real, well documented, and — for most Indian stores — solved by an app you should just go and install. I would rather say that plainly than pretend a compliance problem into a migration argument, because the app vendors genuinely earn their fee tracking statutory change that neither you nor I want to track.
What the gap does tell you is something about the shape of the platform. A store where the invoice is a document you rent will always be a step behind the law of a country its vendor did not build for. Today that costs you an app subscription. It is worth knowing which side of that arrangement you are on, and what it would take to be on the other one.
About the author
I am Manoj, an open-source implementation consultant at Mith Tech, an independent Medusa.js, Frappe and n8n studio in Bengaluru. I build GST invoicing and IRP integration into commerce order flows for Indian brands. I am not a chartered accountant, and nothing here is tax advice — take your liability position to your CA.
B2B invoicing on Shopify fighting you, or unsure whether e-invoicing has caught you yet?
Tell us your turnover, your B2B share and what your current invoices look like. We will tell you whether an app closes the gap, or whether the checkout itself is the thing standing in your way.