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.
How the Base Currency Works
Your store’s base currency is the currency configured in WooCommerce › Settings › General › Currency. It is the currency WooCommerce uses to record and total every order, and it is the default currency the Sales By Country report displays. Understanding it makes the multi-currency behaviour below much clearer.
Default view — no currency selected
When you first open the report, no currency is selected in the Currency filter. In this state, sales from every currency are combined and shown in your store’s base currency. Orders that were paid in another currency are converted to your base currency using the exchange rate recorded on each order at the time it was placed — so the totals reflect the value the order actually had, not today’s rate.
Selected-currency view
When you choose a currency from the Currency filter, the report switches to that single currency. It shows only the orders that were actually paid in the selected currency, expressed in that same currency — again using each order’s historical rate rather than the current one. Switching currency does not re-total your entire store into a live-converted figure; it isolates the sales that genuinely happened in that currency.
Where each plugin’s rate comes from
| Plugin | How amounts relate to the base currency |
|---|---|
| CURCY – WooCommerce Multi Currency (VillaTheme) | Order totals are normalized to the base currency when WooCommerce imports the order, so the default view is already exact. Selecting a currency multiplies each base value back by the order’s saved historical rate. |
| WPML, Yay Currency, WooCommerce Multi-Currency, Aelia Currency Switcher | Each order stores the exchange rate that applied at checkout. The report uses that saved rate to convert to your base currency, or to the currency you select. |
| WooCommerce Price Based on Country | Country-specific prices are recorded on each order, and the report reads those recorded amounts directly against the base currency. |
Multi-Currency Plugins
When a supported multi-currency plugin is active, a Currency filter appears at the top of the report. Selecting a currency shows the sales for orders placed in that currency, displayed in the same currency. With no currency selected, figures are shown in your store’s base currency. The table below is a quick reference; each plugin is explained in full underneath.
| Plugin | How it works in the report |
|---|---|
| WPML – WooCommerce Multilingual and Multicurrency | When multi-currency mode is enabled, a Currency filter lets you view each country’s sales per currency. WPML also adds a Language filter (see Multilingual below). |
| Yay Currency | Each order’s Yay Currency conversion rate is applied so country sales are reported in the selected currency. |
| WooCommerce Multi-Currency | Detected automatically; the currency selector lists the plugin’s active currencies and reports sales accordingly. |
| Aelia Currency Switcher | Country sales are converted using each order’s stored exchange rate and shown consistently, including in CSV exports. |
| WooCommerce Price Based on Country | Supported for both the legacy and HPOS order storage. Orders using country-based pricing are reported with the correct amounts. |
| CURCY – WooCommerce Multi Currency (VillaTheme) | Fully supported — see the dedicated section below. |
WPML – WooCommerce Multilingual and Multicurrency
WPML’s WooCommerce Multilingual and Multicurrency add-on lets you run your store in several currencies and languages. When its multi-currency mode is enabled and more than one currency is configured, Sales By Country adds a Currency filter to the report.
Choosing a currency displays each country’s sales for the orders placed in that currency, converted using the exchange rate WPML recorded on each order at the time it was placed. If multi-currency mode is turned off, or only your default currency is configured, the report simply shows all sales in your store’s base currency. WPML also powers the Language filter described in the Multilingual section below, so you can analyse sales by both country and storefront language.
Yay Currency
When Yay Currency is active, the currencies you have configured in it appear in the report’s Currency filter. Selecting a currency reports each country’s sales in that currency, using the conversion rate Yay Currency stored on each individual order when the customer paid. Because the rate is read from the order itself, historical orders keep the exact rate that applied at purchase time rather than today’s rate — so past reports stay consistent.
WooCommerce Multi-Currency
WooCommerce Multi-Currency is detected automatically. Its active currencies are added to the report’s Currency filter, and country sales are reported using the plugin’s currency conversion. No setup is needed inside Sales By Country — activating the currency plugin is enough for the filter to appear.
Aelia Currency Switcher
Aelia Currency Switcher records the exchange rate used for each order at checkout. Sales By Country reads that stored rate so every country’s totals are converted accurately and match what your customers actually paid, including refunded orders. The same converted values are carried through to the CSV export, so downloaded reports use the same currency and figures as the on-screen report.
WooCommerce Price Based on Country
WooCommerce Price Based on Country lets you set different product prices for different countries or pricing zones. Sales By Country is compatible with both the plugin’s legacy storage and its newer HPOS-based storage, so orders placed with country-specific pricing are reported with the correct amounts for each country.
CURCY – WooCommerce Multi Currency (VillaTheme)
CURCY (by VillaTheme) 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 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, the report gains a Language dropdown filter in addition to the country controls. This lets you see how sales break down across the different storefront languages your customers used — useful for multilingual stores that want to understand which language versions of the site drive sales in each country. The Language filter works together with the date range, the billing/shipping toggle, and the country filter.
Platform Compatibility
Beyond currency and language plugins, Sales By Country is built to run on modern WooCommerce and WordPress environments.
| Feature | Support |
|---|---|
| High-Performance Order Storage (HPOS) | Fully supported — the report works with both the legacy post-based order storage and HPOS. |
| WooCommerce | Version 5.0 and above (tested up to 10.9.4). |
| PHP | Compatible with PHP 8.2. |