EU VAT Number Checker (VIES-style)

Paste a batch of EU VAT numbers and this tool runs each one through the real, country-specific structural checksum algorithm (DE, FR, IT, ES, NL, BE, PL, AT, PT, IE) to flag obviously malformed or mistyped numbers. It also includes an OSS/IOSS distance-selling threshold helper for the €10,000 pan-EU cross-border B2C threshold. This tool makes no network calls, so it validates format and checksum only. It cannot confirm a number is currently registered in VIES, so verify with an official source before relying on this for compliance decisions.

PrivateFreeWorks offline

Reviewed by Riccardo Dal Cero, Economist & Consultant · Last updated September 27, 2026

How it works

  1. 1

    Paste one VAT number per line (or comma-separated), each with its 2-letter country prefix.

  2. 2

    Each number is checked against that country's real checksum algorithm and format rules.

  3. 3

    Results show valid/invalid/unsupported per number with a plain-language reason.

  4. 4

    Optionally use the OSS threshold helper to check cumulative EU cross-border sales against the €10,000 limit.

Catching typos before they become a problem

A single transposed digit in a customer's VAT number can cause an invoice to be rejected, a B2B reverse-charge exemption to be denied, or a VIES lookup to come back empty for a legitimate business. Running a batch through a real checksum check first catches most of these mistakes before you ever hit a live registry.

Format validation is not registration status

This tool checks that a VAT number is internally consistent: the check digit matches the rest of the number per that country's public algorithm. That's a mathematical check only. It can't confirm the number belongs to an active, registered business; only a live VIES query or the country's own tax portal can do that.

Why keep the OSS threshold editable

The €10,000 pan-EU distance-selling threshold is set by EU directive and could change. Rather than bury it as a fixed assumption, this tool shows the figure plainly and lets you override it, so it keeps working even if the number is updated.

Frequently asked questions

Does this confirm a VAT number is actually registered?

No. This tool makes no network calls and never queries VIES or any tax authority. It only checks that the number's format and check digit are mathematically consistent with that country's algorithm. A number can pass this check and still not be registered, or belong to someone else.

Which countries are supported?

Germany, France, Italy, Spain, the Netherlands, Belgium, Poland, Austria, Portugal, and Ireland have real checksum algorithms implemented. Other EU countries are format-parsed but flagged as 'unsupported' rather than silently validated.

Why would a real, valid Dutch VAT number fail this check?

Since 1 January 2020, Dutch sole-trader VAT numbers use a randomized 9-digit block that intentionally doesn't satisfy the classic 'elfproef' checksum. A failure on an NL number doesn't necessarily mean it's wrong; check the detail message for that case.

Is the €10,000 OSS threshold still current?

It was verified against the current EU rule when this tool was built (the pan-EU cross-border B2C distance-selling threshold introduced 1 July 2021), but EU rules can change. The field is editable so you can update it, and you should confirm with an official EU source or your tax advisor.

Can I paste a whole CSV column of VAT numbers?

Yes. Paste one per line, or a comma-separated list; both are parsed the same way.

Related tools