EU VAT One Stop Shop number (OSS, IOSS)
ID eu_oss_number
DatatypeNot PIIidentifierDraft
This record is a draft: it has not been reviewed yet and may be incomplete or wrong. Do not rely on it for compliance decisions. Help improve it (see CONTRIBUTING.md).
VAT identification number issued under the EU VAT e-commerce One Stop Shop. Under the non-Union scheme, for businesses outside the EU that supply services to EU consumers, it is EU followed by nine digits. Under the import scheme (IOSS) it is IM followed by ten digits. In both forms the first three digits are the ISO 3166-1 numeric code of the member state of identification, such as 372 for Ireland, and the last digit appears to be a check digit. Intermediaries get IN numbers, which are not VAT identification numbers.
- Categories
- Finances and banking, Companies/business/organizations
- Countries
- European Union
- Languages
- Common to most languages
- python-stdnum
stdnum.eu.oss- Quality
- 88/100 · missing: second example, translation
- Metacrafter rules
- no detection rule yet
- Supported by tools
- python-stdnum
Regular expression
^(?:EU(?:040|056|100|191|196|203|208|233|246|250|276|300|348|372|380|428|440|442|470|528|616|620|642|703|705|724|752|900)\d{6}|IM(?:040|056|100|191|196|203|208|233|246|250|276|300|348|372|380|428|440|442|470|528|616|620|642|703|705|724|752|900)\d{7})$
Python re syntax.
Examples
| Value | Description |
|---|---|
| EU372022452 | Example from the python-stdnum documentation |
| EU999022452 invalid | 999 is not the code of a member state |
| EU37202245 invalid | Eight digits |
Sources
- doc: https://vat-one-stop-shop.ec.europa.eu/one-stop-shop/register-oss_en
- doc: https://arthurdejong.org/python-stdnum/doc/2.2/stdnum.eu.oss.html
Use this record
- Page URL:
https://registry.apicrafter.io/datatype/eu_oss_number - JSON: API v1 · legacy shape (used by metacrafter) · Markdown (for LLMs)
- Improve it: edit
data/datatypes/EU/finances/eu_oss_number.yamlon GitHub