CVR should be read in two layers:

  1. Delivery layer: which entities are delivered by Datafordeler filedownload.
  2. Semantic layer: which concepts those entities and attributes represent.

This avoids a common mistake: assuming each delivered entity is a standalone business concept.

Layer 1: Delivery Entities (Filedownload View)

CVR filedownload commonly exposes these entities:

  • Adressering
  • AndreDeltagere
  • AnsvarligDataleverandoer
  • Beskaeftigelse
  • Branche
  • CVREnhed
  • CVRPerson (restricted access)
  • e_mailadresse
  • FuldtAnsvarligDeltagerRelation
  • Kreditoplysninger
  • Navn
  • Produktionsenhed
  • Reklamebeskyttelse
  • Telefaxnummer
  • Telefonnummer
  • Virksomhed
  • Virksomhedsform

These are delivery units, not final analysis objects.

Layer 2: Semantic Concepts (Interpretation View)

Use semantic concepts as the analysis entry point, then map to entities/attributes.

Semantic conceptPrimary entitiesKey attributes / signals
Legal business identityCVREnhed, Virksomhed, NavnCVREnhedsId, Navn, Virksomhedstatus
Organizational formVirksomhedsform, VirksomhedVirksomhedform, legal form rules
Industry activityBrancheBranche, code/text values
Operational footprintProduktionsenhed, Adresseringproduction site + address relation
ContactabilityTelefonnummer, e_mailadresse, Telefaxnummercontact channels
Governance and ownershipAndreDeltagere, FuldtAnsvarligDeltagerRelation (+ other ownership/leadership relation entities in GraphQL/object model)decision power and ownership role signals
Financial and accounting contextBeskaeftigelse, Kreditoplysninger (+ Regnskab/Revision in broader model)employment and financial status indicators
Social economy and supervisionSocialØkonomiskVirksomhed (object model), VirksomhedsformSocialØkonomiskVirksomhed=true, IEFTilsyn, IEFTilsynTekst
Regulatory/privacy postureReklamebeskyttelse, AnsvarligDataleverandoeroutreach restrictions and data supply responsibility

Fast Routing from SPHERE Leaves

This table is the shortest route from user intent to execution plan.

LeafPrimary entitiesSupporting entitiesCanonical join keysSpatial pathTime-slice rule
|FirmsVirksomhed, CVREnhed, Navn, VirksomhedsformCVRAdresseCVREnhedsId, cvrnummerlegal address via CVRAdresse DARfilter on both registrering* and virkning*
|Economic ActivitiesBranche, Virksomhed, ProduktionsenhedNavn, CVRAdresseCVREnhedsId, pnummerCVRAdresse DARfilter on both registrering* and virkning*
|Business LocationsProduktionsenhed, Virksomhed, CVRAdresseNavn, BrancheCVREnhedsId, pnummer, address tupleCVRAdresse Adresse geometrycurrent snapshot usually enough unless historical site location is needed
|Ownership and GovernanceEjerforhold, Reelejerrelation, Legalejerrelation, VirksomhedAndenDeltager, Ledelse, KapitalforholdCVREnhedsId, relation local idsvia owned or owning entity address if mapping is neededapply time filter on each relation entity independently
|Economics and EmploymentRegnskab, Beskæftigelse, VirksomhedRevision, Revisorrelation, Stadfæstelse, ProduktionsenhedCVREnhedsId, accounting periodvia reporting entity address only when spatial output is requiredrespect accounting period first, then bitemporal validity
|Services and AmenitiesProduktionsenhed, Branche, CVRAdresseVirksomhed, Navnpnummer, CVREnhedsId, address tupleProduktionsenhed CVRAdresse DARcurrent snapshot usually used for service availability

Canonical Entity Roles

EntityRole in analysisNot to be confused with
Virksomhedlegal business anchorProduktionsenhed operational site
Produktionsenhedoperational establishmentlegal registration entity
CVRAdressestructured address componentsgeometry-bearing address point
Brancheeconomic classificationcompany name or legal form
Ejerforholddirect ownership relationbeneficial ownership
Reelejerrelationbeneficial ownershiplegal ownership chain
Legalejerrelationlegal ownership chainbeneficial ownership
Regnskabaccounting-period financial reportquarterly or interval employment records
Beskæftigelseemployment measure over timeannual account statement

Critical Distinction: Firm vs Produktionsenhed

This distinction must be explicit in both human interpretation and AI workflows:

  • Virksomhed (firm): the legal construction (juridical entity)
  • Produktionsenhed: the active unit seen on the street (operational establishment)

Example:

  • Coop as legal enterprise = Virksomhed
  • each physical Coop shop = Produktionsenhed

Address implications

Both can have address records, but the semantic meaning differs:

  • firm address can represent legal/administrative presence
  • produktionsenhed address represents operational location of activity

Always decide which address type matches your research question before geocoding or density analysis.

Canonical Join Patterns

1. Business profile bundle

Virksomhed
    ├─ Navn
    ├─ Virksomhedsform
    ├─ Branche
    └─ CVRAdresse

2. Operations bundle

Produktionsenhed
    ├─ Navn
    ├─ Branche
    ├─ CVRAdresse
    ├─ Telefonnummer / e_mailadresse / Telefaxnummer
    └─ Beskæftigelse

3. Ownership bundle

Virksomhed
    ├─ Ejerforhold
    ├─ Reelejerrelation
    ├─ Legalejerrelation
    ├─ Kapitalforhold
    └─ AndenDeltager / Ledelse

4. Financial bundle

Virksomhed
    ├─ Regnskab
    ├─ Revision
    ├─ Revisorrelation
    ├─ Stadfæstelse
    └─ Beskæftigelse

Spatial Linkage Rule

CVR does not provide authoritative geometry for business entities. The canonical route to space is:

Virksomhed or Produktionsenhed
    -> CVRAdresse
    -> address normalization
    -> DAR address / house-number match
    -> point geometry

This is why the Business Locations leaf must remain the operational entry point for geocoding tasks.

Temporal Rule

  • Use virkning* to answer “what was true at time t?”
  • Use registrering* to answer “when was this recorded in the system?”
  • For ownership and leadership, do not assume the parent Virksomhed time fields are sufficient; relation entities carry their own validity.

Important Example: Social Economic Enterprise

“Social economic enterprise” is not a top-level delivery package in your 17-entity list, but a semantic signal carried in object/attribute space.

Practical interpretation:

  • treat SØV as a semantic classification built from multiple signals
  • do not rely on one field in isolation unless your legal interpretation explicitly allows it
  • include related supervisory context (IEFTilsyn, IEFTilsynTekst) when available

See SocialØkonomiskVirksomhed.

AI Guidance: Build Concept Bundles, Not Flat Tables

For AI workflows, build purpose-specific bundles:

  1. Business profile bundle: CVREnhed + Virksomhed + Navn + Virksomhedsform + Branche
  2. Operations bundle: Produktionsenhed + Adressering + contact entities
  3. Governance/compliance bundle: participant/relation entities + Reklamebeskyttelse + relevant supervision signals

When both Virksomhed and Produktionsenhed are present, keep separate identifiers and separate address roles until the final analysis model is defined.

Then merge bundles by stable identifiers and temporal fields.

Minimum Execution Questions an Agent Should Answer Here

Before leaving this page, an agent should be able to answer:

  1. Which entity is the legal anchor? Virksomhed
  2. Which entity is the operational site? Produktionsenhed
  3. How does CVR become spatial? CVRAdresse normalized address DAR geometry
  4. Which entities answer ownership? Ejerforhold, Reelejerrelation, Legalejerrelation
  5. Which entities answer financial state? Regnskab and Beskæftigelse

Codebook and Normalization Contract

For coding details that frequently break joins and filters (kommunekoder, DB07/DB25 transitions, BS/NACE hierarchy), use:

Machine-readable companion