GST place of supply for Shopify sellers, explained
14 July 2026 · 7 min read
Under India’s GST law, the tax you charge on a sale of goods depends on one thing: the place of supply. For most D2C orders, that’s the customer’s shipping address — not their billing address, and not your shop’s registered address. Get this wrong and you end up charging IGST on an intra-state sale, or CGST+SGST on an inter-state one — both are real GST return mismatches, not cosmetic errors.
The rule in one line
Compare the ship-to state against the ship-from state of the specific warehouse that fulfilled the order. If they’re the same state, the sale is intra-state and splits into CGST + SGST (each half the applicable rate). If they differ, it’s inter-state and the full rate is charged as IGST.
Why billing address is the wrong field to use
A customer can be billed in one state and shipped to in another — a gift order, a different delivery address on file, a corporate purchase billed centrally but delivered to a branch. GST place-of-supply rules for goods are explicit that the destination of the goods is what matters, not who’s paying or where the invoice is addressed.
Multi-warehouse sellers: map every location once
If you fulfil from more than one Shopify location, each one needs its own state mapped correctly — not just your primary warehouse. This is a one-time setup, not a per-order decision: once each Shopify location is tied to the correct ship-from state, every future order from that location resolves automatically.
What happens when a single day spans multiple GST rates
A single state’s daily sales can easily include products at different GST rates — say, 5% and 18% items shipped to the same state on the same day. The correct handling is to keep each rate as its own line within that day’s aggregate, rather than collapsing everything into one blended figure. Practically:
- One Sales + CGST/SGST(or IGST) line-group per distinct GST rate present that day, within one state-day voucher.
- The intra-state vs. inter-state determination is made once per state (it depends on ship-to vs. ship-from), not per rate.
- Credit notes for returns get the same treatment, against the return date’s own state — not the original shipment date.
The takeaway
Place of supply is a mechanical rule, not a judgment call — which makes it exactly the kind of thing that should never require manual checking per order. Ledgeree resolves it automatically from the fulfilling location’s mapped state on every shipment, and keeps multi-rate days split correctly rather than blended.