Tax Display by Country for WooCommerce



Tax Display by Country for WooCommerce allows you to display your product prices with our without taxes, depending on your visitors’ country, and to pre-select checkout country automatically. When you sell internationally, customers can get confused by the prices, as they might contain VAT/Tax which doesn’t apply to every sale. Also, some customers overlook the country field at checkout and en up entering an incorrect address, or getting validation errors. Those factors combined can easily drive a potential customer away. Our product will remove those obstacles and help you increasing sales.

This plugin is fully compatible with our other products:

  • WooCommerce Currency Switcher, currently the leading multi-currency solution for WooCommerce.
  • Prices by Country, our solution to allow charging different prices depending on customer’s location (this plugin can work with our Currency Switcher to give unprecedented pricing flexibility).
  • EU VAT Assistant, our free premium plugin to help you becoming compliant with the new EU VAT MOSS regulations.

The above products are available exclusively from our online shop. Please see our profile for more details.

How it works

Once enabled, the Plugin will allow you to configure how prices should be displayed for each country. You can decide to show prices with tax or without tax for some countries, and do something different for other countries. After configuring the plugin, prices will be displayed automatically with our without tax, based on visitors’ country, which is detected automatically, using geolocation, and assumed to be used for the billing address.

Upon checkout, the customer will see the country field already populated and, if he wishes, he will be able to select another country. Such selection will be stored by the plugin for the current session, so that the prices will be refreshed and displayed with the correct tax. Additionally, the plugin implements a widget, which you can display on your site to allow your visitors to choose the billing country before they reach checkout, so that price display can be updated automatically.

This product includes GeoLite data created by MaxMind, available from

Key Features

  • Fully compatible with our WooCommerce Currency Switcher plugin, currently the leading multi-currency solution for WooCommerce.
  • Extremely easy to use
  • Allows to display prices with or without tax, depending on visitors’ country.
  • Automatically detects visitors’ country, with price accordingly displayed with/without taxes.
  • Allows to keep product prices fixed, including taxes, independently from what tax rate applies to customers (available in v1.7.0.150109 and later). Note: the fixed prices feature does not apply to shipping, yet, as WooCommerce always considers shipping costs as “exclusive of tax”.
  • Pre-selects the checkout country automatically.
  • Includes a widget to allow your visitors to choose their billing country before they reach checkout.
  • Allows to specify a price suffix for each tax display rule.
  • Allows visitors to declare themselves exempt from tax and always see tax-exclusive prices.

Installation and configuration

Plugin is distributed with comprehensive documentation, with step by step instructions covering installation and configuration.


Change log (most recent)
* Fix – Fixed bug caused by function `WC_Customer::set_location()`, which caused customer’s address to be empty on the checkout page.
* Fix – Fixed call to filter `widget_title`.
* Updated supported WooCommerce versions.
* Tweak – Dropped usage of obsolete cookie “aelia_billing_country”.
* Feature – Added support for placeholders `{price_including_tax}` and `{price_excluding_tax}` in the price suffix.
* Fix – Fixed bug on the checkout page, which caused the shipping country to be ignored when the “Ship to another address” option was selected.
* Tweak – Added check on frontend script, to handle the case where the wc_cart_fragments_params variable has been removed by disabling WooCommerce’s cart fragments.
* Tweak – Optimised logic used to store the “tax exempt” cookie.
* Changed minimum required WooCommerce version to 3.0.
* Added new filter `wc_aelia_tdbc_country_selector_widget_setting`.
* Fix – Added check to prevent WooCommerce 3.2 from throwing an error when the customer sessions is not initialised.
* Fix – Fixed bug caused by a breaking change in WooCommerce 3.2.x. The bug caused the city and post code to be cleared on the checkout page in some circumstances.
* Tweak – Added extra check to ensure that the cart object is set before accessing it. This will cover edge case scenarios in which the plugin is initialised before WooCommerce (usually happening due to other plugins changing the order in which plugins are loaded).
* Fix – Fixed bug in WooCommerce 3.2.x, related to tax calculation. The bug prevented the “keep product prices fixed” feature from working correctly during the calculation of cart subtotals.
* Fix – Improved logic used to ensure that minicart is updated when the currency changes, to handle the new “hashed” cart fragment IDs.
* Added logic to preserve customer’s city and postcode, if set.
* Improvement – Handled case in which WooCommerce doesn’t return a list of states/provinces when a country is selected.
* Improved compatibility with WooCommerce 3.0. Improved logic used to detect customer’s country and province.
* Improved compatibility with WooCommerce 3.0. Fixed notice related to the checkout country and state/province at checkout.
* Fixed check for WooCommerce version. An incorrect check introduced for compatibility with WooCommerce 2.7 prevented the “fixed prices” feature from working correctly with earlier versions.
* Improvement – Compatibility with WooCommerce 2.7:
* Replaced call to `WC_Customer::get_country()` with `WC_Customer::get_billing_country()` in WC 2.7 and newer.
* Improved compatibility with WooCommerce 2.7:
* Added logic to use the new `woocommerce_product_get_price` filter.
* Improved compatibility with WooCommerce 2.7:
* Conditionally replaced call to `WC_Customer::calculated_shipping()` with `WC_Customer::set_calculated_shipping()`.
* Improved country selection. Now, when customer is logged in, the billing/shipping country stored on his account take priority over the geolocation.
* Improved validation of Ajax request. Invalid requests are now simply ignored, instead of being “killed”.
* Improved validation of Ajax request. Invalid requests are now simply ignored.
* Fixed display bug with currency selector. The “Change Location” button is now displayed correctly when the Tax Display plugin is used together with other Aelia plugins.
* Fixed bug with “fixed prices” feature and city names with special characters. The bug could cause the “fixed prices” feature not to work properly to fail if the city name contained special characters, such as the umlaut, or special accents.
* Fixed the shortcodes for the country selector widget. The shortcodes were not rendering properly due to a typo in the name of the callback function.
* Added new `wc_aelia_tdbc_keep_prices_fixed` filter. The filter will allow to decide dynamically if prices should be kept fixed, based on custom logic.
* Improved support for minicart. Added logic the refresh of the minicart when a country is selected using the country selector widget.
* Removed notice related to the “State” on cart page. The notice appeared when the customer calculated the shipping without selecting a State.
* Improved country selector widget:
* Extended widget to allow entering a label for the Country and for the State/County.
* Simplified JavaScript to handle the dropdowns on the country selector widget.
* Added WPML configuration file.
* Added support for customer’s State/county in the selector widget.
* Fixed conflict with shipping calculator.
* Added upgrade message in Admin section. The message informs shop owners that the plugin uses a new country selector widget, which might have to be added again to a widget area.


Written by Envatogoods

Image Tools with BMP Support

MINIMUM – Professional WordPress Theme