Home › Data · Version française

The dataset

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.

What the set covers

The column that makes this usable: the Swiss company identifier

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.

How long each operator has been in scope

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.

Fields, and their real fill rates

FieldDescriptionFilled
srnSingle Registration Number issued by the European Commission — the register key100.0 %
nomCompany name as filed100.0 %
nom_abregeShort name, where one is filed37.0 %
type_acteurRole: manufacturer, system/procedure pack producer, notified body100.0 %
statutActive or inactive in the register100.0 %
statut_depuisDate of the status change — the register fills this rarely. Not to be confused with “inscrit_le”4.9 %
inscrit_leRegistration date in the European register — filled on 99.8 % of rows. Tells you how long each operator has been in scope, and isolates recent entrants99.8 %
npaPostal code as filed in EUDAMED100.0 %
localiteTown as filed in EUDAMED100.0 %
no_ofsSwiss federal municipality number, resolved by us — joins to any Swiss municipal data99.8 %
communeSwiss municipality, resolved by us99.8 %
cantonCanton, resolved by us99.8 %
adresseStreet address as filed99.8 %
emailContact address published by the operator in the register100.0 %
telephonePhone as filed61.2 %
site_webWebsite as filed70.5 %
tva_europeenneVAT / identifier EXACTLY as declared in EUDAMED — free text, kept unchanged for provenance. Use the `uid` column instead60.1 %
versionVersion of the register record100.0 %
capture_leDate of our snapshot100.0 %
resolu_parHow the municipality was resolved: postal code, or fallback on town name99.8 %
uidSwiss company identifier (CHE-…), canonical form — the column that lets this file join to the commercial register and to your own databases95.4 %
uid_appariementHow 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 address95.4 %
uid_motifWhy the identifier is empty, when it is — never guessed to fill a gap4.6 %

Measured on the 587 delivered rows, not copied from a previous run. Free sample (CSV) · schema.json

Order

Pick the line you are interested in.

Réponse sous 48 heures ouvrables, avec le prix exact et le dictionnaire de données.