BG Beter Geregeld ICT
Tools & checks uitgelegd · 3 min leestijd · 04 September 2025

Checking postcodes in NL, BE and DE: why a quick check prevents half your fulfilment problems

A typo in a postcode costs an average of a few tens of euros per returned parcel. A quick sanity check on postcode + house number often saves more than four euros per order.

In almost every webshop administration we come across, there is an underestimated cost: returns caused by incorrect address data. A few percent of all parcels come back undeliverable, usually because of a typo in the postcode or a missing house number. Per returned parcel that quickly adds up to €4–€10 (outbound shipping + return + re-shipment + handling) — and your customer experiences a delay.

Most of those errors can already be caught with a simple format check — and for the vast majority of cases you don't need to call an external API with an API key.

The three formats

  • The Netherlands — four digits, one space, two uppercase letters: 1403 SL. The letters may not be S, A, D, F, I, O, Q, U, Y (official exclusions by PostNL to prevent confusion). The first digit may not be 0.
  • Belgium — four digits, no letters: 1000 (Brussels). Range runs from 1000 to 9999.
  • Germany — five digits, no letters: 10115 (Berlin). Range runs from 01067 to 99998.

What a good check actually does

A sanity check on postcode + house number can:

  1. Format validation — does the input match the pattern for the selected country?
  2. Range check — does the number fall within the valid range for that country? (No 0123 AB for NL, no 00000 for DE.)
  3. Letter exclusions — for NL: flag postcodes with impossible letter combinations.
  4. Pattern detection — flag input that looks suspicious (all zeros, repetitions like 1111 AA, or values identical to a commonly used placeholder).

What a check cannot do (without an external API)

  • Confirm that a combination exists as an address — for that you need a postcode database (PostNL, BAG, Bpost).
  • Indicate whether the combination of postcode + house number + city yields a valid address.
  • Detect whether the address is residential or commercial.

For most webshop errors, however, the gains are made before reaching that level. In our experience, a format check filters out 60–80% of real shipping errors, without any dependency on an external service.

Where do you plug in the check?

  • In the checkout process — immediately after the address is entered. Show a warning, but don't block (otherwise you'll lose customers who accidentally typed an unusual combination).
  • On CSV imports — when importing customer files from other systems. Filter and log the outliers before you start invoicing against them.
  • In an internal admin tool — for staff who manually correct address data, so they can instantly see whether the change itself is actually valid.

A quick DIY validator

Our Postcode sanity check supports NL, BE and DE and flags not only format errors but also suspicious patterns (all zeros, repetitions, impossible combinations). No API key required, no registration — handy for a spot check or for a one-off clean-up of an address file.

Improving your shipping rarely starts with the carrier. It starts with the data before shipment — and this is a cheap, fast first step towards getting that right.

Onderwerpen

#postcode #fulfilment #logistiek #verzending

Volledige gids: Checking an IBAN by name: why banks no longer do it automatically, and how to handle it yourself

Dit artikel is onderdeel van onze uitgebreide Tools & checks uitgelegd-gids. Lees de pillar voor het complete plaatje.

Lees de pillar →