Title: Sales by State Report for WooCommerce
Author: Rodolfo Melogli
Published: <strong>August 17, 2026</strong>
Last modified: August 17, 2026

---

Search plugins

![](https://ps.w.org/sales-by-state-report-for-woocommerce/assets/banner-772x250.
png?rev=3650881)

![](https://ps.w.org/sales-by-state-report-for-woocommerce/assets/icon-256x256.png?
rev=3650881)

# Sales by State Report for WooCommerce

 By [Rodolfo Melogli](https://profiles.wordpress.org/businessbloomer/)

[Download](https://downloads.wordpress.org/plugin/sales-by-state-report-for-woocommerce.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/sales-by-state-report-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/sales-by-state-report-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/sales-by-state-report-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/sales-by-state-report-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/sales-by-state-report-for-woocommerce/)

## Description

Sales by State Report for WooCommerce adds a report showing net and gross sales 
grouped by state, county or province, for a chosen year and a chosen set of order
statuses.

With WooCommerce Analytics enabled the report appears under **Analytics**, alongside
Revenue and Orders, drawn with the same components so it looks like a built-in report.
With Analytics disabled it appears under **WooCommerce** instead, and looks the 
same there.

It answers the question sales tax and territory planning actually ask: how much 
did each state buy in a given year, counting only the orders that matter.

This plugin requires [WooCommerce](https://wordpress.org/plugins/woocommerce/).

Documentation: [salesbystate.com](https://salesbystate.com/)

#### What the report shows

 * Net Sales and Gross Sales for every state in the selected country
 * A summary of both figures across all states
 * Sortable columns and paginated results
 * States with no sales, shown as zero rather than hidden

#### Filters

 * **Country** — any country WooCommerce defines states or provinces for. Defaults
   to the store’s base country.
 * **Year** — a rolling list that starts ten years back and gains a year each January
   without dropping one. Defaults to the current year.
 * **Order status** — a checkbox list of WooCommerce order statuses. Defaults to
   Completed.

#### How the figures are calculated

Gross Sales is the order total. Net Sales is the order total minus tax and shipping.
Both use the values WooCommerce stores on the order, so they reconcile with WooCommerce’s
own reporting.

Refunds are not modelled as separate records. An order that has been fully refunded
carries the Refunded status, so the status filter controls whether it is counted.
A partial refund is not deducted from its order’s total.

#### Performance

Sales for a whole year are answered by one indexed query that returns one row per
state. The response size does not grow with the number of orders.

#### Data and privacy

The plugin creates one custom database table holding, per order: the order ID, order
status, creation and payment dates, billing and shipping country and state codes,
currency, and the order, tax, shipping and net totals. It stores no names, addresses,
email addresses or any other personal data.

Nothing is sent anywhere. The plugin makes no external HTTP requests, includes no
third-party services, and collects no analytics or telemetry.

Deleting the plugin removes the table and its options.

#### Compatibility

 * High-Performance Order Storage (HPOS)
 * Cart and Checkout blocks
 * WooCommerce Analytics — used for the menu location when enabled, never for the
   figures

## Installation

 1. Upload the plugin to `/wp-content/plugins/sales-by-state-report-for-woocommerce`,
    or install it through the Plugins screen.
 2. Activate the plugin. WooCommerce must already be installed and active.
 3. Go to **Analytics  Sales by State**, or **WooCommerce  Sales by State** if Analytics
    is disabled.

On a store that already has orders, those orders are read into the report table 
once. This starts on its own. If it has not finished when you open the report, a
progress bar shows how far along it is.

## FAQ

### The report shows zeros but I have orders.

Your existing orders are still being read into the report table. Open the report
and the progress bar will show how far along it is. It continues on its own; you
can leave the page.

If the figures still look wrong once it has finished, rebuild from **WooCommerce
Status  Tools  Sales by State: rebuild from scratch**.

### Where does the report appear?

Under **Analytics** when WooCommerce Analytics is enabled, and under **WooCommerce**
when it is not. The report itself is identical either way.

### Does this require WooCommerce Analytics?

No. The figures come from a table this plugin maintains from order saves, never 
from the Analytics tables, so turning Analytics off changes only where the report
sits in the menu.

### Which address does it group by?

The shipping address, falling back to the billing address for orders that have no
shipping address, such as virtual-only orders.

### Are refunds deducted?

A fully refunded order takes the Refunded status, so the status filter decides whether
it counts. Partial refunds are not deducted from the order’s total.

### Which date does the year filter use?

The date the order was paid, falling back to the date it was created for orders 
that were never paid.

### Can I change the default order status?

Yes, with the `sbsr_default_statuses` filter.

### Does it work with High-Performance Order Storage?

Yes. The plugin declares HPOS compatibility and reads orders from whichever storage
is active.

### Where can I get support?

Use the [WordPress.org support forum](https://wordpress.org/support/plugin/sales-by-state-report-for-woocommerce/)
for this plugin.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Sales by State Report for WooCommerce” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ Rodolfo Melogli ](https://profiles.wordpress.org/businessbloomer/)

[Translate “Sales by State Report for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/sales-by-state-report-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/sales-by-state-report-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/sales-by-state-report-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/sales-by-state-report-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/sales-by-state-report-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.0.0**
 *  Last updated **11 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [analytics](https://wordpress.org/plugins/tags/analytics/)[sales report](https://wordpress.org/plugins/tags/sales-report/)
   [sales tax](https://wordpress.org/plugins/tags/sales-tax/)[woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/sales-by-state-report-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/sales-by-state-report-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/sales-by-state-report-for-woocommerce/reviews/)

## Contributors

 *   [ Rodolfo Melogli ](https://profiles.wordpress.org/businessbloomer/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/sales-by-state-report-for-woocommerce/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://salesbystate.com/)