Sales By Country for WooCommerce is designed to work alongside the most popular WooCommerce multi-currency, multi-language, and country-based pricing extensions. When a supported plugin is active, the report detects it automatically — no configuration is required — and adjusts how country sales are calculated and displayed.
Requirements
| Requirement | Minimum | Tested up to |
|---|---|---|
| WordPress | 5.6 | 7.1 |
| WooCommerce | 5.0 | 11.0.1 |
| PHP | 7.2 | — |
| High-Performance Order Storage (HPOS) | Fully supported — works with both legacy post-based order storage and HPOS. | — |
| WooCommerce Analytics | Must be enabled (included with WooCommerce). | — |
readme.txt and are updated each release. The Changelog records the WooCommerce and WordPress version each release was tested against.How currency reporting works
Your store’s base currency is the one configured at WooCommerce → Settings → General → Currency. It is the currency WooCommerce uses to record and total every order, and the default the Sales By Country report displays.
Conversions always use the exchange rate that was stored on each order at the moment the customer paid — never a live or current rate. That is what keeps historical reports stable: a report you ran last year produces the same figures today.
Supported multi-currency and multilingual plugins
Each of these is detected automatically when active. Nothing needs configuring inside Sales By Country.
| Plugin | Vendor | How it behaves in the report |
|---|---|---|
| CURCY – WooCommerce Multi Currency | VillaTheme | Order totals are normalised to your base currency when WooCommerce imports them, so the default view is already exact. Selecting a currency multiplies each value back by the order’s saved rate. See the dedicated section below. |
| WooCommerce Multilingual & Multicurrency | WPML (OnTheGoSystems) | When multi-currency mode is on and more than one currency is configured, a Currency filter appears. Also provides the Language filter described below. |
| YayCurrency – WooCommerce Multi Currency Switcher | YayCommerce | The currencies configured in Yay Currency populate the Currency filter. Each order’s stored Yay conversion rate is applied. |
| Currency Switcher for WooCommerce | Aelia | Reads the exchange rate Aelia records on each order, including on refunds. The same converted values carry through to CSV exports. |
| WooCommerce Multi-Currency | Various | Detected automatically; its active currencies populate the Currency filter. |
| Price Based on Country | Oscar Gare | Country-specific prices recorded on each order are read directly. Supported on both legacy and HPOS order storage. |
If your multi-currency plugin is not on the list
The report still works, and it will not produce a wrong conversion — because it does not attempt one. With no supported plugin detected, no Currency filter appears and the report reads the order totals exactly as WooCommerce Analytics recorded them, with no exchange-rate handling of any kind.
CURCY – WooCommerce Multi Currency (VillaTheme)
CURCY stores every order’s totals in your store’s base currency inside WooCommerce Analytics. Because of this, the default report view — with no currency selected — is already accurate and shown in your base currency.
The Currency filter lists all of the currencies you have enabled in CURCY. Selecting one shows only the orders that were actually paid in that currency, with each amount converted back using the exchange rate stored on the order at the time of purchase. This applies consistently to the main country table, the Best-Selling Products by Country table, and the single-country Orders table. Refunds are matched to their parent order, so refunded amounts are always included correctly.
Multilingual (WPML)
When WPML WooCommerce Multilingual is active with more than one storefront language, the report gains a Language dropdown in addition to the country controls. This lets you see how sales break down across the language versions your customers used — useful for understanding which language drives sales in each country. The Language filter works together with the date range, the billing/shipping toggle, and the country filter.
Troubleshooting
| Problem | What to check |
|---|---|
| No Currency filter appears | No supported multi-currency plugin is active, or it is active but configured with only one currency. WPML additionally requires its multi-currency mode to be switched on. |
| Totals look wrong after installing a currency plugin | Re-run the historical import so existing orders are re-processed under the new plugin’s rules. See Past Order Import. |
| Selecting a currency shows far fewer orders | Expected. The selected-currency view shows only orders actually paid in that currency — not your whole store converted into it. |
| Figures differ from WooCommerce → Analytics → Revenue | Compare like with like first: see How the Numbers Are Calculated. If core Analytics shows the same discrepancy, the cause is upstream of this report. |
| No Language filter with WPML active | WPML needs more than one active storefront language for the dropdown to appear. |