Switzerland’s VAT numbers came into effect on January 1st, 2014. They are based on the already established Business Identification Number (BID) or Unternehmens-Identifikationsnummer (UID) in German.

Verifying that your customer has provided a correct UID will become a common use-case with the growth of the digital goods and services industry.

You can do this manually or automate this process with our API. We made it extra simple to validate a Swiss UID without additional configuration.

Validate Swiss VAT Number Manually

Swiss VAT numbers can be validated manually. You can search the official UID Register by the name of the business or the UID number.

In below example, we’re trying to validate Nestlé’s UID CHE-116.281.710 MWST:

Swiss VAT number validation with the UID Register
Swiss VAT number validation with the UID Register

The search result that appears gives you an overview of the most important data about the business. Click the ‘eye’ icon to reveal the full data set.

Scroll to the bottom of the page and find the VAT data section to determine whether the business is also registered for VAT. The VAT register status should say ‘Active’.

UID VAT registration status
UID VAT registration status

Manual checks are tedious because you can only validate one UID at a time. An automated process requires an API that let’s you validate your customers against official records.

You want to offer your customer an input field for their UID and check the input immediately upon submission.

Automate Swiss VAT Number Validation

Vatstack validates VAT numbers against the UID Register in real-time. Create an account to start validating business identification numbers. Check our API reference for validations or speak to your developer. The advantage with Vatstack is that you gain simultaneous access to other government validation services.

This is how an API response looks like if you query CHE-116.281.710 MWST:

{
  "id": "5de7dbdb6a1786369166fd31",
  "active": true,
  "company_address": "Nestlé S.A., Avenue Nestlé 55, 1800 Vevey",
  "company_name": "Groupe TVA, Nestlé S.A.",
  "company_type": "0302",
  "consultation_number": null,
  "valid": true,
  "valid_format": true,
  "vat_number": "116281710",
  "country_code": "CH",
  "query": "CHE116281710MWST",
  "type": "ch_vat",
  "requested": "2019-12-04T00:00:00.000Z",
  "created": "2019-12-04T16:16:27.505Z",
  "updated": "2019-12-04T16:16:27.505Z"
}

The API’s response contains an active boolean to indicate whether the business exists and is actively trading, and a valid boolean indicating the VAT registration status in Switzerland.

A customer providing their UID may be a registered business but is not necessarily registered for VAT. You’ll then have active set to true and receive information about the business while valid is false. This is intentional because the business was either never registered for VAT, or the registration has expired.

Vatstack also supports VAT number validations for all 27 EU member states, Australia, Norway and the United Kingdom. You can restrict validations to only a specific region if you provide a type body parameter in your POST request.

What is the Swiss VAT Number Format

The number format is based on the Swiss UID. It starts with CHE, followed by 9 digits (whereby the last digit is a MOD11 checksum), and either ends with MWST, TVA or IVA depending on the part of Switzerland a business is registered in.

The extension of the UID will change as follows:

  • German part: MWST (German abbreviation for “Mehrwertsteuer”)
  • French part: TVA (French abbreviation for “taxe sur la valeur ajoutée”)
  • Italian part: IVA (Italian abbreviation for “Imposta sul valore aggiunto”)

For example, a Swiss VAT number could look like this: CHE-123.456.789 MWST. Detailed specifications of the UID “uidOrganisationId” including how to calculate the 9th check digit are documented in eCH-0097 data standard reference in German.

uidOrganisationId
uidOrganisationId

To validate VAT numbers for various regions supported by Vatstack, please review our API reference for the validations endpoint.