W System / Blog / Shopware 6 EU VAT ID check with VIES (free plugin)

Shopware 6 EU VAT ID check with VIES: free plugin, tax-free company prices only for real VAT IDs

In short: Shopware 6 can show business customers prices without VAT when you enable Tax-free for companies on a country, but out of the box it only checks the format of the VAT ID. A mistyped or deregistered number still gets the tax-free price. This page explains what a proper check needs (live VIES, prefix vs billing country, a rule for VIES outages, evidence on the order) and a free GPL plugin for Shopware 6.6 and 6.7 that does it. Not tax advice.

Why a format check is not enough

The free plugin: EU VAT check (VIES) for Shopware 6

Disclosure: W System, which publishes this page, makes this plugin and the API it calls. It hooks into Shopware's own VAT ID field at registration and profile update and checks the number live in VIES through the W System API. Invalid numbers are rejected with a clear message (configurable), numbers whose country does not match the billing country are rejected, and VIES outages are accepted by default (configurable). When the customer orders, the VIES status, consultation number, name in VIES, check date and whether the order was tax-free are saved in the order's custom fields. The tax-free price itself comes from Shopware's Tax-free for companies setting, so nothing about your prices or invoices changes.

Download v0.1.0 (zip) · source and readme on GitHub (GPL-3.0-or-later) · all releases

Install in a few minutes

  1. Download the zip above.
  2. In the Shopware admin open Extensions, My extensions, Upload extension, and upload the zip. Then install and activate "EU VAT check (VIES) by W System".
  3. Open the plugin's Configure screen. Optionally enter your own VAT ID to get VIES consultation numbers, and choose what happens for invalid numbers and VIES outages.
  4. Under Settings, Countries, enable Tax-free for companies for the countries where you sell B2B without VAT (your accountant decides which).
  5. Register a test business customer with a known valid VAT ID from another EU country, place an order and look at the order's custom fields.

Developers can also install from the GitHub repository with Composer; the readme has the commands.

What the check returns

The plugin calls GET https://api.wsystem.dev/verify?vat=…. Shortened response from the live API on 28 October 2026 for Siemens AG's published VAT ID:

{
 "vat": "DE811569869",
 "country_code": "DE",
 "status": "valid",
 "valid": true,
 "consultation_number": "WAPI…",
 "source": "VIES (European Commission)"
}

Building your own integration or using another shop system? See the VAT validation API, how to handle VIES outages, or the WooCommerce plugin.

Questions and answers

Do I need an account or API key?

No. The plugin works without one: the W System API free tier allows 20 VIES checks per day per server IP address. An optional key only raises that daily quota.

Which Shopware versions does it support?

Shopware 6.6 and 6.7. Every change is tested in CI on Shopware 6.6.10.9 and 6.7.15.1: the plugin is installed and activated, unit tests run, and a Store API registration test checks that an invalid VAT ID is rejected, a valid one is accepted and a country mismatch is rejected.

Does the plugin calculate the tax-free price itself?

No, on purpose. Shopware already removes VAT for business customers when you enable Tax-free for companies on a country. The plugin makes sure only VAT IDs that VIES confirms get there, so prices, documents and invoices keep working the way Shopware does them.

What happens when VIES is down?

By default the VAT ID is accepted, so an EU outage does not block registration, and the order records that VIES was unavailable. You can switch this to reject and ask the customer to try again.

Is it in the Shopware Store?

Not yet. Version 0.1.0 is published on GitHub as a release zip you upload under Extensions, My extensions. The code is GPL-3.0-or-later.

Which data leaves my shop?

Only the VAT ID the customer entered, your own VAT ID if you set it (so VIES returns a consultation number), and the API key if you set one. No names, addresses, emails or order contents are sent.

Sources

Related

Plugin v0.1.0 released 28 October 2026. Not tax advice; not affiliated with shopware AG or the European Commission.

Facts checked 2026-10-28. W System is the maker of this product. Not affiliated with the European Commission. Not legal or tax advice.