Validate tax and company IDs in a table: EIN, VAT, NIP, CNPJ, SIRET, PAN
A supplier list or customer master with tax numbers is the file where a typo costs money: an invoice with a wrong VAT number is rejected, a payment goes to a mismatched record, a tax report does not reconcile. Many countries build a check digit into the company tax number. Computing it for every row takes a moment and finds the typos before the accountants do.
Free for personal use. “Data” → “Validate values”. Windows version — 3.5 MB, no installation: details. Organizations: license.
How to run the check
- Open the table and choose “Data” → “Validate values”.
- Columns named
vat,ein,nip,cnpj,siren,siret,partita_ivaget their rule automatically; for others choose the format yourself. - Press “Validate”, then “Show rows with errors”. Each bad row says whether the length, the characters or the check digit failed.
One file can mix countries: give each column its own rule. For a single column that holds numbers from several countries, build a “One of” format in “My formats” from the formats you need.
What is checked for each number
| Number | Shape | What the check catches |
|---|---|---|
| US EIN | 9 digits | no checksum exists; prefixes that the IRS does not issue are rejected |
| EU / UK VAT number | country prefix and 2–12 characters | the prefix must be a real one (EL for Greece, XI for Northern Ireland); the body is checked for shape only, because each country has its own algorithm |
| Poland NIP | 10 digits, optional PL | the last digit: weighted sum of the first nine modulo 11 |
| Italy Partita IVA | 11 digits, optional IT | the Luhn check digit |
| France SIREN / SIRET | 9 digits for the company, 14 for an establishment | the Luhn check digit |
| Brazil CNPJ | 14 characters | both check digits; numbers made of one repeated character are rejected; letters are accepted in the first 12 characters, as in the alphanumeric CNPJ Brazil introduced in 2026 |
| India PAN | 5 letters, 4 digits, a letter | the shape and that the fourth letter is a known holder type (P for a person, C for a company, and so on); the check letter’s algorithm is not public, so it cannot be verified |
Spaces, dashes, dots and slashes are ignored: 11.222.333/0001-81 and 11222333000181 are the same CNPJ.
Why a VAT number is checked for its shape only
The EU has no common VAT checksum: Germany, France, Italy, Poland and the rest each define their own, and some change them. A wrong or outdated algorithm would flag genuine numbers, which is worse than letting a mistyped one through. So the generic VAT format checks the prefix and the shape, while numbers whose algorithm is stable and public get a format of their own — Poland’s NIP, Italy’s Partita IVA and France’s SIREN/SIRET are the same numbers that follow the country prefix in a VAT number.
Whether a company is VAT-registered today is a question for the tax authority’s register, such as the EU’s VIES service. A spreadsheet check only tells you the number is not obviously mistyped.
Large supplier files
The check runs over the whole table, not just the visible rows, so a file with hundreds of thousands of rows is fine. The “Check” column is live: correct a number and its error disappears. The column can be exported with the table or used as a filter, which makes it easy to send the list of bad rows back to whoever owns the data.
FAQ
Does the file leave my computer?
No. Validation runs in your browser tab and nothing is uploaded.
Does a passing number prove the company exists?
No. It proves the number has the right shape and a matching check digit, which rules out typos. Whether the company is registered is a question for the official register.
My CNPJ numbers now contain letters. Is that handled?
Yes. Brazil’s alphanumeric CNPJ, in use from 2026, is accepted: letters count in the first 12 characters, and the check digits are computed from the character values.
My country’s VAT number is only checked by its prefix. Can I add a stricter rule?
Yes: in “My formats” describe it as a pattern of parts (for example a prefix, then a number of digits) or as a regular expression.
Why is the Indian PAN not checked by a checksum?
The check letter in a PAN comes from an algorithm that has not been published, so the tool verifies the shape and the holder-type letter and says so in the format’s hint.
Free for personal use. Your file is not uploaded to a server. Windows version — 3.5 MB, no installation: details. Organizations: license.