Skip to content

Instantly share code, notes, and snippets.

@sertraline
Created December 5, 2024 13:42
Show Gist options
  • Save sertraline/677aa080ee88ea0dcc5c569725dbb0c3 to your computer and use it in GitHub Desktop.
Save sertraline/677aa080ee88ea0dcc5c569725dbb0c3 to your computer and use it in GitHub Desktop.
Typescript European VAT IDs + imaskjs masks and country codes
export interface TaxRecord {
alpha2_code: string
mask: string
desc: string
example: string
}
export const TaxIdentifiers: TaxRecord[] = [
{
alpha2_code: 'AT',
mask: '{ATU} 00 00 00 00',
desc: 'U+8 digits',
example: 'ATU99999999',
},
{
alpha2_code: 'BE',
mask: '{BE} 00 00 0000 00',
desc: '10 digits',
example: 'BE0999999999, BE1999999999',
},
{
alpha2_code: 'BG',
mask: '{BG} 00 00 0000 00',
desc: '9-10 digits',
example: 'BG999999999, BG9999999999',
},
{
alpha2_code: 'HR',
mask: '{HR} 00 00 0000 000',
desc: '11 digits',
example: 'HR99999999999',
},
{
alpha2_code: 'CY',
mask: '{CY} 000 000 00a',
desc: '9 characters',
example: 'CY99999999L',
},
{
alpha2_code: 'CZ',
mask: '{CZ} 00 00 0000 00',
desc: '8-10 digits',
example: 'CZ99999999, CZ9999999999',
},
{
alpha2_code: 'DK',
mask: '{DK} 00 00 00 00',
desc: '8 digits',
example: 'DK99999999',
},
{
alpha2_code: 'EE',
mask: '{EE} 000 000 000',
desc: '9 digits',
example: 'EE999999999',
},
{
alpha2_code: 'FI',
mask: '{FI} 00 00 00 00',
desc: '8 digits',
example: 'FI99999999',
},
{
alpha2_code: 'FR',
mask: '{FR}aa 000 000 000',
desc: '2 characters + 9 digits',
example: 'FRXX 999999999',
},
{
alpha2_code: 'DE',
mask: '{DE} 000 000 000',
desc: '9 digits',
example: 'DE999999999',
},
{
alpha2_code: 'EL',
mask: '{EL} 000 000 000',
desc: '9 digits',
example: 'EL999999999',
},
{
alpha2_code: 'HU',
mask: '{HU} 00 00 00 00',
desc: '8 digits',
example: 'HU99999999',
},
{
alpha2_code: 'IE',
mask: '{IE} aaa aaa aaa',
desc: '8-9 characters',
example: 'IE9S99999L, IE9999999WI',
},
{
alpha2_code: 'IT',
mask: '{IT} 000 000 000 00',
desc: '11 digits',
example: 'IT99999999999',
},
{
alpha2_code: 'LV',
mask: '{LV} 000 000 000 00',
desc: '11 digits',
example: 'LV99999999999',
},
{
alpha2_code: 'LT',
mask: '{LT} 000 000 000 000',
desc: '9 or 12 digits',
example: 'LT999999999999',
},
{
alpha2_code: 'LT',
mask: '{LT} 000 000 000 000',
desc: '9 or 12 digits',
example: 'LU99999999',
},
{
alpha2_code: 'LU',
mask: '{LU} 00 00 00 00',
desc: '8 digits',
example: 'LU99999999',
},
{
alpha2_code: 'MT',
mask: '{LU} 00 00 00 00',
desc: '8 digits',
example: 'LU99999999',
},
{
alpha2_code: 'PL',
mask: '{PL} 000 000 000 0',
desc: '10 digits',
example: 'PL9999999999',
},
{
alpha2_code: 'PT',
mask: '{PT} 000 000 000',
desc: '9 digits',
example: 'PT999999999',
},
{
alpha2_code: 'RO',
mask: '{RO} 00 00 00 00 00',
desc: 'From 2 to 10 digits',
example: 'RO99********',
},
{
alpha2_code: 'SK',
mask: '{SK} 00 00 00 00 00',
desc: '10 digits',
example: 'SK9999999999',
},
{
alpha2_code: 'SI',
mask: '{SI} 00 00 00 00',
desc: '8 digits',
example: 'SI99999999',
},
{
alpha2_code: 'ES',
mask: '{ES} a 000 000 0 a',
desc: '9 characters',
example: 'ESX9999999X',
},
{
alpha2_code: 'SE',
mask: '{SE} 000 000 000 000',
desc: '12 digits',
example: 'SE999999999999',
},
{
alpha2_code: 'NL',
mask: '{NL} aaa aaa aaa aaa',
desc: '12 characters',
example: 'NLSSSSSSSSSS SS',
},
{
alpha2_code: 'UA',
mask: '00 00 00 00 00',
desc: '10 digits',
example: '9999999999',
},
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment