GST-Compliant Invoicing for WooCommerce Stores in India: A Practical Guide

Running a WooCommerce store in India involves more than accepting payments and shipping orders. If your business is registered under GST, your invoicing process also needs to capture the right tax information and generate invoices that meet applicable GST requirements.

For online sellers, manually preparing every invoice can quickly become difficult as order volumes increase. A properly configured WooCommerce store can automate much of this process—from calculating GST to adding HSN/SAC details and generating PDF invoices.

This practical guide explains how to set up GST-compliant invoicing for WooCommerce stores in India, what information your invoices should contain, how to handle CGST, SGST and IGST, and when you may need to consider e-invoicing.

Important: GST requirements can vary depending on your business, products, registration status and transaction type. Use this guide as a technical implementation reference and confirm your specific tax obligations with your GST professional or accountant.

OrderplacedPaymentconfirmedGSTcalculatedInvoice no.assignedPDF invoicegeneratedEmailedto buyerAutomating this flow keeps WooCommerce order data and the GST invoice in sync.
A typical automated GST invoicing workflow for a WooCommerce store. Illustration.

What Makes a GST-Compliant Invoice?

A GST tax invoice needs to contain specific information so that the transaction can be properly identified and the applicable tax can be determined.

According to GST guidance, important invoice details include the supplier’s GSTIN, a consecutive invoice number, invoice date, recipient information, place of supply, HSN/SAC details, taxable value and applicable taxes.

For a WooCommerce store, your invoice should generally be capable of displaying:

  • Seller’s legal name and address
  • Seller’s GSTIN
  • Unique invoice number
  • Invoice date
  • Customer name
  • Billing and shipping address
  • Customer GSTIN, where applicable
  • Place of supply
  • Product or service description
  • HSN or SAC code
  • Quantity and unit
  • Taxable value
  • Discounts, where applicable
  • Applicable GST rate
  • CGST and SGST, where applicable
  • IGST, where applicable
  • Cess, where applicable
  • Total invoice value
  • Reverse-charge indication, where applicable
  • Supplier signature or authorised signature, where applicable

For unregistered customers, additional recipient and delivery details can be required in certain circumstances, such as where the taxable supply value reaches ₹50,000 or more.

The exact fields you need can depend on the nature of your transaction, so your WooCommerce invoice template should be configured according to your business model rather than using a generic template.

Setting Up GST Tax Rates Correctly in WooCommerce

WooCommerce provides built-in tax configuration, but simply entering a percentage is not enough for an India-focused store.

Go to:

WooCommerce → Settings → Tax

From there, configure the appropriate tax classes and rates for the products you sell.

For example, depending on the applicable classification, your products may fall under different GST rates such as:

  • 0%
  • 5%
  • 12%
  • 18%
  • 28%

The applicable GST rate should always be determined based on the actual product/service classification and current GST rules rather than simply selecting a rate because it is commonly used.

CGST + SGST vs IGST

One of the most important parts of GST configuration is determining whether a transaction is treated as an intra-State or inter-State supply.

For an applicable intra-State transaction, GST is generally split into:

CGST + SGST

For an applicable inter-State transaction, the tax is generally:

IGST

For example, if a product is subject to 18% GST, an intra-State transaction could be represented as:

  • CGST: 9%
  • SGST: 9%

Where the transaction is inter-State, it would generally be:

  • IGST: 18%

Your WooCommerce tax configuration should therefore work together with the customer’s billing/shipping information and place-of-supply rules.

Getting this wrong can result in incorrect tax calculations and incorrect invoices.

Adding HSN and SAC Codes to WooCommerce Products

HSN codes identify goods, while SAC codes are used for services.

WooCommerce does not provide a dedicated standard HSN/SAC field in its core product editor. For a GST-focused store, you therefore need either a suitable GST/invoicing extension or a custom product field.

A typical product setup could contain:

Product InformationExample
Product NameWireless Keyboard
SKUKB-100
HSN CodeRelevant HSN
GST RateApplicable rate
Price₹2,000
Tax StatusTaxable

The HSN/SAC value should then be pulled automatically into the generated invoice.

Why HSN Management Matters

HSN reporting requirements have also evolved. GSTN guidance currently requires minimum HSN reporting at different levels depending on turnover, including mandatory 4-digit reporting for taxpayers with AATO up to ₹5 crore and 6-digit reporting for taxpayers with AATO above ₹5 crore in the relevant GSTR-1 reporting context.

This is another reason to store product classification information properly rather than manually typing it into every invoice.

For larger WooCommerce stores, consider maintaining HSN/SAC information centrally and using CSV import/export or bulk editing to update products efficiently.

Use a Dedicated Invoice Numbering System

WooCommerce order numbers and GST invoice numbers are not necessarily the same thing.

A WooCommerce order might be created when a customer places an order, while payment failures, cancellations, refunds or other order events can create a numbering pattern that is not suitable for your accounting workflow.

GST guidance requires the invoice serial number to be consecutive, unique for the financial year, and within the prescribed format. Multiple invoice series can be maintained, but duplicate series should not be used for the same GSTIN and financial year.

A dedicated invoicing system can therefore maintain a separate sequence such as:

INV/26-27/0001
INV/26-27/0002
INV/26-27/0003

The exact numbering format should be designed around your accounting process and applicable requirements.

This separation also makes it easier to manage WooCommerce order IDs independently from official invoice numbers.

Automate PDF GST Invoice Generation

Creating invoices manually for every WooCommerce order becomes impractical as your business grows — this is exactly the kind of repetitive task that automation and custom development are built for.

A GST invoicing solution can automatically generate an invoice when the relevant order status is reached and attach the PDF to customer emails.

A typical automated workflow can look like this:

Customer places order → Payment confirmed → GST calculated → Invoice number assigned → PDF invoice generated → Invoice attached to email

This reduces manual work and helps maintain consistency between your WooCommerce order data and the invoice.

A good invoice system should ideally pull information automatically from:

  • WooCommerce customer details
  • Product information
  • HSN/SAC fields
  • Tax rates
  • Shipping information
  • Discounts
  • Payment information
  • Invoice numbering sequence

The fewer details that need to be entered manually, the lower the risk of data-entry mistakes.

Capture GSTIN at WooCommerce Checkout for B2B Orders

B2B customers may need their GSTIN included on the invoice.

If your WooCommerce checkout does not collect GSTIN information, the customer may have to contact you after placing the order to request an invoice correction. Adding and validating a checkout field cleanly is a small piece of custom WordPress development.

A better approach is to add a dedicated GSTIN field to the checkout.

For example:

Company Name: ABC Technologies Pvt. Ltd.
GSTIN: 24XXXXXXXXXXXXXX
Billing Address: Ahmedabad, Gujarat

The GSTIN should then be stored against the order and automatically transferred to the invoice.

You can also consider adding basic validation to reduce obvious formatting errors.

B2B vs B2C Invoices

Your WooCommerce invoicing workflow should distinguish between registered and unregistered customers.

B2B transaction:

  • Capture customer GSTIN
  • Display the customer’s registered details
  • Include applicable GST information
  • Include HSN/SAC details
  • Apply the appropriate place-of-supply treatment
  • Support e-invoicing if the seller is covered by the applicable mandate

B2C transaction:

  • GSTIN is generally not required when the customer is unregistered
  • Customer and delivery information should still be handled according to applicable invoice rules
  • Applicable GST should still be calculated correctly
  • HSN/SAC and other required invoice information should be included

Your exact invoice requirements can vary based on transaction value and type, so the checkout and invoicing system should be designed around your actual sales process.

Understanding GST Place of Supply in WooCommerce

For an online store, the customer’s location can directly affect tax treatment.

A WooCommerce store may receive orders from customers across multiple Indian states. Your system therefore needs reliable billing/shipping and place-of-supply information.

For example:

Seller: Gujarat
Customer: Gujarat
→ Applicable transaction may involve CGST + SGST

Seller: Gujarat
Customer: Maharashtra
→ Applicable transaction may involve IGST

However, GST place-of-supply rules can be more complex than simply comparing two addresses, particularly for specific goods and services.

For that reason, do not build your tax logic solely around a basic “same state/different state” rule without confirming that it fits your business.

When Does E-Invoicing Apply to WooCommerce Stores?

E-invoicing is an important consideration for larger GST-registered businesses.

Under the current GST framework, e-invoicing applies to notified taxpayers based on aggregate turnover. GSTN’s current guidance states that the notified turnover threshold is ₹5 crore and above, applicable from 1 August 2023, subject to the applicable rules and exemptions.

E-invoicing does not mean that the government creates your invoice for you.

Instead, your accounting, billing, ERP or WooCommerce system creates the invoice data, which is then reported to an authorised Invoice Registration Portal (IRP).

After successful validation, the system returns an Invoice Reference Number (IRN) and QR code. The e-invoice information can also be used for auto-population into GSTR-1.

The 30-Day E-Invoice Reporting Rule

There is also a separate reporting deadline that WooCommerce businesses should be aware of.

From 1 April 2025, taxpayers with aggregate annual turnover of ₹10 crore or more must report applicable e-invoices within 30 days from the invoice date. The IRP can restrict generation of an IRN when the reporting window has expired. This applies to invoices as well as applicable credit and debit notes.

This makes automation particularly important for businesses operating at higher transaction volumes.

How WooCommerce Can Integrate With GST E-Invoicing

If your business falls under e-invoicing requirements, your WooCommerce setup may need to integrate with an accounting system, ERP, GST solution or authorised IRP/API workflow.

A typical process can look like:

  1. Customer places an order.
  2. WooCommerce calculates the applicable tax.
  3. Customer and business GST information is collected.
  4. Product HSN/SAC information is retrieved.
  5. The invoice is generated in the business system.
  6. Applicable e-invoice data is submitted to an IRP.
  7. The IRP generates the IRN.
  8. QR code and IRN information are added to the invoice.
  9. The final invoice is delivered to the customer.
  10. Relevant information can flow into the GST return process.

GSTN guidance confirms that taxpayers continue to create invoices through their own accounting/billing/ERP systems; the e-invoicing process is the reporting and registration layer rather than a replacement for the business’s invoice-generation system.

For a WooCommerce store, this means e-invoicing should be treated as part of the overall order-to-accounting workflow rather than as an isolated PDF-generation feature.

Common GST Invoicing Mistakes in WooCommerce

Several problems appear repeatedly when online stores implement GST invoicing without considering the complete workflow.

1. Using WooCommerce Order IDs as Invoice Numbers

Order numbers and official invoice numbers serve different purposes. A dedicated invoice sequence provides better control.

2. Missing HSN/SAC Information

If your products require HSN/SAC information, storing it manually outside WooCommerce makes automation difficult.

3. Incorrect CGST/SGST and IGST Logic

A simple tax percentage is not enough. Your system needs to apply the appropriate tax treatment based on the transaction.

4. Not Collecting GSTIN at Checkout

B2B customers should not have to email you after every purchase to provide their GSTIN.

5. Manually Creating Every Invoice

Manual invoicing becomes increasingly error-prone as order volume increases.

6. Ignoring E-Invoice Requirements

Businesses crossing the applicable threshold should check their e-invoicing obligations early rather than waiting until transaction volume becomes difficult to manage.

7. Treating Tax Configuration as a One-Time Task

GST rates, reporting requirements and e-invoicing processes can change. Your WooCommerce configuration should therefore be reviewed periodically as part of ongoing website maintenance.

A Practical WooCommerce GST Invoicing Checklist

Before launching or reviewing your WooCommerce GST setup, check the following:

  • Business GSTIN is configured correctly
  • Seller legal name and address are correct
  • Appropriate GST rates are configured
  • CGST/SGST treatment is tested
  • IGST treatment is tested
  • Place-of-supply logic has been reviewed
  • HSN/SAC codes are stored for relevant products/services
  • GSTIN field is available for B2B customers
  • Invoice numbering is separate from WooCommerce order numbering where appropriate
  • Invoice numbers are unique and properly controlled
  • PDF invoices are generated automatically
  • Invoice PDFs can be attached to customer emails
  • Refunds and credit notes are handled correctly
  • E-invoicing applicability has been checked
  • IRN and QR-code handling is supported if required
  • Accounting/ERP integration is tested where applicable
  • Invoice data is periodically reviewed with your accountant

Frequently Asked Questions

What information must a GST-compliant invoice show?

Generally: the supplier’s legal name, address and GSTIN, a consecutive unique invoice number, the invoice date, recipient details, place of supply, product/service description with HSN or SAC code, quantity, taxable value, applicable GST rate, CGST and SGST or IGST (and cess where applicable), and the total invoice value. Exact fields depend on the transaction type and value.

CGST + SGST or IGST — which applies?

For an intra-State supply, GST is generally split into CGST + SGST (for example 9% + 9% on an 18% rate). For an inter-State supply it is generally IGST (18%). Place-of-supply rules can be more complex than simply comparing the billing and shipping states, so confirm the treatment for your goods or services.

Does WooCommerce have an HSN/SAC field?

Not in the core product editor. For a GST-focused store you need a GST/invoicing extension or a custom product field, and the HSN/SAC value should flow automatically into the generated invoice. For large catalogues, maintain the codes centrally and update via CSV import/export or bulk editing.

Can I use the WooCommerce order number as the invoice number?

It is better not to. GST invoice serial numbers must be consecutive and unique for the financial year, while WooCommerce order numbers get gaps from failed payments, cancellations and refunds. Maintain a separate invoice sequence such as INV/26-27/0001.

Should I collect GSTIN at checkout?

Yes, for B2B orders. Add a dedicated GSTIN field to the WooCommerce checkout, store it against the order, and pass it automatically to the invoice. Basic format validation reduces obvious errors and support requests.

When does e-invoicing apply to a WooCommerce store?

E-invoicing applies to notified GST-registered taxpayers based on aggregate turnover; the current notified threshold is ₹5 crore and above. Separately, from 1 April 2025, taxpayers with aggregate turnover of ₹10 crore or more must report applicable e-invoices within 30 days of the invoice date. Confirm your obligations with your accountant.

Final Thoughts

GST-compliant invoicing should be treated as an important part of your WooCommerce architecture—not as something added after the store is launched.

A well-designed setup can automatically calculate taxes, capture customer GSTINs, store HSN/SAC information, maintain invoice numbering, generate PDF invoices and integrate with broader accounting or e-invoicing workflows.

For businesses selling across India, getting the tax logic right is particularly important because the store may process transactions involving different states, customer types and tax treatments. If you are still setting up payments too, see our CCAvenue WooCommerce integration guide.

Need GST invoicing built around your store?

TechBella builds GST-compliant WooCommerce invoicing — custom GSTIN and HSN/SAC fields, CGST/SGST/IGST tax logic, a controlled invoice-numbering series, automatic PDF invoices, and accounting or IRP e-invoicing integration where it applies.

See WooCommerce development

If your WooCommerce store requires custom GST fields, tax calculation, invoice generation, HSN/SAC management or accounting/e-invoicing integration, a custom WooCommerce development approach can be more flexible than relying on multiple disconnected plugins.

The key is to build the invoicing workflow around your actual business and GST requirements, then review it whenever relevant tax rules or your business processes change.