Swiss VAT Number Validation API: CHE Format, UID Register, and Liechtenstein
Switzerland and Liechtenstein use their own VAT system, separate from the EU's VIES. Swiss VAT numbers are managed by the Federal Statistical Office (BFS) through the UID Register. This guide covers how Swiss VAT numbers work, how to validate them, and how Vatly handles it for you.
What is a Swiss VAT number?
Swiss VAT numbers follow the UID (Unternehmens-Identifikationsnummer) format. The full format is CHE-NNN.NNN.NNN MWST, where:
CHEis the prefix (CH for Switzerland, E for "enterprise")- The 9 digits form the unique identifier, where the 9th digit is a MOD11 checksum
- The suffix indicates the language region:
MWST(German),TVA(French), orIVA(Italian)
All three suffixes are equivalent. A business with CHE-123.456.788 MWST is the same entity as CHE-123.456.788 TVA.
UID vs VAT registration
An important distinction: having a UID does not mean a business is VAT-registered. The UID Register tracks all Swiss enterprises, but only some are registered for VAT (MWST/TVA/IVA). A business can have a valid UID but not be VAT-registered if their revenue is below the CHF 100,000 threshold.
When you validate a Swiss VAT number, you need to check both: (1) does the UID exist, and (2) is the entity actively registered for VAT? Vatly checks both and only returns valid: true when the entity has active VAT registration.
The BFS UID Register API
The Federal Statistical Office provides a public SOAP API for UID lookups. It requires no authentication, but has a strict rate limit of 20 requests per minute. The API uses eCH Swiss e-government standards for its XML schema.
Key details:
- Endpoint:
https://www.uid-wse.admin.ch/V3.0/PublicServices.svc - Protocol: SOAP 1.1
- Authentication: none (public)
- Rate limit: 20 requests per minute per caller
- Returns: company name, address, VAT registration status, legal form
MOD11 checksum validation
The 9th digit of a Swiss UID is a MOD11 checksum. Before calling the API, you can validate the format locally. The algorithm uses weights [5, 4, 3, 2, 7, 6, 5, 4] on digits 1-8, takes the sum modulo 11, and the check digit is 11 - remainder. If the remainder is 1, the number is invalid (no valid check digit exists).
Liechtenstein: same system
Liechtenstein and Switzerland form a common VAT territory. Liechtenstein businesses are registered in the same Swiss UID Register with CHE-format numbers. When you validate a Liechtenstein VAT number through Vatly, it routes to the same BFS API but returns country_code: "LI" in the response.
Validating with Vatly
Vatly handles all of this automatically. Pass any Swiss or Liechtenstein VAT number to the same endpoint you use for EU, UK, Norwegian, and Australian numbers:
curl "https://api.vatly.dev/v1/validate?vat_number=CHE-123.456.788%20MWST" \
-H "Authorization: Bearer vtly_live_YOUR_KEY"Response:
{
"data": {
"valid": true,
"vat_number": "CH123456788",
"country_code": "CH",
"company": {
"name": "Example AG",
"address": "Bahnhofstrasse 1, 8001 Zurich, CH"
},
"requested_at": "2026-03-26T12:00:00.000Z"
},
"meta": {
"request_id": "req_abc123"
}
}Vatly normalizes all input formats automatically:
CHE-123.456.788 MWST,CHE123456788TVA,CHE123456788,CH123456788all work- Dashes, dots, spaces, and suffixes are stripped
- MOD11 checksum is validated before making the upstream call
- Results are cached for 25 days to stay within the BFS rate limit
Swiss VAT rates
Switzerland has three VAT rates: 8.1% (standard), 3.8% (accommodation), and 2.6% (food, books, medicines). Liechtenstein uses the same rates. Both are available through the /v1/rates endpoint.
Test mode
Use a vtly_test_ API key with these magic numbers:
CH111111118- valid, VAT-registeredCH222222225- valid UID, not VAT-registeredLI111111118- valid LiechtensteinCH999999996- simulates upstream error (503)
Get your API key and start validating Swiss VAT numbers in under 2 minutes.
Frequently asked questions
What is the difference between a Swiss UID and a VAT number?
A UID (Unternehmens-Identifikationsnummer) is assigned to all Swiss enterprises. A VAT number is a UID with an active MWST/TVA/IVA registration. A business can have a valid UID without being VAT-registered if their revenue is below CHF 100,000.
Can I validate Liechtenstein VAT numbers with the same API?
Yes. Liechtenstein and Switzerland share a common VAT territory. Liechtenstein businesses are registered in the Swiss UID Register with CHE-format numbers. Vatly validates both through the same endpoint.
What are the Swiss VAT rate suffixes MWST, TVA, and IVA?
They are the same thing in different languages. MWST is German (Mehrwertsteuer), TVA is French (Taxe sur la valeur ajoutee), and IVA is Italian (Imposta sul valore aggiunto). All three are valid suffixes for the same VAT number.
Why does the Swiss UID Register have a rate limit?
The BFS UID Register allows 20 requests per minute per caller. This is a hard limit. Vatly caches results for 25 days, so most lookups never hit the upstream API. For high-volume Swiss validation, caching is critical.