Skip to content

WooCommerce

Selling to Dutch and Belgian businesses? Let them type a VAT number and the rest fills itself in.

The plugin checks the VAT number the way customers actually type it (with or without country code, spaces or dots), first offline and then with the EU VAT register (VIES). For Dutch and Belgian companies it fills in the registered company name and address. Dutch addresses come from postcode + house number (PDOK, the Dutch government address register); Belgian streets are suggested from the postcode (BeST). No API key, no subscription.

Customers are never punished for a slow government service: when VIES is down, the order goes through and is flagged for you. Nothing the customer typed is overwritten without asking, and every filled field stays editable. It works on the classic checkout, the new checkout block and the My Account address forms.

Plus adds what Dutch B2B shops ask for next. Customers type their KvK number and the company name and address fill in; with several establishments they pick theirs. The field shows only for Dutch addresses and can be optional or required. Export the lookup log to CSV for your accountant, and check the VAT numbers of all existing customers in one go, in the background.

  • VAT check with VIES for every EU country, offline checksum first (Dutch numbers from 2020 included)

  • Company name and address filled in from VIES for NL and BE

  • Dutch postcode + house number lookup (PDOK) with addition picker and manual entry

  • Belgian street suggestions and address check (BeST), Dutch/French street names

  • Classic checkout, checkout block and My Account; HPOS compatible

  • Never blocks checkout when VIES is down (accept and flag, or reject “not registered”: your choice)

  • VAT status, date and VIES request identifier on orders and customers

  • Lookup log with reasons in plain words, “Test connection” per service, “Copy diagnostics”

  • Optional VAT exemption for valid intra-EU B2B customers (off by default)

  • English, Dutch, French (BE) and German

  • KvK number lookup (Dutch Chamber of Commerce) with your own key; free test mode with KvK’s test environment

  • Establishment picker, never a PO box as address, the KvK legal notice and retrieval date shown with KvK data

  • Step-by-step “get your own KvK key” guide and a test button in the settings

  • KvK call counter per month (cost transparency)

  • Lookup log CSV export with your filters

  • Bulk VAT check of existing customers

  • 30-day free trial

The plugin itself is free on wordpress.org (GPL). The paid Plus add-on adds the KvK lookup, a CSV export of the lookup log and a bulk check of existing customers:

€49 per year for 1 site, €99 for 5 sites, €199 for 25 sites (starting point, P-02; owner confirms). 30-day free trial. The licence gives updates and support for a year; nothing stops working when it ends.

  1. Install and activate WooCommerce (10.0 or newer).
  2. Install this plugin through Plugins → Add New (search “VAT & Company Autofill”), or upload the zip, and activate it.
  3. Go to WooCommerce → Settings → VAT & Company Autofill. It works out of the box; click the “Test” buttons to see that your server can reach each service.
  4. Block checkout and Belgian street suggestions: turn on WooCommerce → Settings → General → “Enable predictive address search” (off by default). If more than one address provider is listed there, choose “VAT & Company Autofill (Belgian streets)”. Without it the Belgian address is still checked with BeST.

Everything is under WooCommerce → Settings → VAT & Company Autofill. It works out of the box; change only what you need.

  1. Click the Test button for each service (VIES, PDOK, BeST and, with Plus, KvK) to see that your server can reach it.
  2. Choose what happens when VIES says a number is not registered: accept and flag (default) or reject.
  3. Block checkout and Belgian street suggestions: turn on WooCommerce → Settings → General → Enable predictive address search. If several address providers are listed, choose “VAT & Company Autofill (Belgian streets)”.
  4. Optional: the VAT exemption for valid intra-EU business customers (off by default).
  5. Plus: the KvK lookup (off, test environment or production with your own key), the CSV export of the lookup log and the bulk check of existing customers.

The lookup log shows each lookup with the masked input and the reason in plain words; Copy diagnostics is on the same settings page.

The KvK (Dutch Chamber of Commerce) does not allow a shared API key, and KvK data may not be passed between shops. That is why the KvK lookup uses your own KvK API subscription (€6.20 per month per API at the KvK in October 2026; looking up a number is free, the optional full address costs €0.02 per lookup). The settings contain a step-by-step guide: where to order the key, what it costs, where to paste it, and a button to test it. Until you have a key, test mode shows how it works with KvK’s fictional test companies. KvK results are cached only in your own shop.

Only the number or the address is sent: the VAT number to VIES, postcode and house number to PDOK, postcode and street to BeST. All calls go from your shop’s server; the storefront loads no third-party scripts and sets no cookies. The lookup log stores inputs masked and deletes them after 30 days (configurable, at most 180 days). Details per service: the “External services” section of the readme.

The KvK number goes from your server to the KvK with your key; the key is stored on your server and never sent to the browser or to us. Freemius handles the licence and payments.

We support the plugin, not your hosting or server setup. Need help? In WooCommerce → Settings → VAT & Company Autofill, click Copy diagnostics and paste the text into your support request. It shows the plugin, WordPress, WooCommerce and PHP versions, the health of each service and the last failed lookups (masked); it never contains your API key or full customer numbers.

  • Every “Test connection” fails: your server cannot reach the internet over HTTPS (firewall, proxy or a block on outgoing traffic). Ask your hosting provider to allow outgoing HTTPS.
  • “Could not be checked” for a VAT number: VIES or the national register is busy. The customer can continue; the number is flagged.
  • No postcode or street suggestions: check that the options are on and that no caching/optimisation plugin delays or combines JavaScript on the checkout. Block checkout: Belgian streets need WooCommerce → Settings → General → “Enable predictive address search” (choose “VAT & Company Autofill (Belgian streets)” if several providers are listed).
  • No KvK field (Plus): KvK mode is off, production is chosen without a key, or the billing country is not the Netherlands.
  • “Too many lookups”: raise the lookups per minute or per day in the settings.

No. VIES, PDOK and BeST are free public services. Only the KvK lookup needs your own KvK API key; the KvK test environment works without one.

The Netherlands and Belgium: VAT check with company autofill, Dutch postcode + house number lookup and Belgian street suggestions. The VAT check itself works for every EU VAT number.

The customer can continue. The order and the customer are marked “could not be checked”, and you see it on the order, on the customer and in the lookup log.

Only if you switch on the VAT exemption (reverse charge) for valid intra-EU business customers. It is off by default. You decide the VAT treatment of your sales.

Not for the plugins you install on your own server (Shopware, WooCommerce, Magento, PrestaShop): they talk directly to the public services. The hosted apps (Shopify, Lightspeed) run on our server in the EU, as your processor. See external services and the privacy policy.

No. VIES, PDOK and BeST are free public services. Only the KvK lookup in the Plus add-on needs your own KvK key.

The customer can continue. The order and the customer are marked “could not be checked” and you see it on the order screen and in the lookup log.

Only if you turn on “VAT exemption”. Off (the default), the plugin never touches tax.

Does it work with the EU VAT Number extension?

Section titled “Does it work with the EU VAT Number extension?”

Yes. The plugin stores the number under the same key and only verifies and fills when that extension brings its own field.