xpay✦ Commerce
Directory
WooCommerce plugins
GST Report for WooCommerce
GST Report for WooCommerce
A native PHP GST dashboard for WooCommerce — CGST/SGST/IGST breakdown, Excel export, and PDF tax invoices. No JavaScript frameworks, no REST API.
Will this break my store?
What the WordPress.org registry says about keeping GST Report for WooCommerce running.
Tested to 6.9.7 — 2 branches behind 7.1
A branch or two behind — normal for a plugin between releases.4 months ago
7.4
Your host must be running at least this version.5.9
woocommerce
These must be installed and active first.1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.Maintenance & trust
Scored on how GST Report for WooCommerce is looked after — not on how many stores run it.
Maintenance
35 / 35WordPress compatibility
14 / 20Support responsiveness
Not enough dataMerchant satisfaction
Not enough dataListing transparency
6 / 10Ratings
No one has rated this plugin on WordPress.org yet. That is a statement about the ratings page, not about the plugin — plenty of well-kept plugins never collect them.
GST Report for WooCommerce is a lightweight, fast admin dashboard built entirely with native PHP and direct database queries. It generates GST-compliant reports for Indian WooCommerce stores, handles both intra-state (CGST + SGST) and inter-state (IGST) tax calculations across 18% and 5% GST rates, and lets you export to Excel or open a PDF tax invoice in one click — all without leaving WordPress admin.
Designed for Indian store owners who need to file GSTR-1, GSTR-3B, or provide tax invoices to B2B buyers, without the overhead of a full accounting plugin.
Key Features
- Setup Wizard — On first activation, a guided wizard checks your HSN codes, GST tax rates, and PDF Invoices plugin configuration so your dashboard is accurate from day one.
- GST Report tab — Line-item breakdown per order with CGST/SGST (intra-state) and IGST (inter-state) at 18%, 5%, and 0% rates, with separate columns for each. Cancelled and refunded orders appear as negative entries.
- Orders tab — Card-based order view showing customer name, GSTIN, billing state, order status, and a full per-order GST breakdown (CGST, SGST, IGST).
- Products tab — All published products with thumbnail, SKU, HSN code, price, stock quantity, GST rate, and stock status.
- Excel export — Download the filtered report as a properly formatted
.xlsxfile using a zero-dependency PHP XLSX writer. Includes date, invoice number, DC number, customer, GSTIN, state, HSN, quantity, subtotal, and all GST columns. - PDF invoice — Opens the WooCommerce PDF Invoices & Packing Slips invoice for any order in a new tab with one click. Access key is read automatically from the order — no manual configuration needed.
- Flexible HSN lookup — Reads HSN from product meta (
hsn,_hsn_code), product attributes (any attribute whose name contains “HSN”), or order-item meta — whichever is present. Checks variation first, then parent product. - HPOS compatible — Works with both the classic
wp_postsorder table and WooCommerce High-Performance Order Storage (HPOS/COT). Detects automatically. - Filtering & search — Filter by start/end date, sort newest or oldest, search by order ID or billing email. Paginated at 50 orders per page.
- Summary stat cards — Total orders, total products, revenue, total GST collected, and average order value — calculated via a single SQL aggregation query (no N+1 queries).
Who Is This For?
- Indian WooCommerce store owners filing GSTR-1 or GSTR-3B returns
- Stores selling to GST-registered buyers (B2B) who need tax invoices with GSTIN
- Accountants or store managers who need a quick Excel export of GST data for a given period
- Stores in Tamil Nadu (TN) needing CGST + SGST split, or any other state needing IGST
How GST Calculation Works
The plugin uses WooCommerce’s own tax totals stored against each order line item:
- Intra-state (TN): If billing state is Tamil Nadu, tax is split 50/50 as CGST + SGST.
- Inter-state: All other billing states are treated as IGST.
- 5% GST: Products assigned to a tax class whose name contains
5(e.g. “GST 5%”) are reported under the 5% columns. - 18% GST: All other taxed products are reported under the 18% columns.
- 0% / Exempt: Products with no tax are reported under the zero-rated supply column.
Technical Notes
- Pure PHP — no JavaScript frameworks, no React, no REST API.
- All data fetched via
WC_Order_Queryand direct SQL with$wpdb->prepare(). - All
$_GETinput is sanitised withsanitize_key(),sanitize_text_field(),absint(), andwp_unslash(). - All output escaped with
esc_html(),esc_url(),esc_attr(),wp_kses_post(). - Stats query result cached with
wp_cache_get/set. - Nonce-protected on all export actions.
Yes. The Setup Wizard runs automatically on first activation and guides you through three checks: HSN codes, GST tax rates, and PDF Invoices plugin. After completing the wizard, the GST dashboard is ready to use.
The plugin reads the billing state of each order. If the billing state is TN (Tamil Nadu), the tax is split equally as CGST + SGST (intra-state). All other billing states are treated as IGST (inter-state). To change the home state, edit the is_tn() method in includes/class-gst-calculator.php.
Go to Products → Edit Product and add a custom field with the key hsn (or _hsn_code) and the HSN code as the value. Alternatively, add a product attribute whose name contains “HSN” (e.g. “HSN Code”, “HSN/SAC”). The plugin checks variations first, then the parent product.
Assign a WooCommerce tax class whose name contains 5 (e.g. “GST 5%”, “5 Percent”) to the product. The default tax class and all other classes are treated as 18% GST.
- Make sure PDF Invoices & Packing Slips for WooCommerce is installed and active.
- Go to WooCommerce → PDF Invoices → Debug → File System & Access.
- Set Document link access type to Full and save.
- Invoice buttons will now open PDF invoices in a new tab directly from the GST dashboard.
Yes. The plugin automatically detects whether HPOS is enabled and adjusts its SQL stats query between the wc_orders table (HPOS) and the classic wp_posts / wp_postmeta tables accordingly.
Yes. Apply the date filters on the GST Report page, then click Export Excel. The exported .xlsx file will contain only the orders matching the active filter.
Yes. The HSN code lookup checks the specific variation first (more precise), then falls back to the parent product if no HSN is found on the variation.
Yes. Use the Search field to find orders by Order ID (numeric) or Billing Email. The search applies to all three tabs and to the Excel export.
No. The plugin only reads WooCommerce order and product data that already exists in your database. It does not create, modify, or transmit any customer data.
The plugin is designed for single-site WooCommerce installations. Multisite compatibility has not been tested.
Categories
Plugin details
Tags on WordPress.org
