Appearance
Changelog
2.0.0 (unreleased)
- Bugfix: where business customers from the country of the store got the reverse charge. The country comes from the new Store country setting of the Store (4.0.0), which is required to enable Reverse charge VAT for EU store owners
- Added: filters (severity, date, keyword), bulk delete and a CSV export on the log page in the CP
- Added: a per page filter on the tax rules page in the CP
- Added: a
[Rule]notice in the log when the first matching tax rule doesn't apply to the type of customer (no tax is calculated then) - Added: the Calculate tax setting of the Store on the settings page, to charge no tax at all. The "No Tax" option of Tax calculation is removed (the Store changes it to "Exclusive", which it already worked like)
- Updated: the control panel pages use the ExpressionEngine 7 control panel routes. The settings moved from
addons/settings/reinos_store_tax/settingsto the add-on's main page, and adding or editing a tax rule moved fromrules/0andrules/<id>toruleandrule/<id> - Updated: removed the Import countries and Delete all countries pages, they never worked and were not linked from the control panel
- Updated: the add-on uses the ExpressionEngine 7 add-on installer. The tables are created by migrations, and the hooks are registered by ExpressionEngine. The update step of 1.2.0 is a migration as well, so you can update directly from any 1.x version
- Updated: removed the unused
{reinos_store_tax_action_url},{reinos_store_tax_selected_country},{reinos_store_tax_pickup_enabled}and{reinos_store_tax_ship_to_address_enabled}global variables and the action behind them - Updated: removed the unused
cp_js_endhook - Updated: the tax rules are loaded once per page, instead of for every cart item and the shipping
- Updated: removed the
reinos_store_save_cart_detailshook, it didn't change anything. The Store (4.0.0) now saves the tax of the moment of the checkout on the order items, also when the billing country changed after the items were added - Updated: removed the
{exp:reinos_store_tax:countries}tag, it never worked. Use the country_list tag of the Store instead - Security: removed a test action that was reachable from the front-end
- Bugfix: where the
reinos_store_order_createdhook was not registered on a new install, so the VIES result was not saved with the order - Bugfix: where Delete all logs also deleted the logs of the other sites
- Bugfix: where the log page never showed more than one page
- Bugfix: where a valid tax number without a VIES result (a non-EU number, or VIES was not reachable) gave a fatal error in the cart and checkout
- Bugfix: where a tax number checked while VIES was not reachable was cached for 60 days without a VIES result, so it never got the reverse charge in that period
- Bugfix: where the reverse charge was not applied when the zip code or city of the customer contained a space (e.g.
1234 ABorDen Haag) or an accented capital - Bugfix: where customers from EU countries without a readable address in VIES (e.g. Germany, Spain, Ireland, Sweden), from Romania (no zip code in VIES) and from Greece (
ELin VIES) never got the reverse charge. When the address can't be read, a valid VIES number is enough now - Bugfix: where a customer without a company name got the reverse charge. The reverse charge now needs a company name; it is not compared with the name in VIES (that check never worked)
- Bugfix: where the cleanup of the remembered VIES results ran on every page load instead of once a day
- Bugfix: where decimal tax rates were rounded down to a whole percentage (e.g. 13.5 became 13, Quebec 14.975 became 14)
- Bugfix: where a state rule also matched customers from another country with the same state code (e.g.
WAfor Washington and Western Australia) - Bugfix: where the same continent could be added twice, and a country rule of one site blocked a rule for that country on another site
- Bugfix: where importing the Canada tax rules again added every province again instead of updating the existing rules. Delete the duplicates of an earlier import by hand
- Bugfix: where the tax rules were not separated per site (Multi Site Manager): the calculation used the rules of all sites, an import moved existing rules of another site to the current site, and editing, deleting and moving a rule could change a rule of another site
- Bugfix: where moving a rule up or down did nothing after a rule was deleted
- Bugfix: where the paging of the tax rules counted the rules of all sites, and the first rule of a page could not be moved up (and the last one not down)
- Bugfix: where the shipping tax ignored the Applies to option of the rule and the Default member field country, and used a global rule with Default country "None" before the billing country was known
- Bugfix: where saving the settings of this module also changed the log setting of the Store
- Bugfix: where the cart lost the changes of another add-on on the
reinos_store_cart_items_endhook (e.g.added_by_buy_x_get_y_freeof Price Rule) - Bugfix: where
{cart:tax_details}still listed the tax rates (e.g. "21% € 12,60") when the reverse charge applied, and the order items kept the info of the tax rule after a recalculation with the reverse charge - Bugfix: where the modifier prices including tax (
{items:custom_fields:modifier:price_plus_tax}) kept their tax when the reverse charge applied - Bugfix: where the VIES check ran for an empty tax number on every page with the shipping methods, which saved an empty cache row and wrote an
is not validnotice each time. The reverse charge check also runs only once per page now - Bugfix: where Reverse charge used the continent Europe instead of the EU: the tax number of customers from e.g. Norway, Switzerland and the UK had to be valid in VIES, which is not possible. Greek numbers (
EL) and Northern Ireland numbers (XI) are recognised now - Bugfix: where a VIES result remembered by a version before 1.3.1 gave a PHP error after the update. Such a result is checked again now. The same tax number with other spaces, dots or case uses the same remembered result
- Bugfix: where guests and members with an empty member field got no tax when a Default member field country was selected. The Default country is used for them now, as the setting describes
- Bugfix: where recalculating an order in the CP used the tax number and address of the cart of the CP user for the shipping tax, instead of those of the order
- Bugfix: where the reverse charge was applied while Reverse charge VAT for EU store owners was disabled. If you rely on the reverse charge, enable this setting (Breaking change)
- Updated: requires Reinos Store 4.0.0 or later, install and update check it (Breaking change)
- Updated: requires ExpressionEngine 7.3+ and PHP 8.2+. For ExpressionEngine 6 and lower use the legacy package (
legacy/ee_reinos_store_tax-v1.4.0.zip) (Breaking change)
1.4.0 (02-09-2026)
- Updated: remove custom license check and rely on the built-in license verification of ExpressionEngine
1.3.1 (12-04-2026)
- Bugfix: where the TAX vies result could not saved correctly in some cases.
1.3.0 (09-12-2025)
- Update: compatibility with the new Reinos Store v3.7.0
1.2.2 (18-11-2025)
- Updated: update deps
- Bugfix: PHP 8.4 issues
1.2.1 (24-09-2025)
- Bugfix: where it could throw an error on trim function
1.2.0 (28-07-2025)
- Added: EU reverse TAX check
- Added: Import of EU tax rules
- Added: import of Canada tax rules
- Added: a tax rule can also be applied per state/province
1.1.0 (04-03-2025)
- Added: config option to select a member fields as input for the country
- Update: to be compatible with Reinos Store module v3.2.0
1.0.2 (09-12-2024)
- public release
