A VAT number box in your checkout's billing section, validated against the
European Commission's own VIES service, and the tax taken off for business
customers in other member states.
A valid VAT number is not by itself an exemption, and that is the thing
plugins in this category get wrong. Reverse charge applies when the customer
is a business
in another member state, so all four of these have to hold
before a penny comes off:
- The number was actually checked and found valid — not merely typed.
- Its country prefix matches the billing country. A German customer
cannot claim an exemption with a French number.
- The customer is not in your own country. Domestic business sales are
still taxed everywhere reverse charge exists.
- You have not switched the whole thing off.
An unreachable VIES is not a yes. The service is down often, and on those
afternoons the difference between charging tax you can refund later and
giving away tax you will still owe is one decision. This plugin fails closed.
What is recorded is evidence, not an opinion. The order keeps the number
as it was checked, the verdict VIES gave, the moment it gave it, the name and
address the service returned, and whether the tax actually came off.
The tax comes off through WooCommerce's own exemption, which is the seam
the classic cart, the block cart, the Store API and every total read through.
There is no tax rate this plugin has to know about, and no surface it has to
be told about.
What you get
- A VAT number field in the checkout's billing section, optional or required,
called whatever you want to call it
- Live validation against VIES, with the answer remembered for the checkout
rather than asked again on every keystroke, and a timeout you choose
- Reverse charge applied under all four rules above
- The evidence recorded on the order
- Everything that was checked, on the order screen — the number, the verdict,
the moment, the name and address VIES returned, and whether the tax came off
- Your own wording for the message shown when VIES cannot be reached
- No database tables and no storefront JavaScript
The full edition
Gatemi VAT Number for WooCommerce
is a separate plugin, sold on
gatemi.com, that sends your own VAT number to
VIES as the requester — which is what makes the service return a consultation
number with every check — and adds a test lookup that asks VIES for real from
the settings screen.
Both editions store their settings the same way and write the same order
meta, so upgrading keeps everything.