GST is one rate charged once and presented under different heads: CGST and SGST when the goods stayed in your state, IGST when they did not. This plugin decides which column the tax sits in, writes it onto the order, and prints the tax invoice.
Nothing here changes what a customer is charged. WooCommerce works the tax out; this presents it. A plugin that computes GST alongside WooCommerce's own tax charges twice, and the shop finds out from a customer.
The four rules
The split rule. Half under CGST and half under SGST for an intra-state supply, all of it under IGST otherwise — and the second half is the *remainder*, never a second rounding, so the heads add back to the charged total exactly. Halving twice puts a paisa between your invoice and your order, thousands of times, in a report somebody reconciles by hand.
The frozen rule. The seller's state and GSTIN, the place of supply, the kind of supply, the split, and every line with its own HSN, value, rate and heads are written onto the order once and never worked out again. GST rates change; HSN classifications get corrected; a shop moves state. An invoice already filed with a return cannot move because somebody fixed a code in August.
The checksum rule. A GSTIN is checked against its own check digit, not its length. A shape-only check accepts a transposed pair in the middle of the PAN, puts it on an invoice, and leaves the customer unable to claim the credit they gave the number for — and they find out weeks later. The state inside the number must agree with the billing address, too.
The series rule. A tax invoice number is drawn in one atomic statement and then frozen. Two invoices with one number is a return that will not reconcile. A new series starts each April, because that is when India's financial year does.
What you get
- A GSTIN field at the checkout, checked properly, refused with a reason
- HSN and SAC codes on products, variations and product categories
- The CGST/SGST/IGST split on the order, on My Account and in every email
- A GST panel on both order screens
- Printable tax invoices, in a batch, from the orders screen
- A GSTR-1 CSV export split into B2B and B2C
- No database tables
What it deliberately does not do
It does not bundle a PDF renderer. The invoice is HTML with a print stylesheet and the browser makes the PDF — which is three megabytes of dependency, a memory ceiling and a font problem avoided, and it means a business name in Devanagari prints on day one.
It never invents an HSN code. A product nobody has classified leaves the column blank and is counted on the order, because a plausible wrong code is a mis-filed return while a blank one is something you can see and fix.
It never guesses a split. A shop that has not said which state it is registered in gets no split at all, and the tax WooCommerce charged is left exactly as WooCommerce charged it.
Every license includes
- One year of updates and priority support, delivered straight to your WordPress dashboard.
- Use on 1, 5 or 25 sites depending on your license — local, staging and development sites are always free.
- 30-day money-back guarantee — full refund, no questions asked.
- Keeps working after expiry — if you choose not to renew, the plugin keeps running exactly as installed; it simply stops receiving updates and support until you do.
Requires WordPress 6.4+ · PHP 7.4+ · tested up to WordPress 7.0. Works with the classic and block checkout alike.

Olivia H. (verified owner) –
Running it on four client sites now. India GST hasn’t slowed the admin down at all. Have already told two other shop owners about it.
Katharina M. (verified owner) –
Erfüllt seinen Zweck, wenn die Einstellungen stimmen. Die Dokumentation zu India GST könnte klarer sein.
Chloe Dixon (verified owner) –
This one is a keeper. I have had India GST on a busy shop for a full season. Buy it.
Claire N. (verified owner) –
Not the prettiest settings screen I’ve used, but it works. India GST is fine on a small catalogue. Can’t speak for a big one. Yes, on balance.
Ryan M. (verified owner) –
Six months in and I have nothing to complain about. Worth every penny.