Understanding how the VAT Information Exchange System (VIES) works helps you interpret validation results correctly and troubleshoot issues when they arise. This guide explains the technical architecture behind EU VAT validation, what happens when you submit a number for verification, and how to make sense of the responses you receive.
VIES is often misunderstood as a centralized European database containing all EU VAT registrations. In reality, it is a search interface that connects to 27 separate national databases—one for each EU member state. When you validate a VAT number, VIES acts as a gateway, routing your query to the appropriate national system and returning the response.
Each member state is responsible for maintaining its own VAT registration database. These national databases contain information about businesses registered for VAT within that country, including their VAT identification number, company name, registered address, and registration status. The European Commission operates VIES but does not control the underlying data—it simply provides the technical infrastructure for cross-border data exchange.
This decentralized architecture has important implications. The accuracy, completeness, and update frequency of VAT data varies between countries because each national tax authority manages its own systems independently. Some countries update VIES records almost instantly when registrations change, while others batch updates daily or weekly. Some countries provide full company details in responses, while others restrict information for data protection reasons.
When you submit a VAT number for validation, several steps occur in sequence. First, the system identifies the country based on the two-letter prefix at the beginning of the number. This prefix tells VIES which national database to query. The country code must be valid and match an EU member state or Northern Ireland (XI).
Next, VIES checks whether the remaining portion of the VAT number matches the expected format for that country. Each country has specific rules about the length, structure, and character composition of VAT numbers. If the number does not match the expected format, some implementations reject it immediately without querying the national database, while others pass it through and let the national system determine validity.
Assuming the format is acceptable, VIES forwards the query to the relevant national database. The national system searches its records for a matching VAT number and returns information about the registration status. If found, the response indicates the number is valid and may include additional details like the registered company name and address. If not found, the response indicates the number is invalid.
The entire process typically completes within a few seconds, though response times can vary based on network conditions and the performance of individual national systems. Occasionally, a national database may be unavailable due to maintenance or technical issues, resulting in a "service unavailable" response rather than a valid/invalid determination.
VIES validation returns one of several possible results, each with different implications for your transaction:
A valid result confirms that the VAT number is registered in the national database and is currently active for intra-community transactions. For most countries, this response includes the registered company name and address, allowing you to verify that the details match what your trading partner provided. A valid result at a specific point in time provides documentation of due diligence but does not guarantee future validity—VAT registrations can be cancelled or suspended at any time.
An invalid result indicates that the VAT number was not found in the national database. This could mean the number does not exist, has been deactivated, or belongs to a business that is not registered for intra-community transactions. Invalid results require investigation—check for typing errors first, then verify the number with your trading partner. Some countries require separate registration for intra-community trade; a valid domestic VAT number may show as invalid in VIES if this additional step was not completed.
This response means the national database could not be reached. It does not indicate anything about the validity of the VAT number itself. Service unavailable responses typically result from scheduled maintenance windows or unexpected technical problems with a country's tax authority systems. Wait and retry later—most availability issues resolve within a few hours. The European Commission sometimes posts notices about planned maintenance on the VIES website.
Each successful VIES validation generates a unique consultation number that serves as proof of verification. This identifier, combined with the date and time of the query, creates a record that demonstrates you performed due diligence before treating a transaction as zero-rated for VAT purposes.
The consultation number is important for audit purposes. Under current EU rules, validating your customer's VAT number is a substantive requirement for zero-rating intra-community supplies. If your tax authority later questions your VAT treatment, the consultation number proves you verified the number at a specific point in time. Without this documentation, you may have difficulty defending zero-rate treatment if the VAT number is later found to be invalid or fraudulent.
Save consultation numbers along with validation dates and results in your records. Many businesses integrate VIES validation into their accounting or ERP systems, which automatically log this information. If you use manual validation through the VIES web interface, copy the consultation number from the results screen and store it with the transaction documentation.
The information returned in VIES responses varies significantly between countries due to differing national data protection regulations and implementation choices. Understanding these variations helps you interpret results correctly and set appropriate expectations for different trading partners.
Most EU countries return complete company information when a VAT number validates successfully. You receive the registered company name and business address, allowing you to confirm that the VAT number belongs to the entity you expect to deal with. Countries in this category include Austria, Belgium, France, Italy, Netherlands, Spain, and most others.
Germany is the most notable example of a country that restricts VIES response data. German law prohibits the automatic disclosure of company information associated with VAT numbers. VIES returns only valid or invalid status without the company name or address. If you need to verify that a German VAT number belongs to a specific company, you must submit a written request to the German Federal Central Tax Office (Bundeszentralamt für Steuern), which can take several days to process.
Some countries may return partial information—for example, company name but not address, or only city rather than full address. This can occur when businesses have exercised data protection options or when the national database structure does not capture certain fields. When you receive partial information, compare what is returned against what your trading partner provided to verify consistency.
VIES can be accessed through multiple channels depending on your needs and technical capabilities:
The European Commission provides a web-based interface at ec.europa.eu/taxation_customs/vies for manual validation. This is suitable for occasional checks but becomes impractical for high-volume validation needs. The web interface validates one number at a time and requires manual entry of each VAT number.
For automated validation, the European Commission offers a SOAP-based web service API. Businesses can integrate this service into their accounting, ERP, or e-commerce systems to validate VAT numbers automatically during customer onboarding or transaction processing. The SOAP service returns structured data that can be parsed and stored programmatically. API documentation is available on the European Commission's taxation website.
Various third-party services wrap the VIES API with additional features like batch validation, enhanced error handling, historical lookups, and integration with common business software platforms. While these services add convenience, they still rely on the same underlying VIES data. Evaluate third-party services based on reliability, pricing, and integration capabilities with your existing systems.
When you validate a VAT number matters as much as whether you validate it. VAT registrations can change over time, so a validation performed months before a transaction may not reflect current status. Best practices include:
Validate at customer onboarding to establish initial legitimacy and capture baseline information. Re-validate before significant transactions to confirm ongoing registration. Periodic bulk re-validation of your customer database catches deregistrations that might otherwise go unnoticed. Always record validation dates alongside results so you can demonstrate when verification was performed.
For high-value transactions or new trading relationships, consider validating immediately before shipping goods or rendering services. This minimizes the window during which registration status could change between validation and transaction completion.
While VIES is an essential tool for VAT compliance, it has limitations that you should understand:
VIES validates only that a number is registered—it does not verify the legitimacy or creditworthiness of the business behind that number. Fraudsters can obtain valid VAT numbers through shell companies or identity theft. Always combine VAT validation with other due diligence appropriate to your transaction size and risk tolerance.
Registration data may not be current. Although VIES queries national databases in real-time, those databases may not reflect recent changes. New registrations can take days or weeks to appear. Deregistrations may not be processed immediately. A number that validated yesterday might be invalid today, or vice versa.
Technical issues can prevent validation. National databases have maintenance windows and occasionally experience outages. If you cannot validate a number due to service unavailability, document your attempt and retry later. Do not assume a number is invalid just because you cannot validate it at a particular moment.