Skip to main content
Complyance is Officially Listed as a UAE Approved Accredited Service Provider
Free tool · No signup

VAT & Tax Number Validator: check the format in one paste

Paste any EU VAT number, KSA TIN, UAE TRN, Malaysia TIN, or India GSTIN. The tool auto-detects the country, checks the format and checksum, and tells you which e-invoicing mandate applies.

  • Auto-detects the country from the number you paste
  • Real GSTIN and Luhn checksum maths, plus EU length and structure rules
  • Runs entirely in your browser — nothing is sent anywhere
Type to detect
Try an example
What this checks: format and checksum structure only. This tool does not contact the VIES, ZATCA, FTA, LHDN, or GST registries, so it cannot confirm a number is live or return a registered company name. Live registry verification happens when you connect Complyance.
How it works

Four steps, no login, instant result

1

Paste the number

Drop in a VAT number, TIN, TRN, or GSTIN. Spaces, dots, and dashes are stripped automatically.

2

Country auto-detected

The tool reads the prefix and shape. A two-letter prefix routes to EU rules; a 15-digit number to KSA, UAE, or India.

3

Format & checksum check

It runs the country length and structure rules, plus real checksum maths for GSTIN and KSA, all in your browser.

4

Read the result

Get a clear valid or invalid badge, a list of exactly what was checked, and the e-invoicing mandate that applies.

Compliance guide

Why tax-number validation matters for e-invoicing

Format validation is the first line of defence, not the last

Before you issue an e-invoice, the tax number on it has to be correct. A wrong digit, a missing country prefix, or a number copied from the wrong column can sink an invoice. Under modern e-invoicing mandates the invoice is checked by a government platform in near real time, and a bad counterpart tax ID is one of the most common reasons a submission is rejected. This tool catches the errors you can catch without a network call: the wrong length, an impossible prefix, illegal characters, or a failed checksum.

EU VAT and VIES

An EU VAT number is a two-letter country prefix followed by a country-specific block of digits or letters. Before a seller applies the zero rate to an intra-community supply, the buyer's VAT number should be validated through VIES, the EU's VAT Information Exchange System. Using an invalid VAT number can cost the seller the zero-rate exemption and leave them owing VAT plus penalties. This tool confirms the prefix is a real member-state code and that the remaining characters match that country's length and pattern. The live VIES lookup, which returns the registered trader's name, runs server-side inside Complyance.

KSA TIN, UAE TRN, Malaysia TIN, India GSTIN

Outside the EU, the same logic applies under different authorities. A Saudi TIN is exactly 15 digits starting and ending with 3 and carries a check digit. A UAE TRN is 15 digits, usually shown as 100-xxxx-xxxx-xxxx and ending 003. A Malaysia TIN for a company starts with the letter C followed by 10 to 11 digits. An India GSTIN is 15 characters: a two-digit state code, a ten-character PAN, an entity digit, the letter Z, and a final checksum character calculated over the first 14. India's checksum is verifiable offline, so this tool computes it in full.

What rejection actually costs

Under ZATCA Phase 2 in Saudi Arabia, an invoice with an invalid buyer TIN is rejected at the Fatoora portal and never receives a clearance stamp, which means it is not a legally valid tax invoice. Malaysia's MyInvois validates the buyer TIN before issuing the IRBM stamp. Germany and France move B2B invoicing to structured formats where counterpart data must be clean. In every case, validating the number before you invoice is far cheaper than chasing a rejection afterwards.

Where a static tool stops and Complyance begins

This page is intentionally honest about its limits. It is a structural pre-check. When you connect Complyance, every buyer and supplier tax ID is validated live against the relevant registry at the moment the invoice is created, the registered name is returned, and the result is stored as an audit trail. Format checking weeds out the obvious mistakes early; live verification closes the gap.

Reference

Tax-number formats by country

The structure rules this tool checks. EU rows follow the VIES per-country length conventions.

CountryPrefix / typeFormatExample
🇩🇪 GermanyEU VAT (VIES)DE + 9 digitsDE123456789
🇫🇷 FranceEU VAT (VIES)FR + 2 chars + 9 digitsFR12345678901
🇮🇹 ItalyEU VAT (VIES)IT + 11 digitsIT12345678901
🇳🇱 NetherlandsEU VAT (VIES)NL + 9 digits + B + 2 digitsNL123456789B01
🇪🇸 SpainEU VAT (VIES)ES + char + 7 digits + charESX1234567X
🇬🇧 United KingdomHMRC (post-Brexit)GB + 9 or 12 digitsGB123456789
🇸🇦 Saudi ArabiaZATCA TIN15 digits, starts & ends with 3310122393500003
🇦🇪 UAEFTA TRN15 digits, 100-…-003100474579100003
🇲🇾 MalaysiaLHDN TIN (company)C + 10 to 11 digitsC1234567890
🇮🇳 IndiaGST GSTIN2 state + 10 PAN + entity + Z + check27AAPFU0939F1ZV

Showing the most-searched markets. The validator covers all 27 EU member states plus the UK by VIES-style length rules.

Examples

Numbers you can try right now

Structurally valid sample numbers that demonstrate the format and checksum checks. Click “Try this” to load one into the tool.

🇩🇪

Germany VAT (USt-IdNr)

DE811569869

DE prefix plus 9 digits. Passes the German length and structure rule.

🇸🇦

Saudi Arabia TIN

310122393500043

15 digits, starts and ends with 3, and passes the check-digit test.

🇦🇪

UAE TRN

100474579100003

15 digits in the 100-xxxx-xxxx-xxxx shape, ending 003.

🇮🇳

India GSTIN

27AAPFU0939F1ZV

State code 27, valid PAN block, and a correct final checksum character.

FAQ

VAT number validation questions

How do I check if a VAT number is valid?

Paste the number into the tool. It strips spaces, dots, and dashes, detects the country from the prefix or shape, and checks the format and checksum instantly. A full legal check also needs a live registry lookup (VIES for the EU), which Complyance does server-side at invoice time.

Does this tool contact VIES, ZATCA, FTA, or LHDN?

No. It validates format and checksum only, entirely in your browser. It cannot reach those government APIs because of CORS, authentication, and IP rate limits. Live registry verification runs inside the Complyance platform.

What is VIES and how does it work?

VIES is the EU VAT Information Exchange System. It confirms that an EU VAT number is valid and, where allowed, returns the registered business name. This tool checks the format VIES expects; the live lookup is a server call.

What format should a UAE TRN be in?

A UAE TRN is 15 digits, usually written as 100-xxxx-xxxx-xxxx, starting with 100 and ending with 003. Letters, the wrong length, or a different prefix make it invalid.

How do I validate a KSA TIN with ZATCA?

A Saudi TIN is exactly 15 digits starting and ending with 3, with a check digit. This tool confirms that structure and runs the checksum. ZATCA Phase 2 requires a valid TIN on every cleared invoice.

How is an India GSTIN checksum calculated?

A GSTIN is 15 characters: a two-digit state code, a ten-character PAN, an entity code, a fixed Z, and a check character computed from the first 14 using a base-36 weighted algorithm. This tool verifies the checksum in full.

What happens if I invoice with an invalid VAT number?

For EU intra-community supplies you can lose the zero rate and owe VAT plus penalties. Under clearance models like ZATCA Phase 2 and Malaysia MyInvois, an invalid counterpart tax ID causes the invoice to be rejected by the government platform.

How do I verify a UK VAT number after Brexit?

UK VAT numbers are checked through HMRC's service, not VIES. A GB VAT number is 9 or 12 digits after the GB prefix. This tool checks the GB structure; the live HMRC lookup runs server-side in Complyance.

Do I need to validate a tax number for every invoice?

Validate when you onboard a counterpart and again at invoice time, because numbers can be deregistered or mistyped. Complyance validates every buyer and supplier tax ID automatically during invoice generation.

Is my pasted number stored or sent anywhere?

No. Validation runs in JavaScript in your browser. Nothing you paste is transmitted to Complyance or any third party from this page.

Related free tools

Keep your invoices clean

Validate every tax ID, automatically

Complyance verifies every buyer and supplier tax number live against the official registry at invoice time, returns the registered name, and keeps an audit trail. One integration covers ZATCA, the UAE FTA, Malaysia MyInvois, India GST, Germany, and Peppol.

Complyance Logo

One API for Global E-invoicing