vatverify home
Switzerland

Check Switzerland VAT numbers

Validate Swiss VAT numbers (CHE-UID) against the Federal Statistical Office (BFS) UID register. Not every Swiss UID is VAT-registered, so the response includes a separate vatRegistered flag alongside the company name and registered address. Both the dotted CHE-xxx.xxx.xxx format and dotless variants are accepted.

Swiss-LI VAT union (non-EU)UID / MWST MehrwertsteuerCHF

Try it

curl -X POST "https://api.vatverify.dev/v1/validate" \  -H "Authorization: Bearer $VATVERIFY_KEY" \  -H "Content-Type: application/json" \  -d '{"vat_number":"CHE-116.281.710"}'
Loading reliability...

Facts

Format

Prefix
CHE-
Digits
9
Regex
^CHE-?\d{3}\.?\d{3}\.?\d{3}(\s?MWST|\s?IVA|\s?TVA)?$
ValidCHE-116.281.710
Bad checksumCHE-116.281.719
Bad formatCHE-116281710

Registry

BFS UID powers /v1/validate for Switzerland.

VAT rates (CHF)

8.1%
Standard
3.8%
Reduced

hotel and B&B accommodation (including breakfast)

2.6%
Reduced

food staples, non-alcoholic beverages, books, newspapers, medicines, plants, cultural events

What we return for Switzerland

{
  "data": {
    "valid": true,                       // boolean validity at query time
    "vat_number": "CHE-116.281.710",
    "country": { "code": "CH", "name": "Switzerland" },
    "company": {
      "name": "Nestlé S.A.",             // registered business name
      "address": "..."
    },
    "vat_registered": true,              // separate flag, not every UID pays VAT
    "verified_at": "2026-04-25T10:00:00Z"
  },
  "meta": {
    "request_id": "019dc...",
    "source": "bfs",
    "source_status": "live"
  }
}

Test against production VATs

Real numbers from publicly-documented corporate filings. Click to see the live result.

Watch out for

  • Swiss UID format is CHE-xxx.xxx.xxx, with an optional trailing MWST/IVA/TVA. The dots are meaningful; BFS rejects CHE116281710 without them.
  • CHE- is the federal company ID. To confirm it's also VAT-registered, BFS returns a separate vatRegistered flag.
  • Liechtenstein UIDs share the CHE- prefix because LI and CH are in the same VAT union; LI numbers forward through BFS.

CHE-UID is one ID for many things

Switzerland doesn't have a separate "VAT number" field. Every business gets a CHE-UID at the Federal Statistical Office (Bundesamt für Statistik, BFS). Whether a company is VAT-registered is a flag on its UID record, returned alongside a vatRegistered: true/false in our /v1/validate response.

This is a gotcha for developers used to VIES: a valid CHE-UID on its own does not mean the entity charges VAT. You probably care about both: the entity exists (UID resolves) and the entity is VAT-liable (flag is true). Our default response tells you both; configure invoice logic accordingly.

The dots are real

CHE UIDs are written as CHE-xxx.xxx.xxx with dots. BFS rejects the dotless form. Our validator accepts either input (we normalize) but the canonical form stored and returned is the dotted one.

An optional trailing suffix (MWST / IVA / TVA) indicates the linguistic region (German/Italian/French). It's purely cosmetic for validation, and we strip it before comparing against BFS.

Standard rate change in 2024

Switzerland raised its standard VAT rate from 7.7% to 8.1% effective January 1, 2024, alongside increases on the reduced and special-lodging rates. Invoices straddling the boundary need date-aware rate logic; the applicable rate is set by the date the supply is rendered, not the invoice date. If you persist historical rates in your invoicing code, the lookup must take the supply date as input.

The reduced rate moved to 2.6% (was 2.5%) and the special accommodation rate to 3.8% (was 3.7%). The funding rationale was the federal contribution to AHV pension financing.

Why Liechtenstein uses CHE-

Switzerland and Liechtenstein formed a customs and VAT union in 1923. Liechtenstein businesses get CHE-prefixed UIDs from the same BFS register. LI VAT IDs route to BFS identically. See the Liechtenstein page for the LI-specific treaty context.

EU sellers shipping to Switzerland

Switzerland is outside the EU and the EEA. Every supply from an EU seller is an export, not an intra-Community supply. EU reverse-charge rules don't apply. Practical consequences:

  • Goods: cross a customs border. Swiss VAT (MWST/TVA/IVA) is collected at import by the Swiss customs administration, not by the EU seller.
  • B2B services: place-of-supply rules generally put VAT in Switzerland; the Swiss recipient self-accounts under Swiss reverse-charge rules. The EU seller invoices net of VAT.
  • B2C electronic services: the EU seller may have a Swiss VAT registration obligation if total Swiss revenue crosses the Federal Tax Administration's published threshold for foreign suppliers.

The CHE-UID validation is what underpins the place-of-supply argument: if you can't substantiate that the Swiss buyer is a registered business, the supply may default to the EU seller's domestic rate.

BFS public lookup vs API access

BFS publishes a public web lookup at uid.admin.ch for one-off checks. For programmatic access, the SOAP-based UID Register API is what vatverify integrates with. The public web form and the API draw from the same underlying register; results are consistent but the API exposes additional fields (cantonal registration, founding date, sector classification) that the web form hides.

vatverify caches valid CHE-UID responses for 30 days. The BFS register is updated from the cantonal commercial registers (Handelsregister / Registre du commerce / Registro di commercio) on a regular cadence; a 30-day TTL stays comfortably within typical change windows.

Loading FAQ…

Automate Switzerland VAT checks in your stack

Replace manual lookups with one API call against BFS UID. Drops into invoicing, checkout, and signup flows in any language. 500 free validations per month, no credit card.