Registry entry

Denmark Notification of Entry (CPR Registration) — Anmeldelse af Indrejse

Denmark's national form for notifying a municipality (kommune) of entry/moving to Denmark from abroad, form FR 050 ("Anmeldelse af indrejse"), published by KL (Kommunernes Landsforening, Local Government Denmark) and used uniformly across all Danish municipalities to register a person or family group in CPR (Det Centrale Personregister, the Central Person Register) on first moving to Denmark or returning after living abroad. Registering as entered ("indrejst") in CPR is what triggers assignment of a personnummer (CPR number) and issuance of a sundhedskort (health insurance card) for entrants who do not already have one. This schema models the form's own applicant-facing section in full: the shared entry-date/departure/destination-address block, and the repeating table of up to 6 entrants travelling together (name, gender, place of birth, citizenship, personnummer if already assigned, Nordic country-of-departure identification if applicable, and folkekirke/church-membership status for each). It deliberately does NOT model the form's own second section, printed under the heading "Andre oplysninger (udfyldes af kommunen)" ("Other information, completed by the municipality") — marital status, marriage documentation, spouse's personnummer, previous Danish address, date of departure from Denmark, police alien registration number, parents' personnummer, choice of physician, and the municipal caseworker's own notes/signature — because the form's own printed heading discloses these fields are filled in by municipal staff during in-person processing, not by the applicant. Submitting this notification requires in-person attendance at the bopælskommune (municipality of residence) with supporting identity and lawful-residence documentation per CPR-lovens §16-17 (§20-21); this schema does not submit the notification itself, and the live source (kl.dk / the applicant's own kommune) is always authoritative. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Kingdom of Denmark, KL, or any Danish kommune.

Registry entry

dk/cpr/notification-of-entry

Jurisdiction
Denmark · national
Version
1.0.0
Verification
draft

Authoritative source Blanket FR 050 "Anmeldelse af indrejse" (December 2025 edition), a 2-page fillable AcroForm PDF published unauthenticated in KL's own blanket library (kl.dk/blanketter/blanketsamling/folkeregistrering), cross-checked against KL's own official English translation, FR 050_ENG "Notification of entry" (same edition, same host).

Machine access

Schema document
registry/dk/cpr/notification-of-entry/1.0.0/schema.jsonapplication/schema+json
Registry catalog
registry/index.jsonone record per schema id

Field reference

60 fields, read from the published schema.json, with names, types, requiredness, and validation as the document states them. The live government form remains the authoritative source.

Fields

  • entryDate date required

    The date of entry into Denmark (day/month/year) for the group of persons covered by this notification.

  • countryOfDeparture string required

    The country the group is moving from.

    length: 0–200classification: pii
  • departureAddress string required

    The group's address in the country of departure.

    length: 0–500classification: pii
  • movingToStreetName string required

    The street name of the Danish address the group is moving to.

    length: 0–200classification: pii
  • movingToHouseNumber string required

    The house number (and letter, if any) of the Danish address the group is moving to.

    length: 0–20classification: pii
  • movingToFloor string optional

    The floor of the Danish address the group is moving to, if the building has floors.

    length: 0–20classification: pii
  • movingToSideDoorNumber string optional

    The side and/or door number of the Danish address the group is moving to, if applicable.

    length: 0–20classification: pii
  • movingToPostalCode string required

    The postal code of the Danish address the group is moving to.

    patternclassification: pii
  • movingToPostalDistrict string required

    The postal district (by name) of the Danish address the group is moving to.

    length: 0–200classification: pii
  • movingToCityName string optional

    The city/town name of the Danish address the group is moving to, if applicable (some rural Danish addresses are identified by postal district alone).

    length: 0–200classification: pii
  • movingToCareOfAddress string optional

    The name and address of the person the group will be living with (c/o), if the new residence is not solely the group's own.

    length: 0–500classification: pii
  • expectedDurationOfStay string required

    The group's expected duration of stay in Denmark. Per CPR-lovens §16, registration in CPR on entry is only possible if the stay is expected to exceed 3 months (or 6 months for Nordic/EU/EEA/Swiss citizens), so this value is central to whether the notification itself is applicable.

  • entrant1CivilRegistrationNumber string optional

    The first entrant's Danish CPR number (personnummer), if one has already been assigned (e.g. by Udlændingestyrelsen/SIRI as part of a residence-permit case, or from a prior period of Danish residence). Left optional: per CPR-administrationen's own guidance (cpr.dk), a personnummer is often assigned only once this notification is processed and the applicant is registered as "indrejst" in CPR, so a genuinely first-time entrant may have none to report yet.

    patternclassification: sensitive-pii
  • entrant1Surname string required

    The first entrant's surname/last name.

    length: 0–200classification: pii
  • entrant1GivenNames string required

    All of the first entrant's first names and middle names.

    length: 0–200classification: pii
  • entrant1Gender enum required

    The first entrant's gender, as recorded on this form.

    enum: M | Kclassification: pii
  • entrant1PlaceOfBirth string required

    The first entrant's place of birth.

    length: 0–200classification: pii
  • entrant1Citizenship string required

    The first entrant's citizenship(s).

    length: 0–200classification: pii
  • entrant1MemberOfFolkekirken boolean optional

    Whether the first entrant is a member of the Evangelical-Lutheran Church in Denmark (Folkekirken). On the source PDF this is two separate checkbox widgets (a "Ja" box and a "Nej" box) rather than one shared toggle or true radio group; both widgets happen to share the AcroForm export value "ja" (a specimen quirk, disclosed rather than corrected), and this schema models the pair as the single boolean answer they jointly represent.

    classification: sensitive-pii
  • entrant1CivilRegistrationNumberInCountryOfDeparture string optional

    If the first entrant is moving to Denmark from a Nordic country, their civil registration/identification number in that country of departure.

    classification: sensitive-pii
  • entrant2CivilRegistrationNumber string optional

    The second entrant's Danish CPR number (personnummer), if one has already been assigned (e.g. by Udlændingestyrelsen/SIRI as part of a residence-permit case, or from a prior period of Danish residence). Left optional: per CPR-administrationen's own guidance (cpr.dk), a personnummer is often assigned only once this notification is processed and the applicant is registered as "indrejst" in CPR, so a genuinely first-time entrant may have none to report yet.

    patternclassification: sensitive-pii
  • entrant2Surname string optional

    The second entrant's surname/last name.

    length: 0–200classification: pii
  • entrant2GivenNames string optional

    All of the second entrant's first names and middle names.

    length: 0–200classification: pii
  • entrant2Gender enum optional

    The second entrant's gender, as recorded on this form.

    enum: M | Kclassification: pii
  • entrant2PlaceOfBirth string optional

    The second entrant's place of birth.

    length: 0–200classification: pii
  • entrant2Citizenship string optional

    The second entrant's citizenship(s).

    length: 0–200classification: pii
  • entrant2MemberOfFolkekirken boolean optional

    Whether the second entrant is a member of the Evangelical-Lutheran Church in Denmark (Folkekirken). On the source PDF this is two separate checkbox widgets (a "Ja" box and a "Nej" box) rather than one shared toggle or true radio group; both widgets happen to share the AcroForm export value "ja" (a specimen quirk, disclosed rather than corrected), and this schema models the pair as the single boolean answer they jointly represent.

    classification: sensitive-pii
  • entrant2CivilRegistrationNumberInCountryOfDeparture string optional

    If the second entrant is moving to Denmark from a Nordic country, their civil registration/identification number in that country of departure.

    classification: sensitive-pii
  • entrant3CivilRegistrationNumber string optional

    The third entrant's Danish CPR number (personnummer), if one has already been assigned (e.g. by Udlændingestyrelsen/SIRI as part of a residence-permit case, or from a prior period of Danish residence). Left optional: per CPR-administrationen's own guidance (cpr.dk), a personnummer is often assigned only once this notification is processed and the applicant is registered as "indrejst" in CPR, so a genuinely first-time entrant may have none to report yet.

    patternclassification: sensitive-pii
  • entrant3Surname string optional

    The third entrant's surname/last name.

    length: 0–200classification: pii
  • entrant3GivenNames string optional

    All of the third entrant's first names and middle names.

    length: 0–200classification: pii
  • entrant3Gender enum optional

    The third entrant's gender, as recorded on this form.

    enum: M | Kclassification: pii
  • entrant3PlaceOfBirth string optional

    The third entrant's place of birth.

    length: 0–200classification: pii
  • entrant3Citizenship string optional

    The third entrant's citizenship(s).

    length: 0–200classification: pii
  • entrant3MemberOfFolkekirken boolean optional

    Whether the third entrant is a member of the Evangelical-Lutheran Church in Denmark (Folkekirken). On the source PDF this is two separate checkbox widgets (a "Ja" box and a "Nej" box) rather than one shared toggle or true radio group; both widgets happen to share the AcroForm export value "ja" (a specimen quirk, disclosed rather than corrected), and this schema models the pair as the single boolean answer they jointly represent.

    classification: sensitive-pii
  • entrant3CivilRegistrationNumberInCountryOfDeparture string optional

    If the third entrant is moving to Denmark from a Nordic country, their civil registration/identification number in that country of departure.

    classification: sensitive-pii
  • entrant4CivilRegistrationNumber string optional

    The fourth entrant's Danish CPR number (personnummer), if one has already been assigned (e.g. by Udlændingestyrelsen/SIRI as part of a residence-permit case, or from a prior period of Danish residence). Left optional: per CPR-administrationen's own guidance (cpr.dk), a personnummer is often assigned only once this notification is processed and the applicant is registered as "indrejst" in CPR, so a genuinely first-time entrant may have none to report yet.

    patternclassification: sensitive-pii
  • entrant4Surname string optional

    The fourth entrant's surname/last name.

    length: 0–200classification: pii
  • entrant4GivenNames string optional

    All of the fourth entrant's first names and middle names.

    length: 0–200classification: pii
  • entrant4Gender enum optional

    The fourth entrant's gender, as recorded on this form.

    enum: M | Kclassification: pii
  • entrant4PlaceOfBirth string optional

    The fourth entrant's place of birth.

    length: 0–200classification: pii
  • entrant4Citizenship string optional

    The fourth entrant's citizenship(s).

    length: 0–200classification: pii
  • entrant4MemberOfFolkekirken boolean optional

    Whether the fourth entrant is a member of the Evangelical-Lutheran Church in Denmark (Folkekirken). On the source PDF this is two separate checkbox widgets (a "Ja" box and a "Nej" box) rather than one shared toggle or true radio group; both widgets happen to share the AcroForm export value "ja" (a specimen quirk, disclosed rather than corrected), and this schema models the pair as the single boolean answer they jointly represent.

    classification: sensitive-pii
  • entrant4CivilRegistrationNumberInCountryOfDeparture string optional

    If the fourth entrant is moving to Denmark from a Nordic country, their civil registration/identification number in that country of departure.

    classification: sensitive-pii
  • entrant5CivilRegistrationNumber string optional

    The fifth entrant's Danish CPR number (personnummer), if one has already been assigned (e.g. by Udlændingestyrelsen/SIRI as part of a residence-permit case, or from a prior period of Danish residence). Left optional: per CPR-administrationen's own guidance (cpr.dk), a personnummer is often assigned only once this notification is processed and the applicant is registered as "indrejst" in CPR, so a genuinely first-time entrant may have none to report yet.

    patternclassification: sensitive-pii
  • entrant5Surname string optional

    The fifth entrant's surname/last name.

    length: 0–200classification: pii
  • entrant5GivenNames string optional

    All of the fifth entrant's first names and middle names.

    length: 0–200classification: pii
  • entrant5Gender enum optional

    The fifth entrant's gender, as recorded on this form.

    enum: M | Kclassification: pii
  • entrant5PlaceOfBirth string optional

    The fifth entrant's place of birth.

    length: 0–200classification: pii
  • entrant5Citizenship string optional

    The fifth entrant's citizenship(s).

    length: 0–200classification: pii
  • entrant5MemberOfFolkekirken boolean optional

    Whether the fifth entrant is a member of the Evangelical-Lutheran Church in Denmark (Folkekirken). On the source PDF this is two separate checkbox widgets (a "Ja" box and a "Nej" box) rather than one shared toggle or true radio group; both widgets happen to share the AcroForm export value "ja" (a specimen quirk, disclosed rather than corrected), and this schema models the pair as the single boolean answer they jointly represent.

    classification: sensitive-pii
  • entrant5CivilRegistrationNumberInCountryOfDeparture string optional

    If the fifth entrant is moving to Denmark from a Nordic country, their civil registration/identification number in that country of departure.

    classification: sensitive-pii
  • entrant6CivilRegistrationNumber string optional

    The sixth entrant's Danish CPR number (personnummer), if one has already been assigned (e.g. by Udlændingestyrelsen/SIRI as part of a residence-permit case, or from a prior period of Danish residence). Left optional: per CPR-administrationen's own guidance (cpr.dk), a personnummer is often assigned only once this notification is processed and the applicant is registered as "indrejst" in CPR, so a genuinely first-time entrant may have none to report yet.

    patternclassification: sensitive-pii
  • entrant6Surname string optional

    The sixth entrant's surname/last name.

    length: 0–200classification: pii
  • entrant6GivenNames string optional

    All of the sixth entrant's first names and middle names.

    length: 0–200classification: pii
  • entrant6Gender enum optional

    The sixth entrant's gender, as recorded on this form.

    enum: M | Kclassification: pii
  • entrant6PlaceOfBirth string optional

    The sixth entrant's place of birth.

    length: 0–200classification: pii
  • entrant6Citizenship string optional

    The sixth entrant's citizenship(s).

    length: 0–200classification: pii
  • entrant6MemberOfFolkekirken boolean optional

    Whether the sixth entrant is a member of the Evangelical-Lutheran Church in Denmark (Folkekirken). On the source PDF this is two separate checkbox widgets (a "Ja" box and a "Nej" box) rather than one shared toggle or true radio group; both widgets happen to share the AcroForm export value "ja" (a specimen quirk, disclosed rather than corrected), and this schema models the pair as the single boolean answer they jointly represent.

    classification: sensitive-pii
  • entrant6CivilRegistrationNumberInCountryOfDeparture string optional

    If the sixth entrant is moving to Denmark from a Nordic country, their civil registration/identification number in that country of departure.

    classification: sensitive-pii

Verification record

Candidate selection

This session's brief (GOV-2260, "GovSchema Standard Research") picked up Denmark's remaining vertical backlog. Denmark stood at 2/6 verticals (Passport via dk/um/application-for-danish-passport, GOV-2244/GOV-2242; Taxes via dk/skattestyrelsen/oplysningsskemaet, GOV-2253); CATALOG.md's own Known Gaps section (item 4) named Business Formation (Erhvervsstyrelsen / virk.dk), Visa, and National ID & Civic Documents (Denmark's CPR system) as open, unscreened candidates, noting the CPR personnummer already reused throughout the Passport and Taxes schemas.

All three were screened fresh this cycle, in parallel:

  • Business Formation: virk.dk form 40.110 ("Virksomhedsregistrering" / Registration of Foreign Business) is a genuine unauthenticated AcroForm PDF — the explicit paper fallback Erhvervsstyrelsen offers to applicants without MitID ("Hvis du ikke har MitID, kan du bruge blanket 40.110 i stedet for selvbetjeningsløsningen") — but it is scoped narrowly to foreign businesses/owners without a Danish CVR number, is entirely in Danish with no official English guide found, and the mainstream Danish ApS/A/S/enkeltmandsvirksomhed formation path is confirmed MitID/NemID-login-gated with no static fallback.
  • Visa: the pure Schengen short-stay visa route (applyvisa.um.dk) is a JS-rendered SPA with no static form, and its underlying paper template is the pan-Schengen Annex I form already duplicated against fr/france-visas/schengen-visa-application and several other Schengen jurisdictions in this registry. SIRI's own nyidanmark.dk work-permit form (AR8) is genuinely Denmark-specific and unauthenticated, but is a fill-by-hand PDF with no AcroForm widget layer at all.
  • National ID & Civic Documents: KL's (Kommunernes Landsforening) form FR 050, "Anmeldelse af indrejse" (Notification of Entry), used to register entry to Denmark in CPR (Det Centrale Personregister). A genuine, current, unauthenticated AcroForm with a real widget layer, a single national template used uniformly by all Danish kommuner (not a local variant), and an official English cross-check translation (FR 050_ENG) — the strongest of the three by this registry's own bar. Picked.

Source

  • Danish: https://www.klxml.dk/KLB/Blanket/Gaelder/fr050.pdf
  • English (cross-check only, not the schema's primary source): https://www.klxml.dk/KLB/Blanket/Gaelder/fr050_eng.pdf
  • Both fetched fresh this session with a plain HTTP GET: HTTP 200, 85,513 bytes (Danish) / 88,602 bytes (English), confirmed genuine PDFs containing an /AcroForm dictionary — no login/CAPTCHA/WAF gate on either.
  • Edition: both specimens print FR 050 (12/2025) / FR 050_ENG (12/2025) in their footer — December 2025 edition, current as of this cycle.
  • Listing page: https://www.kl.dk/blanketter/blanketsamling/folkeregistrering (KL's own form library for folkeregistrering/civil-registration forms).
  • Process background confirmed directly against CPR-administrationen's own published guidance: https://www.cpr.dk/borgere/kan-jeg-faa-et-personnummer/tilflytning-naar-jeg-flytter-til-danmark-1-gang (fetched this session) — states the bopælskommune determines CPR entry-registration eligibility under CPR-lovens §16-17, and that a personnummer and sundhedskort (health-insurance card) follow from that registration.

Extraction technique

pdfjs-dist (legacy/build/pdf.mjs, installed fresh to a scratch /tmp/pdfscratch directory this session) was used per page via page.getAnnotations() (widget rects, field names, alternativeText tooltips) and page.getTextContent() (printed labels with x/y coordinates), on both the Danish and English specimens independently.

Unlike the Skattestyrelsen tax form screened in a prior cycle, this specimen's field names are self-documenting (indrejse dato, fraflytningsland, personnummer, personnummer 1 .. personnummer 5, etc.) rather than generic Text field #N placeholders, so a coordinate cross-reference was not strictly required to establish field identity — it was still used to confirm each field's row position against the page's own printed column headers (Personnummer, Efternavn, Samtlige fornavne og mellemnavne, Køn, Fødested, Statsborgerforhold, Medlem af folkekirken) and against the printed row numbers 1 2 3 4 5 6 next to the six-row entrant table, on both the Danish and English pages, which match exactly.

  • Page 1: 80 annotations — 78 Tx text-field widgets, 12 Btn checkbox widgets (a Ja/Nej pair for each of 6 entrants' "Medlem af folkekirken" question), and other link/note widgets.
  • Page 2: 2 annotations — a link annotation to Datatilsynet.dk and one free-text "kommune noteringer" field (a blank space for the municipality's own notes, not applicant-facing).

The "municipality-only section" scoping decision (disclosed, not assumed)

Page 1 of the specimen carries its own printed section heading, "Andre oplysninger (udfyldes af kommunen)" ("Other information, to be filled in by the municipality") — confirmed identically on the English specimen as "Other information (to be filled in by the municipality)" — directly above a second block of fields: Ægteskabelig status (marital status), Myndighed/dato og sted (marriage-authorizing authority, date, place), Dokumenteret (documented), Ægtefælles personnummer (spouse's CPR number), Tidligere adresse i Danmark (previous Danish address), Udrejsedato (date of departure from Denmark), Politiets udlændingenummer (police alien registration number) ×2, Fars/Mors personnummer (father's/mother's CPR number), Lægevalg (choice of physician), Evt. bemærkninger (caseworker remarks), Kontaktperson (municipal contact person), and Dato og underskrift (date and the municipality's own signature).

Each of these fields' own alternativeText independently confirms the same scoping (e.g. "aegteskabelig status""Ægteskabelig status på de indrejsende udfyldes af kommunen"; "far personnummer""Farens personnummer udfyldes af kommunen"). This schema therefore models only the section above that heading — the section the applicant themselves fills in — and deliberately excludes every field in the municipality-only block. This mirrors the same class of finding the prior DK Taxes cycle made for "Felt låst" rows: a hard, disclosed structural fact about the specimen's own division of labor, not an editorial exclusion choice.

Field structure: shared block + bounded 6-entrant repeating table

The specimen's own table prints row numbers 1 through 6 for "Alle personer, der indrejser" ("All persons entering Denmark") — a bounded repeating group, not an unbounded list. Since the GovSchema v0.3 field type enum has no array/list primitive, this schema follows this registry's existing precedent for bounded repeating groups (e.g. se/migrationsverket/work-permit-application's child1FieldName .. child5FieldName convention) and flattens the table into entrant1FieldName .. entrant6FieldName, 8 fields per entrant (CivilRegistrationNumber, Surname, GivenNames, Gender, PlaceOfBirth, Citizenship, MemberOfFolkekirken, CivilRegistrationNumberInCountryOfDeparture) = 48 fields, plus 12 shared entry-date/departure/destination-address fields = 60 fields total.

Only entrant 1's core identity fields (Surname, GivenNames, Gender, PlaceOfBirth, Citizenship) are required: true — a notification must describe at least one person entering. Entrants 2-6 are left fully optional, matching the specimen's own open-ended "up to 6, however many apply" table design. entrant1CivilRegistrationNumber and every other entrant's personnummer field are left optional for every entrant (not just 2-6) — see the next section for why.

Two disclosed modelling decisions

  1. entrantNCivilRegistrationNumber is optional even for entrant 1. CPR-administrationen's own guidance (cpr.dk, fetched this session) states plainly: "Når du registreres som indrejst i CPR, får du tildelt et personnummer" ("When you are registered as entered in CPR, you are assigned a personnummer") — i.e. this very notification is frequently the mechanism by which a first-time entrant obtains a personnummer, so the field cannot be assumed pre-filled/mandatory on the applicant's side; it is genuinely populated only for entrants who already hold one (returning residents, prior Udlændingestyrelsen/SIRI case holders, etc.).
  2. entrantNMemberOfFolkekirken is modelled as a single boolean, even though the source PDF implements the question as two independent checkbox widgets (a "Ja" box and a "Nej" box — confirmed via radioButton: false on both, i.e. not a true mutually-exclusive radio group) that happen to share the identical AcroForm export value "ja" on both widgets — a specimen quirk disclosed here rather than silently corrected. classification: "sensitive-pii" is applied since religious affiliation is special-category personal data.

Mock conformance test run

Two scenarios were built under conformance/dk/cpr/notification-of-entry/1.0.0/ and checked against this schema's required/validation grammar with a disposable checker script (/tmp/check_conformance.mjs, not committed — same technique used across this registry's other v1.0.0 cycles):

  • application-packet-minimal-required-only.json: a single entrant (Danish returnee moving from Sweden) with only the required shared and entrant-1 identity fields filled. 13 fields collected, 47 correctly not-applicable, 0 errors.
  • application-packet-full-family-of-two.json: a family of two (parent + child) moving from Sweden, with optional fields filled — personnummer, folkekirke membership (one true, one false), Nordic country-of-departure identification for both, and destination-address detail (floor, side/door number, city name, c/o address). 27 fields collected, 33 correctly not-applicable, 0 errors.
  • A mutation/negative control, derived from the minimal scenario with three defects introduced simultaneously and independently confirmed each raised its own expected error: removing the required entrant1Surnamemissing-required; setting movingToPostalCode to "ABCDE" (violates pattern: ^[0-9]{4}$) → pattern-violation; setting entrant1Gender to "X" (violates validation.enum: ["M","K"]) → enum-violation. All three were correctly flagged in one run, confirming the checker script itself is discriminating rather than trivially passing every input.

The schema was also validated against the GovSchema v0.3 meta-schema with node tools/validate-ajv.mjs (passes standalone) and node tools/validate.mjs (passes against the full registry, 346/346 documents after this addition, 3/3 mapping.json companions).

Scope and jurisdiction notes

This document opens Denmark's National ID & Civic Documents vertical (3/6 for Denmark; Business Formation and Visa remain open, screened-and-set-aside candidates per the "Candidate selection" section above — see CATALOG.md's Known Gaps section for the full detail on each). It does not submit the notification on the entrant's behalf, and does not replace the in-person attendance and identity/residence documentation CPR-lovens §16-17 requires at the applicant's own bopælskommune; the live source (kl.dk / the applicant's own kommune) is always authoritative. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Kingdom of Denmark, KL, or any Danish kommune.

View the raw record (VERIFICATION.md)

Version history

  • 1.0.0 draft latest this page has verification record schema.json

Independent and non-affiliated

GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by CPR-administrationen (Danish Civil Registration System Administration) or any government. The authoritative source is always the live government form and its official instructions.