VAT Number and EU VIES Validation for WooCommerce changelog

0.4 – 2026-08-27

  • NEW European Community Sales List report under WooCommerce, with the proof behind every line, the triangular supplies you mark, and a CSV export
  • NEW Readiness check on the settings screen: eight checks that say whether this shop can actually remove VAT from an order
  • NEW The settings screen asks you to accept that the tax decisions are yours, and the plugin does nothing until you do
  • NEW Sales of goods to Northern Ireland on a confirmed XI VAT number are exempted, as the Windsor Framework requires. Orders carrying anything virtual are not
  • FIX The Canary Islands, Ceuta and Melilla (Spain), the Åland Islands (Finland), Heligoland and Büsingen am Hochrhein (Germany), Livigno and Campione d’Italia (Italy) and Mount Athos (Greece) are outside the EU VAT area and are no longer treated as ordinary EU, whether you sell to one or trade from one
  • FIX The order panel ran the date and the time together, showing “27 August 2026 14:45” instead of “27 August 2026 at 14:45”
  • FIX The published licence state never reported “expired”
  • TWEAK The shop’s own VAT number is still checked on every settings save, but the result is only reported when it changes

0.3 – 2026-08-27

  • NEW The order says when a missing or expired licence was the reason a VAT number went unchecked, rather than showing the same message as a VIES outage
  • FIX The VAT number field no longer appears on the “My Account > Addresses > Billing address” form, where editing it did nothing. It is changed on the “My Account > VAT number” page
  • TWEAK A subscription renewal carries the VAT number and its country, and the VIES proof copied onto it is marked as inherited from the original order
  • TWEAK The “Strictness” setting is now called “Conditions for removing VAT”
  • TWEAK The System Status Report section carries the plugin’s full name
  • DEV The licence state is published as nakedcat_vat_number_license_state (active, expired or inactive), so a plugin integrating with us can read it before this one has booted

0.2 – 2026-08-26

  • First public (but silent) release
  • NEW Shop as Client PRO 8.1 fills in a customer’s VAT number when a manager orders on their behalf, on both checkouts, reading it the same way the customer’s own checkout does
  • NEW The REST endpoint and the WordPress Ability now report what each layer of validation decided, as a closed set of codes the ability’s schema explains, so an AI client can tell a mistyped number from a well-formed one that is simply not registered in VIES. Both are invalid and they call for opposite responses
  • NEW The registered address VIES holds for a number, shown on the order beside the registered name. Several member states withhold it, Germany among them, so it appears only when VIES returns one
  • NEW Settings and documentation reachable from the WordPress command palette
  • TWEAK The country prefix setting says it is recommended, and why: without the prefix the stored number carries no country of its own, so anything reading it afterwards has to guess
  • TWEAK The settings screen now names the plugin and the version it is running
  • FIX Translations for the checkout block’s own strings could never load. The .pot described src/, while WordPress looks for a translation file named after the built script it actually loads
  • FIX Too many to enumerate here 🙂
  • DEV Tested up to WordPress 7.2-alpha-63347 and WooCommerce 11.1.0-beta.2

0.1 – 2026-08-25

  • First development release
  • NEW VAT number field on both the classic and the Blocks checkout, in My Account, and on the order screen
  • NEW Local validation before anything leaves the server: country format for 31 territories, and a verified check digit for 26 of them
  • NEW Northern Ireland (XI) supported like any other EU number
  • NEW VIES validation over the European Commission’s REST API, with no SOAP extension required
  • NEW The VIES consultation number, the timestamped proof that the check was made, stored on the order as evidence
  • NEW Checks the shop’s own VAT number when it is saved, because without one VIES returns no consultation number and there is no proof
  • NEW VAT removed on qualifying intra-Community B2B orders, at one of three strictness levels, with every input behind the decision recorded on the order
  • NEW Zero-Touch Migration: numbers left by your previous plugin migrate themselves as customers return, with nothing to export, import or schedule, and nothing belonging to the other plugin changed or deleted. Reads numbers already stored by WooCommerce EU VAT Number, Aelia EU VAT Assistant, EU VAT Compliance (Simba), EU/UK VAT Validation Manager (WPFactory), Teamwant VIES VAT, InvoiceXpress and NIF Português, so switching loses nothing and imports nothing
  • NEW wp nakedcat-vat migrate consolidates the lot in one go when you would rather not wait for Zero-Touch Migration to get there, dry run by default
  • NEW Says when another VAT plugin is still active, names it, explains what running both costs, and offers to deactivate it
  • NEW Orders list column and an order panel showing what was checked, when, and whether VAT came off
  • NEW Re-checking an order writes an order note and never overwrites the original proof
  • NEW Search the orders list, and the users list, by VAT number
  • NEW Column on the users list, and the number editable on the customer’s profile screen in WP Admin
  • NEW Shown to the customer on the order confirmation page, in My Account and on order emails
  • NEW A VAT number section in My Account, so a customer can add or correct theirs without placing an order
  • NEW Three cache layers with asymmetric lifetimes, so a confirmed number is reused and a rejected one is not held against a customer who fixes their typo
  • NEW If VIES is unreachable when an order is placed, the most recent stored answer for that number is used rather than refusing the sale, and an outage is never cached or recorded as invalid
  • NEW Rate limited so the field cannot be used to hammer a free public service, with the limits filterable
  • NEW WPML ready, including translating the field label per language, and multi-domain setups in the licensing too
  • NEW REST endpoint and a WordPress Ability, both thin wrappers over the same validator, so a VAT number can also be validated from an MCP or AI client
  • DEV Hooks for other plugins to mirror the number onto their own meta
  • DEV Updater v13.4