Skip to content
WooCommerce

WooCommerce GST Invoice Setup: What to Check

WooCommerce calculates tax but does not produce GST invoices by itself. Here is what to add, what to check with your accountant, and how to test it.

Overhead view of a laptop, a card machine and a coffee
8 sections · 7 min read
In this article · 8 sections

Your accountant has asked for the invoices for last month’s online orders, and you realise the store has never produced any. Customers get an order confirmation email, which lists products and a total, but nothing that looks like a tax invoice. Or a business customer has written asking for a proper bill with their GSTIN on it, and you are not sure where that would even go.

Getting a WooCommerce GST invoice right is mostly a matter of filling gaps that core WooCommerce leaves on purpose, because it is built for shops in every country and does not assume any one tax system. This post explains what the store does and does not do out of the box, the details an Indian tax invoice usually needs, and how to set things up so your accountant gets what they need without manual retyping.

Please note: this is general information, not tax advice. GST rules have exceptions and change from time to time. Confirm the exact requirements for your business with your chartered accountant or tax adviser before relying on any setup.

What WooCommerce does and does not do for GST

Out of the box, WooCommerce can:

  • Store tax rates in tax tables, grouped into tax classes, and apply them by the customer’s location.
  • Let you enter prices with or without tax, and show prices inclusive or exclusive of tax.
  • Calculate tax on products and shipping and show it on the order.
  • Number every order.

It does not, by itself:

  • Generate a PDF invoice.
  • Keep an invoice number series separate from order numbers.
  • Store an HSN or SAC code for each product.
  • Ask business customers for their GSTIN at checkout.
  • Split tax into central and state components, or label it as integrated tax, on a document.

Those gaps are normally filled with an invoice plugin plus some configuration, and sometimes a few lines of custom code. If the tax amounts themselves look wrong at checkout, sort that first; our guide to tax or shipping totals that come out wrong covers how WooCommerce picks a rate.

What a GST tax invoice usually shows

Ask your accountant for their list. As general information, a GST tax invoice commonly includes:

  • Your business name, address and GSTIN.
  • An invoice number from a consecutive series, and the invoice date.
  • The customer’s name and billing address, plus delivery address where it differs.
  • The customer’s GSTIN, if they are a registered business.
  • Place of supply, which decides whether the sale is within your state or between states.
  • For each line: description, HSN or SAC code, quantity, unit, taxable value.
  • Tax rate and tax amount, shown as central and state tax for sales within your state, or integrated tax for sales to another state.
  • Total value, and a signature or digital equivalent.

Your accountant may want more or less than this, depending on your registration type and what you sell. Some small businesses are under a scheme where they issue a different kind of document altogether. That is exactly the sort of thing to confirm before building the setup.

Setting up GST invoices for an online store, step by step

1. Get the tax calculation right first

An invoice can only print what the order already holds. Set up tax classes that match how your products are taxed, enter the rates your accountant confirms, and decide whether your shop prices include tax (common for retail) or exclude it (common for trade). Then place test orders to an address in your own state and one in another state, and check the tax on each.

2. Show central and state tax separately where needed

One common approach is to enter separate tax rows for the central and state parts for your home state, and a single integrated row for other states, so WooCommerce stores the split on the order. Another is to keep one combined rate and let the invoice template split it. Both can work; what matters is that the invoice shows what your accountant expects and the totals add up to the paisa. Agree the method with them before you start entering rates.

3. Add HSN or SAC codes to products

Core WooCommerce has no field for these. Options include a custom product field, a product attribute, or a feature in your invoice plugin. Pick one, fill it for every product, and make it part of your routine for new products.

4. Collect the customer’s GSTIN at checkout

Add an optional checkout field for the GST number (and often the registered business name), save it on the order, and print it on the invoice. Some stores also check the format of the number before the order is placed, which catches typing errors. Business buyers who order regularly will appreciate having it saved on their account. If wholesale customers are a large part of your trade, our post on features a wholesale online store needs covers this alongside trade pricing.

5. Choose and configure an invoice plugin

Popular free plugins such as PDF Invoices & Packing Slips for WooCommerce generate invoices from orders and attach them to emails; paid tiers of various plugins add more options. Rather than trusting a feature list, test the plugin against your accountant’s checklist: can it show every field above, can it use its own number series, does it reset or continue the series the way you need, and can it produce a credit note? Some plugins are built specifically for Indian GST invoices. Whichever you choose, check it supports your WooCommerce version and checkout type.

6. Decide when an invoice is created

Invoices can be generated when an order is placed, when payment is received, or when the order is completed. For cash on delivery orders, creating the invoice when the order is placed may mean invoicing goods that are later refused. Talk to your accountant about which trigger suits your business.

Refunds, cancellations and credit notes

Once an invoice exists, you generally do not delete it or edit it when a customer returns the goods. Instead, a credit note records the reduction. Check that your invoice setup can produce credit notes with their own numbering and a reference to the original invoice, and that refunds in WooCommerce trigger them. If refunds themselves are getting stuck rather than recorded, see our guide to refunds that will not process.

Cancelled orders that never got an invoice need no credit note, which is one reason the timing decision above matters.

E-invoicing and larger businesses

GST e-invoicing requires businesses above a turnover limit set by the government to report invoices to the official invoice registration portal and include the reference it returns. The limit has been lowered over the years. Whether it applies to you, and how your store’s invoices should connect to it, is a question for your accountant. If it does apply, expect to need either an integration with an e-invoicing service or a process where invoices are raised in accounting software rather than in the store.

Store invoices or accounting software invoices?

You do not have to make the store your invoicing system. Two workable patterns:

Approach How it works Good when
Invoices from WooCommerce Plugin creates the PDF from each order and emails it Most sales are online and volumes are manageable
Invoices from accounting software Orders are exported or synced to accounting software, which issues the invoice You also sell offline, need one invoice series, or e-invoicing applies

Running both without a plan is the mistake to avoid: two series for the same sales confuse everyone, including the tax return.

A WooCommerce GST invoice test before go-live

Place these orders on a staging copy or with test payments, download each invoice, and send the set to your accountant:

  1. A retail order to your own state.
  2. A retail order to another state.
  3. A business order with a GSTIN.
  4. An order with two products in different tax classes, plus shipping.
  5. An order with a coupon, to see how the discount appears.
  6. A refunded order, to see the credit note.

Ask them to mark what is missing or wrong. Fix, repeat, and only then switch it on for real orders. Invoice and tax setup is one of the items that separate a basic store from a properly finished one, which is part of why the WooCommerce store cost in India depends on more than design.

Mistakes that cause trouble at filing time

  • Using order numbers as invoice numbers when orders get deleted or skipped.
  • Products with no HSN code, or the wrong one copied from a similar item.
  • Tax set on products but not on shipping, or the other way round, without checking which is right.
  • Editing old invoices after a refund instead of issuing a credit note.
  • Changing tax settings mid-year without telling the accountant.

If your store’s invoices are missing details or the tax figures do not match your accountant’s records, our WooCommerce help sessions can set up the fields, template and test orders with your accountant’s list in hand. They decide what the invoice must say; we make the store produce it.

Is Your Website Working Properly?

Get a free website health check from WebMaintor. We'll review your website's speed, security, forms, and technical health — and tell you exactly what needs attention.

No obligation. No automated reports. A real review by our team.