How to Validate EU VAT Numbers with VIES (2026 Guide)
When you sell to a business in another EU country, you need to verify their VAT number before applying the reverse charge (zero-rate VAT). The official way to do this is through VIES — the VAT Information Exchange System.
Here’s everything you need to know about VAT number validation in 2026.
What Is VIES?
VIES is a free service operated by the European Commission that lets you verify the validity of a VAT identification number issued by any EU member state. It queries the national databases of each country in real time.
Important: VIES doesn’t just check the format — it verifies that the number is actually registered and currently active.
VAT Number Formats by Country
Each EU country has a specific format for VAT numbers:
| Country | Prefix | Format | Example |
|---|---|---|---|
| Austria | ATU | 9 characters | ATU12345678 |
| Belgium | BE | 10 digits | BE0123456789 |
| Bulgaria | BG | 9-10 digits | BG123456789 |
| Germany | DE | 9 digits | DE123456789 |
| France | FR | 2 chars + 9 digits | FR12345678901 |
| Netherlands | NL | 12 characters | NL123456789B01 |
| Poland | PL | 10 digits | PL1234567890 |
| Spain | ES | 9 characters (letter-digit-letter) | ESX1234567A |
| Sweden | SE | 12 digits | SE123456789012 |
The country prefix (e.g., “DE” for Germany) is always included and corresponds to the ISO 3166-1 alpha-2 country code, with a few exceptions (Greece uses “EL” instead of “GR”).
How to Validate a VAT Number
Option 1: Online Tool (Quickest)
Use euvat.dev to validate any EU VAT number instantly:
- Enter the VAT number (with or without the country prefix)
- Click “Validate”
- Get the result: valid/invalid, company name, and address
The tool calls the official VIES API and returns the result in real time.
Option 2: European Commission Website
The official VIES website at ec.europa.eu/taxation_customs/vies/ provides direct access. It’s reliable but can be slow, especially during business hours.
Option 3: API Integration
For automated validation, you can call the VIES SOAP service or use wrapper APIs:
// Using euvat.dev API
const response = await fetch('https://euvat.dev/api/v1/validate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ vat_number: 'DE123456789' })
});
const result = await response.json();
// { valid: true, name: "Company GmbH", address: "..." }
Common Validation Errors
”Service unavailable” for a specific country
Each country maintains its own database. If a country’s service is down, VIES can’t validate numbers from that country. This happens regularly, especially for:
- Italy (frequent maintenance windows)
- Spain (occasional outages)
- Greece (intermittent availability)
What to do: Try again later. If it’s urgent, document the attempt and proceed with other evidence of the business’s VAT status.
”Invalid” result for a number you know is correct
Possible causes:
- Newly registered — It can take 1-2 weeks for a new VAT number to appear in VIES
- Recently deregistered — The business may have been deregistered without your knowledge
- Format error — Check that you’re including the correct country prefix and no extra spaces
- Wrong country — Some numbers are similar across countries; double-check the prefix
Rate limiting
The VIES service has no official rate limits, but aggressive querying can result in temporary blocks. For bulk validation, space requests at least 1-2 seconds apart.
Why Validation Matters
Legal requirement
Under EU law (Council Directive 2006/112/EC), you must verify the VAT number of your customer before applying the reverse charge mechanism. If you zero-rate a supply based on an invalid VAT number, you may be liable for the VAT yourself.
Fraud prevention
VAT fraud is a significant problem in the EU (estimated at €50-60 billion per year). Validating VAT numbers helps ensure you’re not unwittingly involved in carousel fraud or missing trader fraud.
Record keeping
Keep proof of each validation — date, time, result, and the name/address returned. Most tax authorities require these records for audits. Store them for at least 10 years (the standard EU retention period for VAT records).
Best Practices for Businesses
-
Validate at the point of sale — Don’t wait until invoicing. Check the VAT number when the customer provides it.
-
Re-validate periodically — For recurring customers, re-validate quarterly. VAT registrations can be revoked.
-
Store the validation result — Save the date, time, and response from VIES. This is your proof of due diligence.
-
Handle failures gracefully — If VIES is down, charge VAT and refund it once you’ve confirmed the number. This protects you legally.
-
Automate where possible — For e-commerce, integrate VAT validation into your checkout flow. euvat.dev provides a simple API for this.
VIES Alternatives and Supplements
While VIES is the primary system, some countries offer additional lookup services:
- UK (post-Brexit): Use the HMRC VAT number checker (UK is no longer in VIES)
- Norway: Brønnøysund Register Centre (Norway is not in the EU)
- Switzerland: UID register
For non-EU European countries, you’ll need country-specific services.
Summary
VAT number validation is a legal requirement for B2B EU cross-border sales. Use euvat.dev for quick manual checks or API integration, keep records of every validation, and always handle VIES downtime gracefully by defaulting to charging VAT.
Try EU VAT Calculator for free
Calculate VAT, validate VAT IDs, and look up rates for all 27 EU member states. No signup required.
Open Calculator