# Swiss and Norwegian VAT numbers: where to check them, since VIES cannot

Source: https://veriport.io/guides/swiss-norwegian-vat-number-check (published 2026-10-28)

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, written `CHE-123.456.789 MWST` (or `TVA`, `IVA`; the suffix `VAT` is 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 `ValidateVatNumber` answers true only when the number is active in the VAT register; free, no login, 20 requests a minute; `GetByUID` gives 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) returns `registrertIMvaregisteret`, the VAT-register flag, plus name, address, bankruptcy and liquidation flags; a deleted entity answers a `SlettetEnhet` with 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.

```xml
<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.

```bash
curl "https://data.brreg.no/enhetsregisteret/api/enheter/923609016" \
  -H "Accept: application/vnd.brreg.enhetsregisteret.enhet.v2+json"
```

```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. `ValidateVatNumber` is the question to ask; `ValidateUID` answers 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 `registrertIMvaregisteret` on 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.

## Read next

- [Check a UK VAT number: HMRC, not VIES](https://veriport.io/guides/check-uk-vat-number-hmrc-not-vies)
- [VAT number check (VIES)](https://veriport.io/tools/vat-number-check)
- [VAT number formats by country](https://veriport.io/vat-number-format)
- [Roadmap](https://veriport.io/roadmap)

## Sources

- Federal Chancellery — UID web service: public services free without login, limited to 20 requests a minute; SOAP 5.0 (ValidateVatNumber, GetByUID) — https://www.bk.admin.ch/de/uid-webservice (2026-10-28)
- ESTV — the UID as VAT number: CHE-123.456.789 MWST / TVA / IVA (the suffix VAT is not allowed) — https://www.estv.admin.ch/de/unternehmens-identifikationsnummer-uid (2026-10-28)
- eCH-0097 v5.1 — Datenstandard Unternehmensidentifikation: the UID check digit (weights 5,4,3,2,7,6,5,4, modulo 11) — https://www.ech.ch/sites/default/files/dosvers/hauptdokument/STAN_d_REP_2020-11-26_eCH-0097_V5.1_Datenstandard%20Unternehmensidentifikation.pdf (2026-10-28)
- Brønnøysund Register Centre — Enhetsregisteret open data API v2 (enheter/{orgnr}: registrertIMvaregisteret, konkurs, underAvvikling; NLOD licence, no key) — https://data.brreg.no/enhetsregisteret/api/dokumentasjon/no/index.html (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 — https://www.brreg.no/?p=36889 (2026-10-28)
- VIES — VAT Information Exchange System: FAQ and VAT number structures (Q11) — https://ec.europa.eu/taxation_customs/vies/#/faq (2026-10-24)
