WooCommerce EU VAT Compliance 1.7.0

Version 1.7.0 of our EU VAT compliance plugin for WooCommerce has been released. This release features one particularly notable feature: support for mixed shops, allowing you to sell a mix of goods subject to EU digital VAT, and traditional VAT (on items not subject to the new 2015 VAT laws), in the same shop and in the same carts/orders.

The full list of items addressed in this release is as follows; as ever, customers can download the new version from their account page.

  • User note: This plugin is already compatible with version 2.0 of the GeoIP detect plugin, but if/when you update to that, you will need to update the GeoIP database (as version 2.0 uses a new format) – go to Tools -> GeoIP Detection … you will then need to reload the dashboard once more to get rid of the “No database” warning message.
  • Feature: Optionally forbid checkout if any goods liable to EU VAT are in the cart (this can be a better option than using WooCommerce’s built-in feature to forbid all sales at all to EU countries – perhaps not all your goods are VAT-liable. Note that this is a stronger option that the existing option to only forbid consumer sales (i.e. customers who have no access to VAT exemption via supply of a VAT number))
  • Feature: Support mixed shops, selling goods subject to EU VAT under the 2015 digital goods regulations and other goods subject to traditional base-country-based VAT regulations. The plugin supports this via allowing you to identify which tax classes in your WooCommerce configuration are used for 2015 digital goods items. Products which you place in other tax classes are not included in calculations/reports made by this plugin for per-country tax liabilities, even if VAT was charged upon them. (For such goods, you calculate how much you owe your local tax-man by using WooCommerce’s built-in tax reports).
  • Feature: Within {iftax}{/iftax} tags, you can use the special value value {country_with_brackets} to show the country that tax was calculated using, surrounded by brackets, if one is relevant; or nothing will be shown if not. Example: {iftax}incl. VAT {country_with_brackets}{/iftax}. This is most useful for mixed shops, where you will not what the confuse the customer by showing the country for products for which the VAT is not based upon country.
  • Fix: Country pre-selection drop-down via shortcode was not activating if the page URL had a # in it.
  • Fix: Unbalanced div tag in Premium plugin on checkout page if self-certification was disabled.
  • Tweak: Negative VAT number lookups are now cached for 1 minute instead of 7 days (to mitigate the possible undesirable consequences of cacheing a false negative, and given that we expect very few negatives anyway)
  • Tweak: Change prefix used for transient names, to effectively prevent any previously cached negative lookups for certain valid Spanish VAT numbers (see 1.6.14) being retained, without requiring the shop owner to manually flush their transients.
  • Translation: Updated French translation (thanks to Guy Pasteger)