GST Invoicing for Shopify Stores in India
Shopify handles tax calculation. It does not produce the invoice format Indian compliance expects, and that gap is a requirement to solve rather than discover.

On this page
Key takeaways
- Shopify calculates GST but does not natively produce the invoice format Indian compliance expects.
- The gap is a project requirement, not a surprise — decide the route during implementation, not after the first filing.
- Most merchants integrate with the accounting software where filing already happens, rather than adding a standalone app.
- B2B orders need the customer's GSTIN captured at checkout, which is not a default field.
Merchants setting up a Shopify store in India frequently discover the GST gap after launch, usually at the first filing or the first B2B customer who asks for a proper invoice.
The gap is narrow and specific. Shopify calculates tax competently and can be configured with GST rates. What it does not do is produce the invoice document Indian compliance expects, with the fields, structure and numbering that document requires.
That is a requirement to solve during implementation rather than a defect to complain about, and treating it as one avoids the scramble.
Verify against current rules
GST requirements change, and the specifics vary by what you sell and where. Everything here is orientation. Confirm the current position with whoever handles your filing before building anything.
What Shopify does and does not do
It does calculate tax, support tax rate configuration, apply rates by region, and record what was charged on each order.
It does not natively produce a compliant tax invoice — HSN or SAC codes per line item, the CGST, SGST and IGST split presented as required, a compliant sequential numbering series, or the supplier and recipient GSTIN details a business customer needs.
Those are document requirements rather than calculation requirements, which is why the platform handles one and not the other. Shopify serves a great many jurisdictions and does not implement each country's specific invoice format natively, which is a reasonable design decision that nonetheless leaves Indian merchants with work to do.
The routes available
Approaches to GST invoicing on Shopify
| Route | What it gives you | What it costs |
|---|---|---|
| GST invoicing app | Compliant invoices generated from orders | Monthly fee, another dependency |
| Integration with accounting software | Orders flow into a system built for Indian compliance | Setup work, sync to maintain |
| Custom development | Exactly the document and workflow you need | Build cost and maintenance |
| Manual, outside Shopify | Complete control | Not viable beyond very low volume |
Most merchants end up on the second, because filing happens in the accounting package regardless. Sending orders there and producing invoices from the system that files them avoids maintaining two sources of truth.
A standalone app is a reasonable choice at low volume with straightforward accounting. Custom work makes sense when your requirements are unusual, or when several apps are combining to produce one outcome.
Capture the GSTIN at checkout
The requirement most often missed at launch, and it only surfaces when a business customer asks.
A B2B buyer needs your invoice to carry their GSTIN to claim input tax credit. Shopify checkout has no GSTIN field by default, so it must be added — through a checkout UI extension, an app, or a custom field.
Points worth settling when you add it:
Make it optional. Most consumers do not have a GSTIN, and a mandatory field adds friction to every single order in order to serve a small minority of them.
Validate the format. A mistyped GSTIN produces an invoice the customer cannot use, and they will come back for a corrected one.
Carry it through to the invoice. Capturing it and not printing it is the worst of both — you added friction and did not deliver the benefit.
Decide what happens retrospectively. Customers will ask for an invoice carrying their GSTIN after having ordered without entering it. Have an agreed process for reissuing rather than improvising a different answer each time somebody asks.
Numbering is not cosmetic
An easy detail to underestimate.
Invoice numbering under GST is expected to follow a sequential series with defined characteristics, and it must be consistent. Shopify's order numbers are not designed as a GST invoice series, and using them directly is usually not appropriate.
Whichever route you take, the numbering needs deciding deliberately — the series format, where the sequence lives, and what happens across financial years. This is exactly the sort of thing that is trivial to set up correctly at the start and awkward to correct after a few hundred invoices exist.
Where it interacts with the rest of the store
Three places GST touches things merchants do not initially connect to it.
Returns and refunds. A refunded order needs a credit note, and that document has its own requirements. Decide how these are produced before your first return, not during it.
Discounts. Tax is calculated on the discounted value, so how a discount is applied affects the invoice. This matters more with complex mechanics — bundles, tiered thresholds, free gifts — where the value attributed to each line is not obvious.
Shipping charges. Whether and how tax applies to shipping needs setting correctly, and it is among the most common misconfigurations because it is set once during launch and then never revisited by anyone.
Before launching in India
- Decide your GST invoicing route and cost it into the project
- Confirm HSN or SAC codes exist for every product
- Set up the invoice numbering series deliberately
- Add a GSTIN field at checkout, optional and validated
- Confirm tax on shipping is configured correctly
- Decide how credit notes are produced for returns
- Have your accountant review a real invoice before you rely on it
That final item is the highest-value line on the list. One real invoice reviewed by whoever files your returns catches more problems than any amount of reading, it takes them a few minutes, and it converts a set of assumptions into a confirmed position before those assumptions are baked into several hundred documents.
HSN codes are a catalogue problem
The part that takes longest and gets scoped shortest.
A compliant invoice needs an HSN or SAC code per line item, which means every product in your catalogue needs one recorded against it. For a store with eight hundred products, that is a data project rather than a configuration setting.
Practical points:
Store it as structured data, in a metafield or a dedicated field, not in the description. Whatever produces your invoices needs to read it programmatically.
Codes vary by product type, and getting them wrong has consequences beyond an untidy invoice. This is a question for your accountant rather than a guess from a lookup table.
Set a default and flag exceptions. For catalogues where most products share a code, defaulting by product type and marking the exceptions is far faster than working product by product.
Build it into product creation. Otherwise new products launch without a code and the gap reopens continuously — the same pattern as alt text, and with the same fix.
Multi-state and place of supply
Worth understanding before configuring anything, because it drives the tax split on every invoice.
Whether a supply is intra-state or inter-state determines whether tax appears as CGST plus SGST or as IGST, and that determination rests on place of supply — for goods, generally the delivery address.
Two consequences for a Shopify store:
Your registered location matters. The split is calculated relative to where you are registered, so a merchant registered in one state selling nationally will produce both kinds of invoice routinely.
Multiple registrations complicate it. A business registered in several states, or operating warehouses in several, has a more involved determination and should not assume a single configuration covers it.
This is a genuine reason to involve whoever handles your filing during setup rather than after. The configuration is not difficult once the rules are clear, and it is very difficult to correct retrospectively across a few months of issued invoices.
Test with a real inter-state order
Place one genuine order to a different state and check the resulting invoice end to end — the split, the place of supply, the numbering, the codes. One real order surfaces more than any amount of configuration review, and it costs you the price of one product.
Plan it during implementation
The recurring pattern worth naming: merchants evaluate Shopify on its commerce features, launch, and meet the GST requirement afterwards.
Treated as part of the implementation, it is a manageable piece of work with a known cost. Treated as a surprise, it arrives alongside a filing deadline or an annoyed B2B customer, and gets solved under pressure with whatever is quickest.
It also belongs in the platform comparison. If you are weighing Shopify against a local ecommerce platform that handles GST natively, the honest comparison includes the cost of closing this gap — and it is a genuine consideration, particularly for merchants whose business is primarily domestic and primarily B2B.
For most merchants that comparison still favours Shopify, because the compliance gap is a bounded one-off cost while the platform advantages are ongoing. But it should be a decision made with the number in front of you rather than a gap discovered after committing, and merchants who are overwhelmingly domestic and B2B should genuinely weigh the alternatives rather than assuming.
For the wider India-specific picture, see POS and operations. Payment methods and COD handling for Indian stores are covered in checkout and payments.
Frequently asked questions
- Does Shopify generate GST invoices for India?
- Shopify calculates tax and can be configured with GST rates, but it does not natively produce the full invoice format Indian compliance expects — HSN codes, the CGST, SGST and IGST split presented as required, a compliant numbering series, and supplier and recipient GSTIN details.
- What does a GST-compliant invoice need to include?
- Broadly: your GSTIN and the customer's where applicable, a sequential invoice number, invoice date, place of supply, HSN or SAC codes per line, taxable value, and the tax split shown correctly as CGST and SGST for intra-state supply or IGST for inter-state.
- How do I collect a customer's GSTIN on Shopify checkout?
- Not by default — it needs a custom field, added through a checkout UI extension or an app.
- Should I use a GST app or integrate with my accounting software?
- Most merchants integrate with the accounting package they already file from, because filing happens there regardless and a second system creates reconciliation work.
- How does GST work for inter-state Shopify orders?
- Intra-state supply is generally split into CGST and SGST; inter-state supply is generally IGST. Which applies depends on place of supply, which for goods is usually the delivery address.



Comments