Skip to content
Building a Shopify app or a SaaS product?Chat on WhatsApp
POS & Operations

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.

AK
Aashish Kaushik · 7 min read · updated 24 October 2026
A close-up shot of a person coding on a laptop, focusing on the hands and screen.
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

RouteWhat it gives youWhat it costs
GST invoicing appCompliant invoices generated from ordersMonthly fee, another dependency
Integration with accounting softwareOrders flow into a system built for Indian complianceSetup work, sync to maintain
Custom developmentExactly the document and workflow you needBuild cost and maintenance
Manual, outside ShopifyComplete controlNot 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.

Building a Shopify app or a SaaS product?

ByteInfy designs, builds and ships them. Tell us what you are making.

Chat on WhatsApp

Or reach us directly

About the author

Aashish Kaushik

Founder

Builds Shopify apps and SaaS products at ByteInfy.

More from Aashish

Get new articles by email

No more than one a week. Unsubscribe in one click.

Comments

Comments are reviewed before they appear.

Keep reading

Two women organize inventory and manage orders on the laptop in an office setting.

Shopify POS in 2026: A Complete Guide for Retailers

Shopify POS stopped being an add-on to an online store some time ago. In 2026 it runs multi-entity businesses, mixed fulfilment and in-store-only discounting from the same catalogue as your storefront.

23 October 2026 · 8 min readRead
A woman in an office packing clothes with wrapping paper for online store sales.

Shopify Inventory Sync Across Online and Retail

Shared inventory removes the sync problem and replaces it with an allocation problem. That one is a business decision, not a setting.

20 October 2026 · 8 min readRead
Close-up of a customer using a smartphone for contactless payment at a retail checkout with a pineapple on the counter.

Unified Commerce on Shopify: Online and Retail as One

Integrated systems exchange data and disagree. A unified system has one record. The difference only becomes obvious when something goes wrong at the counter.

15 October 2026 · 7 min readRead
WhatsApp