EU VAT Number
European Union Value Added Tax identification number. Format: 2-letter country code prefix followed by 2-12 alphanumeric characters. Each EU member state has its own format rules.
EU VAT Number
identity.government.eu_vatEuropean Union Value Added Tax identification number. Format: 2-letter country code prefix followed by 2-12 alphanumeric characters. Each EU member state has its own format rules.
Domain
identity
Category
government
Casts to
VARCHAR
Scope
Locale-specific
Locales
DE, FR, ES, IT, NL, PL, AT, BE, IE, SE, DK, FI, CZ, HU, RO, GR, PT
Try it
CLI
$ finetype infer -i "DE123456789"
→ identity.government.eu_vatDuckDB
Detect
SELECT finetype('DE123456789');
-- → 'identity.government.eu_vat'Cast expression
CAST({col} AS VARCHAR)Safe cast pipeline
-- Normalise and cast in one step
SELECT TRY_CAST(finetype_cast(my_column) AS VARCHAR) AS clean_value
FROM my_table
WHERE finetype(my_column) = 'identity.government.eu_vat';Struct Expansion
Expression
country_code: REGEXP_EXTRACT({col}, '^([A-Z]{2})')
local_number: REGEXP_EXTRACT({col}, '^[A-Z]{2}(.+)$')JSON Schema
finetype schema identity.government.eu_vat
{
"$id": "https://meridian.online/schemas/identity.government.eu_vat",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "European Union Value Added Tax identification number. Format: 2-letter country code prefix followed by 2-12 alphanumeric characters. Each EU member state has its own format rules.",
"examples": [
"DE123456789",
"FR12345678901",
"ATU12345678",
"NL123456789B01",
"GB123456789"
],
"pattern": "^[A-Z]{2}[0-9A-Za-z+*.]{2,12}$",
"title": "EU VAT Number",
"type": "string",
"x-finetype-broad-type": "VARCHAR",
"x-finetype-transform": "CAST({col} AS VARCHAR)"
}Examples
DE123456789FR12345678901ATU12345678NL123456789B01GB123456789Aliases
vat_numbervat_id