Swiss and Norwegian VAT numbers: where to check them, since VIES cannot
Switzerland and Norway are not in the EU VAT area, so their VAT numbers are not in VIES and Veriport’s free check answers country_unknown for them. Both countries publish a free register you can query: the Swiss UID register of the Federal Statistical Office (the UID CHE-123.456.789 with the suffix MWST, TVA or IVA is the VAT number, and the register says whether it is active for VAT) and Norway’s Enhetsregisteret at Brønnøysund (the nine-digit organisation number followed by MVA, with a flag saying whether the entity is in the VAT register). This page gives the format, the check digit and the register’s answer for each.
- Switzerland:
CHE+ 9 digits, writtenCHE-123.456.789 MWST(orTVA,IVA; the suffixVATis not allowed by the ESTV). Check digit: weights 5,4,3,2,7,6,5,4 on the first eight digits, 11 − (sum mod 11); a result of 10 is never issued (eCH-0097). - Switzerland: the UID register’s public SOAP service
ValidateVatNumberanswers true only when the number is active in the VAT register; free, no login, 20 requests a minute;GetByUIDgives name, legal address and VAT status codes. A REST replacement (the Business Enterprise Register) is announced, with the SOAP services to be shut down and BER replacing the UID register from mid-2028. - Norway: 9 digits (
NO 923 609 016 MVA), the organisation number; check digit: weights 3,2,7,6,5,4,3,2 on the first eight digits, 11 − (sum mod 11), remainder 0 → 0, a result of 10 is invalid (Brønnøysund). - Norway:
GET https://data.brreg.no/enhetsregisteret/api/enheter/{orgnr}(no key, NLOD licence) returnsregistrertIMvaregisteret, the VAT-register flag, plus name, address, bankruptcy and liquidation flags; a deleted entity answers aSlettetEnhetwith its deletion date, an unknown one 404, one removed for legal reasons 410.
Switzerland: the UID as VAT number
Every Swiss enterprise has a UID (Unternehmens-Identifikationsnummer); the VAT number is that UID with the suffix MWST / TVA / IVA, and a number is a valid VAT number only while the enterprise is registered and active for VAT. The public service answers ValidateVatNumber (true or false) and GetByUID (the record: name, legal address, legal form code, VAT status 1 unknown / 2 registered / 3 not registered, entry status 1 active / 2 deleted). A bad check digit comes back as a SOAP fault Data_validation_failed, so check it locally first. Branch sites and VAT-group members may carry a different uidVat from their own UID.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:uid="http://www.uid.admin.ch/xmlns/uid-wse">
<soapenv:Body>
<uid:ValidateVatNumber>
<uid:vatNumber>CHE-116.281.710 MWST</uid:vatNumber>
</uid:ValidateVatNumber>
</soapenv:Body>
</soapenv:Envelope>
<!-- SOAPAction: http://www.uid.admin.ch/xmlns/uid-wse/IPublicServices/ValidateVatNumber → <ValidateVatNumberResult>true</ValidateVatNumberResult> -->Norway: the organisation number with MVA
The VAT number is the organisation number; « MVA » after it means the seller is registered for VAT (bookkeeping regulation § 5-1-2). The register does not check the modulo-11 digit for you (123456789 answers 404, not 400), so check it locally. The VAT register itself belongs to the tax administration (Skatteetaten); Brønnøysund mirrors the flag, with a lag that is not published.
curl "https://data.brreg.no/enhetsregisteret/api/enheter/923609016" \
-H "Accept: application/vnd.brreg.enhetsregisteret.enhet.v2+json"{
"organisasjonsnummer": "923609016",
"navn": "EXAMPLE AS",
"organisasjonsform": {
"kode": "AS",
"beskrivelse": "Aksjeselskap"
},
"registrertIMvaregisteret": true,
"registreringsdatoMerverdiavgiftsregisteret": "2019-05-02",
"konkurs": false,
"underAvvikling": false,
"underTvangsavviklingEllerTvangsopplosning": false,
"forretningsadresse": {
"adresse": [
"Eksempelveien 1"
],
"postnummer": "0150",
"poststed": "OSLO",
"landkode": "NO"
}
}What the answers mean
| Country | Answer | Meaning |
|---|---|---|
| CH | ValidateVatNumber true | Registered and active for VAT today; GetByUID for the name and address (may be empty for a non-public entry). |
| CH | ValidateVatNumber false | Not registered for VAT, or deleted; a UID can exist without VAT registration. |
| CH | Fault Data_validation_failed / Request_limit_exceeded | Bad check digit / more than 20 requests a minute (temporary block). |
| NO | 200 Enhet, registrertIMvaregisteret: true | In the VAT register; konkurs and underAvvikling are separate flags that do not change VAT validity. |
| NO | 200 Enhet, flag false; 200 SlettetEnhet; 404 | Exists but not VAT-registered; deleted (with slettedato); unknown. |
| NO | 410 Gone | Removed for legal reasons: delete any cached copy and never serve it. |
What Veriport does today, and next
Today the free check and GET /vat/validate answer country_unknown for CH and NO with a pointer to this page; nothing is counted. On the roadmap: both registers behind the same answer shape as VIES (valid, name, address, provenance, dated cache), with the local check digit first and the Swiss 20-a-minute limit paced across every caller. Neither register issues a consultation number: the evidence is the stored answer with its date.
Questions
- Is a Swiss UID always a VAT number?
- No. Every enterprise has a UID; only those registered for VAT may use it with the MWST / TVA / IVA suffix, and only while the registration is active.
ValidateVatNumberis the question to ask;ValidateUIDanswers true for a deleted enterprise too. - Does « MVA » after a Norwegian number prove VAT registration?
- It is what a registered seller must print; the proof is the register’s flag
registrertIMvaregistereton the day you check. A seller may print MVA wrongly, and a registration may end. - Can I check these numbers in bulk for free?
- Norway: yes, no key and an open licence (NLOD), paced reasonably. Switzerland: 20 requests a minute on the public service; above that the service blocks the caller temporarily.
For the 27 member states and Northern Ireland, on VIES, with a dated answer.
Free VAT number check (EU and XI)Sources
- Federal Chancellery — UID web service: public services free without login, limited to 20 requests a minute; SOAP 5.0 (ValidateVatNumber, GetByUID) — Swiss Federal Chancellery / Federal Statistical Office (BFS), consulted 2026-10-28. The BFS Business Enterprise Register project announces REST/JSON APIs and the shutdown of the SOAP services, with BER replacing the UID register from mid-2028.
- ESTV — the UID as VAT number: CHE-123.456.789 MWST / TVA / IVA (the suffix VAT is not allowed) — Swiss Federal Tax Administration (ESTV), consulted 2026-10-28
- eCH-0097 v5.1 — Datenstandard Unternehmensidentifikation: the UID check digit (weights 5,4,3,2,7,6,5,4, modulo 11) — eCH (Swiss e-government standards), consulted 2026-10-28
- Brønnøysund Register Centre — Enhetsregisteret open data API v2 (enheter/{orgnr}: registrertIMvaregisteret, konkurs, underAvvikling; NLOD licence, no key) — Brønnøysundregistrene, consulted 2026-10-28
- Brønnøysund Register Centre — the organisation number: nine digits, modulo-11 check digit (weights 3,2,7,6,5,4,3,2); the VAT number is the organisation number followed by MVA — Brønnøysundregistrene, consulted 2026-10-28
- VIES — VAT Information Exchange System: FAQ and VAT number structures (Q11) — European Commission, DG TAXUD, consulted 2026-10-24