Skip to main content

invalid_vat_format

HTTP Status: 422 Unprocessable Entity

Example response

The error echoes the normalized form of the vat_number you submitted, so you can see exactly what was validated after uppercasing and stripping spaces, dots, and dashes.

What happened?

The VAT number doesn’t match the expected format for its country, or the country code is not supported. This happens when:
  • The VAT number is missing a country prefix
  • The country code is not in the supported countries list
  • The number contains only the country code with no digits
  • The number does not match the expected format for its country (wrong length, missing required characters)
  • The number contains invalid characters after normalization
  • The Swiss UID (CHE format) or Norwegian org number fails the MOD11 checksum
  • The Australian ABN fails the weighted checksum validation

Expected formats

How to fix

  1. Include the country code: Always prefix with the country code: NL123456789B01, GB123456789, DE123456789, CHE123456789MWST, NO123456785MVA, AU51824753556
  2. Check supported countries: See the full list at Supported Countries
  3. Let the API normalize: Don’t strip spaces or dots manually. Send "NL 123.456.789 B01" and the API handles it

Common mistakes

  • Forgetting the country code: 123456789 instead of NL123456789B01
  • Using lowercase: This actually works fine (the API normalizes to uppercase), but check there’s a country prefix
  • Including “VAT” prefix: VAT123456789 is not valid; use the country code instead
  • Using GR for Greece: Greece uses EL in the VIES system, not GR
  • Missing the MWST/TVA/IVA suffix for Swiss numbers: CHE123456789 alone is not valid; include the suffix (e.g. CHE123456789MWST)
  • Missing the MVA suffix for Norwegian numbers: NO123456785 alone is not valid; include MVA (e.g. NO123456785MVA)
  • Wrong number of digits: e.g. sending 10 digits for GB (requires exactly 9 or 12)
  • Missing the B separator for Dutch VAT: NL numbers require B between the digit groups, e.g. NL123456789B01
  • Using an unsupported country: Only EU member states, GB, XI, CH, LI, NO, AU, and SG are supported

Catching this error with the SDKs