Home › Data · Version française
Prices are published. One canton CHF 250 · the full set CHF 1 500 · annual refresh CHF 600. Order →
The pages of this site are free and will stay free: an official fact belongs to nobody. What is sold is the compilation work — extracting the European register, giving it two joins it does not have — the Swiss company identifier and the municipality —, dating it, and delivering it in a form you can actually use.
Every record carries the Swiss UID (CHE-…) on
95.4 % of rows. This is what lets you match the
register against your own files — company by company, on a number rather
than on a name.
Matching on names does not work: the commercial register writes Dassym S.A. where the medical register writes Dassym SA, and no software reads those as the same firm. EUDAMED declares a UID on 60.1 % of records, but the field is free text there — suffixes, missing separators, a German VAT number here and there — so only 36.0 % were usable as written. Normalising those and completing the rest against the commercial register is the work.
Nothing is guessed. Column uid_appariement states how
each identifier was obtained, and uid_motif says why the
27 unresolved rows are empty. A file filled
plausibly turns against whoever uses it.
Actor registration in EUDAMED has been mandatory since 28 May 2026, under Commission Decision (EU) 2025/2371. Every row carries its registration date — filled on 99.8 % — so you can sort by how recently a company entered the regulated field. 17 Swiss operators have registered since that date, 16 of them manufacturers.
Two things worth stating plainly rather than letting you discover them. First,
Swiss registrations are slowing, not accelerating: 166 in 2022,
86 in 2023, 78 in 2024, 55 in 2025, 44 so far in 2026. The mandate has not produced
a wave here. Second, the register dates arrivals but not
departures: statut_depuis is filled on 4.9 % of rows, so a
company going inactive is not dated by anyone. Only comparing two snapshots reveals
it — which is what the quarterly option is for, and the only thing it is for.
| Field | Description | Filled |
|---|---|---|
srn | Single Registration Number issued by the European Commission — the register key | 100.0 % |
nom | Company name as filed | 100.0 % |
nom_abrege | Short name, where one is filed | 37.0 % |
type_acteur | Role: manufacturer, system/procedure pack producer, notified body | 100.0 % |
statut | Active or inactive in the register | 100.0 % |
statut_depuis | Date of the status change — the register fills this rarely. Not to be confused with “inscrit_le” | 4.9 % |
inscrit_le | Registration date in the European register — filled on 99.8 % of rows. Tells you how long each operator has been in scope, and isolates recent entrants | 99.8 % |
npa | Postal code as filed in EUDAMED | 100.0 % |
localite | Town as filed in EUDAMED | 100.0 % |
no_ofs | Swiss federal municipality number, resolved by us — joins to any Swiss municipal data | 99.8 % |
commune | Swiss municipality, resolved by us | 99.8 % |
canton | Canton, resolved by us | 99.8 % |
adresse | Street address as filed | 99.8 % |
email | Contact address published by the operator in the register | 100.0 % |
telephone | Phone as filed | 61.2 % |
site_web | Website as filed | 70.5 % |
tva_europeenne | VAT / identifier EXACTLY as declared in EUDAMED — free text, kept unchanged for provenance. Use the `uid` column instead | 60.1 % |
version | Version of the register record | 100.0 % |
capture_le | Date of our snapshot | 100.0 % |
resolu_par | How the municipality was resolved: postal code, or fallback on town name | 99.8 % |
uid | Swiss company identifier (CHE-…), canonical form — the column that lets this file join to the commercial register and to your own databases | 95.4 % |
uid_appariement | How that identifier was obtained, so how strong the evidence is: “source” declared as such in the European register · “source-normalise” same value, tax suffix or separators corrected · “nom+siege” confirmed against the commercial register on BOTH the company name AND the federal number of its registered seat · “nom-unique-siege-autre” sole namesake in Switzerland, registered seat differing from the operating address | 95.4 % |
uid_motif | Why the identifier is empty, when it is — never guessed to fill a gap | 4.6 % |
Measured on the 587 delivered rows, not copied from a previous run. Free sample (CSV) · schema.json
Pick the line you are interested in.