# Stormodtagerpostnumre i formularer

> Hvad stormodtagerpostnumre er, hvordan API'et viser dem i /postnumre, på adresser og i autocomplete, og hvordan din formular håndterer dem.
>
> https://danadresse.dk/guides/stormodtagere · verified 2026-11-02

Nogle store virksomheder og myndigheder har deres eget postnummer. Post til dem sorteres direkte til modtageren i stedet for til et postdistrikt. Det kaldes et stormodtagerpostnummer, f.eks. `1092 København K` for Danske Bank på Holmens Kanal 2. Det står på fakturaer og breve fra den slags organisationer, og derfor dukker det op i B2B-formularer, fakturaadresser og CRM-data.

Et stormodtagerpostnummer peger på en organisations postmodtagelse. Bygningen har stadig sit almindelige, geografiske postnummer: Holmens Kanal 2 ligger i `1060 København K`.

## Hvad API'et returnerer

API'et følger DAWA:

| Sted                                                            | Hvad du får                                                                                             |
| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `GET /postnumre`                                                | Kun geografiske postnumre, som i DAWA                                                                   |
| `GET /postnumre?stormodtagere=true`                             | Også stormodtagerpostnumrene                                                                            |
| `GET /postnumre/{nr}`                                           | Virker for alle postnumre, også stormodtagernumre                                                       |
| `stormodtager` på et postnummer                                 | `true` for et stormodtagerpostnummer, ellers `false`                                                    |
| `stormodtageradresser` på et postnummer                         | De adgangsadresser, der modtager post på nummeret, som `[{href, id}]`. `null` for geografiske postnumre |
| `stormodtagerpostnummer` på `/adgangsadresser`                  | `{href, nr, navn}` for en indgang med et stormodtagerpostnummer, ellers `null`                          |
| `stormodtagerpostnr` og `stormodtagerpostnrnavn` i autocomplete | Udfyldt på forslag til en adresse med et stormodtagerpostnummer                                         |
| Autocomplete med `stormodtagerpostnumre=true`                   | Sådan en adresse foreslås to gange: med det geografiske postnummer og med stormodtagerpostnummeret      |

## Tjek et postnummer

`GET /postnumre/{nr}` svarer `200` for et kendt postnummer og fortæller, om det er et stormodtagerpostnummer:

```bash id=postnr-curl run=live expect="stormodtager"
curl -s "https://api.danadresse.dk/postnumre/1092" \
  -H "X-Api-Key: $DANADRESSE_API_KEY"
```

```json id=postnr-svar run=no
{
  "href": "https://api.danadresse.dk/postnumre/1092",
  "nr": "1092",
  "navn": "København K",
  "stormodtageradresser": [
    {
      "href": "https://api.danadresse.dk/adgangsadresser/0a3f507a-8f2e-32b8-e044-0003ba298018",
      "id": "0a3f507a-8f2e-32b8-e044-0003ba298018"
    },
    {
      "href": "https://api.danadresse.dk/adgangsadresser/0a3f507a-8f34-32b8-e044-0003ba298018",
      "id": "0a3f507a-8f34-32b8-e044-0003ba298018"
    }
  ],
  "stormodtager": true,
  "kommuner": [
    {
      "href": "https://api.danadresse.dk/kommuner/0101",
      "kode": "0101",
      "navn": "København"
    }
  ]
}
```

Et `404` betyder, at nummeret ikke er et postnummer i registret. Det er typisk en tastefejl eller et nedlagt nummer.

## Sådan håndterer du det i formularen

Formularens formål afgør, hvad du gør:

| Formular                                    | Anbefaling                                                                                                                                                                 |
| ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Leveringsadresse til pakker, besøg, montage | Kræv en fysisk adresse med det geografiske postnummer. Brug autocomplete og [datavask](/guides/datavask-i-checkout). Et stormodtagerpostnummer er ikke en leveringsadresse |
| Faktura- eller postadresse for virksomheder | Accepter et stormodtagerpostnummer. Det er et gyldigt postnummer til breve                                                                                                 |
| Import af CRM-data                          | Marker rækker med ukendt postnummer til manuel kontrol i stedet for at slette dem. Rækker med et stormodtagerpostnummer er gyldige postadresser                            |

Her er en lille kontrol i Node, som skelner mellem "geografisk", "stormodtager", "ukendt" og "ugyldigt format":

```js id=postnr-node run=live expect="Hellerup"
async function tjekPostnr(nr) {
  if (!/^\d{4}$/.test(nr))
    return { status: "ugyldigt", tekst: "Postnummeret skal være fire cifre" };
  const res = await fetch(`https://api.danadresse.dk/postnumre/${nr}`, {
    headers: { "X-Api-Key": process.env.DANADRESSE_API_KEY },
    signal: AbortSignal.timeout(5000),
  });
  if (res.status === 404)
    return { status: "ukendt", tekst: `${nr} er ikke et kendt postnummer` };
  if (!res.ok)
    return {
      status: "kunne ikke tjekke",
      tekst: "Kunne ikke tjekke postnummeret lige nu",
    };
  const p = await res.json();
  if (p.stormodtager) {
    return {
      status: "stormodtager",
      tekst: `${p.nr} ${p.navn} er et firmapostnummer. Brug det til post, ikke til levering.`,
    };
  }
  return { status: "geografisk", tekst: `${p.nr} ${p.navn}` };
}

for (const nr of ["2900", "1092", "9999", "29OO"]) {
  console.log(nr, JSON.stringify(await tjekPostnr(nr)));
}
```

Hent eventuelt hele listen med `GET /postnumre?stormodtagere=true` én gang i døgnet og tjek lokalt i stedet for at kalde API'et ved hvert tastetryk. Feltet `stormodtager` fortæller, hvilke numre der kun er til post. Se [Postnumre og kommuner til dropdowns](/guides/postnumre-og-kommuner).

## Gem det rå input

Når du accepterer et postnummer, API'et ikke kender, så gem det præcis som kunden skrev det, og marker rækken, f.eks. med `postnr_valideret = false`. Så kan I finde rækkerne igen, hvis I senere vil kontrollere dem. Et stormodtagerpostnummer på en fakturaadresse gemmer du som det er. Overskriv det ikke med det geografiske postnummer fra datavask.

## Kanttilfælde

- **Datavask bruger det geografiske postnummer.** "Holmens Kanal 2, 1092 København K" giver kategori C, fordi postnummeret afviger fra bygningens (`forskelle.postnr`). Kandidaten er den rigtige bygning med `1060`. Feltet `anvendtstormodtagerpostnummer` er `null`.
- **Autocomplete finder bygningen.** Forslaget viser det geografiske postnummer og har stormodtagerpostnummeret i `data.stormodtagerpostnr`. Vil du tilbyde begge varianter, så tilføj `stormodtagerpostnumre=true`.
- **Postnumre med foranstillet nul.** Alle geografiske postnumre har fire cifre fra 1000 og op. Numre under 1000, som `0800 Høje Taastrup` og `0999 København C`, er stormodtagerpostnumre. API'et returnerer altid postnumre med fire cifre, så gem dem som tekst, så nullet ikke forsvinder.
- **Kommune ud fra postnummer.** `kommuner` på et stormodtagerpostnummer er kommunerne for dets stormodtageradresser. Skal du kende kommunen for en bestemt kunde, så brug adressen.

## Næste skridt

- [Postnumre og kommuner til dropdowns](/guides/postnumre-og-kommuner)
- [Valider adressen i checkout med datavask](/guides/datavask-i-checkout)
