Linux 软件免费装
Banner图

vatnode - EU VAT Validation and Reverse Charge

开发者 iuriirogulia
更新时间 2026年8月19日 21:46
PHP版本: 8.0 及以上
WordPress版本: 7.0
版权: GPL-2.0-or-later
版权网址: 版权信息

标签

woocommerce vat vies reverse charge vat validation

下载

1.1.6 1.1.4 1.1.5

详情介绍:

WooCommerce collects a VAT number if you add a field for it, but it does not check the number and it does not know when a sale is zero-rated. This plugin does both, and keeps the EU VAT rate table current while it is at it. Neither job needs any configuration to get started. 1. Your tax table stays correct. The plugin pulls standard VAT rates for every EU member state from the European Commission's Taxes in Europe Database (TEDB) and writes them into the WooCommerce tax table. It re-checks daily, so a rate change lands in your store within 24 hours instead of whenever you happen to read about it. 2. Your B2B buyers can pay without VAT. The plugin adds a VAT number field at checkout. The number is checked against its country format offline, stored on the order, and — once you add a vatnode API key — verified live against the official VIES service. When a buyer's VAT number is valid and they are in another EU country, VAT is removed and the reverse charge applies. What is free What needs a vatnode API key Get a key at vatnode.dev/woocommerce — the free plan includes a monthly request quota. Paste it into WooCommerce → EU VAT Rates and save. Nothing else changes. OSS and the €10,000 threshold If your store is registered for the One Stop Shop, consumers in other EU countries are charged the rate of their own country. That is the default. If you are not registered, untick the OSS box: every EU buyer is then charged your own country's rate, which is what applies while cross-border sales stay under the EU-wide €10,000 threshold. How the reverse charge decision is made
  1. Empty field → nothing happens, VAT is charged
  2. Wrong format for the country, or a VAT country that does not match the billing country → the shopper is asked to fix it
  3. Same country as your store → domestic sale, VAT is charged
  4. Another EU country and VIES confirms the number → VAT removed, reverse charge applied
  5. VIES says the number does not exist → the shopper is asked to correct it or remove it
If the check cannot be made — no key, quota spent, VIES down — the order still goes through with VAT charged, and the reason is written to the order notes. A checkout is never blocked by an upstream service. Data source Rates come from the European Commission TEDB. The dataset is open source and also published on GitHub, npm, PyPI, Packagist and RubyGems. A full copy ships inside the plugin, so nothing has to be downloaded for it to work — the daily refresh exists because rates change by law between plugin releases.

安装:

  1. Upload the plugin folder to /wp-content/plugins/, or install it from the WordPress plugin directory
  2. Activate it through Plugins → Installed Plugins
  3. Go to WooCommerce → EU VAT Rates — rates sync automatically on first activation
  4. Optional: paste a vatnode API key and save — VIES verification and the reverse charge switch on with it

屏幕截图:

  • Classic checkout — a verified VAT number removes VAT from the total
  • Block checkout — the same field in the contact section
  • Order screen — VAT number, verification status and registered company name

常见问题:

Do I need an API key?

Only for live VAT number verification and the reverse charge. Rate syncing, the checkout field and format checking work with no key and no account.

Does it work with the block checkout?

Yes, both the block checkout and the classic shortcode checkout. On the block checkout the field appears in the contact section, and the total updates as soon as a valid number is entered.

What happens if VIES is down?

The order is placed with VAT charged as usual and a note is added to the order explaining that the number could not be verified. Checkout is never blocked.

How often do EU VAT rates actually change?

More often than you would expect. Estonia raised its standard rate twice in recent years, Finland moved to 25.5%, and reduced rates change somewhere in the EU most years. Tracking this by hand is not realistic.

Does this replace my existing tax rates?

No. The plugin upserts rates named "VAT" per country code — insert if missing, update if already there. Rates with other names, and anything you added manually, are left alone.

Which countries can be validated?

VIES covers the 27 EU member states plus XI (Northern Ireland). Rate data covers those plus 17 other European jurisdictions, which are rate-lookup only.

Where is the VAT number stored?

On the order, together with the verification status, the registered company name and the VIES consultation number when one was issued. You can see all of it on the order screen in the WooCommerce admin.

Do Greek EL numbers work?

Yes. Greece issues VAT numbers under the EL prefix while the billing country is GR, and the plugin treats the two as the same country. An EL number on a Greek billing address validates, and a Greek store selling to a Greek business is correctly treated as domestic.

Does it work with HPOS?

Yes. The plugin declares compatibility with High-Performance Order Storage and with the cart and checkout blocks, and reads and writes order data through the WooCommerce CRUD layer either way.

Can I make the VAT number field mandatory?

Yes, there is a setting for it. Leave it off unless you sell to businesses only — consumers do not have a VAT number and would not be able to check out.

Is my API key sent anywhere else?

No. The key is stored in your own site and travels only to api.vatnode.dev, over HTTPS, in the request that validates a VAT number. It is masked down to its prefix on the settings screen and removed from the database when you uninstall the plugin.

Where do I get support?

Open a thread in the support forum for this plugin. Bugs and feature requests are also welcome on GitHub at https://github.com/vatnode/eu-vat-rates-wp.

更新日志:

1.1.6 1.1.5 1.1.4 1.1.2 1.1.1 1.1.0 1.0.0