PostNL koppelen aan WooCommerce: verzendlabels en track & trace

PostNL koppelen aan WooCommerce: hoe je de officiële plugin installeert, je API-key vindt en welke veelgemaakte fouten je voorkomt.

· 8 juli, 2026 · 8 min lezen
In het kort
  • PostNL koppelen WooCommerce vervangt handmatig labelwerk door één knop in je order-overzicht: label, track & trace en klant-update automatisch.
  • Je hebt drie dingen nodig: een zakelijk PostNL-account met API-toegang, de gratis officiële plugin "PostNL for WooCommerce" en je API-key.
  • Test eerst in Sandbox-modus voordat je live gaat, zodat je geen echte labels aanmaakt en de adrescheck controleert.
  • Verstuur je met meerdere vervoerders of veel retouren, dan is een verzendplatform als Sendcloud of MyParcel vaak handiger dan de losse plugin.
In dit artikel

PostNL koppelen WooCommerce scheelt je bij elke order een paar minuten handwerk.

In bijna elke webshop die ik onder ogen krijg, zit ergens een handmatig verzendproces. Order binnen, verzendadres kopiëren, in een ander tabblad een label maken op het PostNL Business Portal, terug naar WooCommerce, track-and-trace handmatig in een mail plakken. Vijf minuten per order, vijftig orders per dag, dat is bijna een halve werkdag aan logistiek waar geen klant voor betaalt.

Een goede koppeling met PostNL maakt dat hele proces een knop in de order-overview. Label aanmaken, automatisch versturen via een aangepaste e-mail, track-and-trace op orderpagina, en de klant krijgt netjes de update op het moment dat het pakket is afgegeven.

Dit artikel gaat over de officiële PostNL-plugin voor WooCommerce: hoe je hem installeert, waar je je API-key vandaan haalt, hoe je hem stabiel krijgt voor dagelijks gebruik, en welke fouten ik in de praktijk het meest zie langskomen. Aan het eind staan alternatieven zoals Sendcloud en MyParcel, voor wie meerdere verzenders nodig heeft.

PostNL koppelen WooCommerce: werkplek voor labels en track & trace

Wat je nodig hebt voordat je begint

Voor een werkende koppeling tussen PostNL en WooCommerce heb je drie dingen nodig:

  • Een zakelijk PostNL-account (geen privé-account, dat werkt niet voor API-koppelingen).
  • Een API-key en klantnummer vanuit het PostNL Business Portal.
  • Een WooCommerce-shop die online staat met SSL (HTTPS), op een hoster waar de plugin-installatie geen problemen geeft.

Het zakelijke account met API-toegang regel je via PostNL voor bedrijven. Daar vraag je een contract aan met API-toegang, en dat duurt meestal een paar werkdagen voor het rond is. Heb je nog geen tarief afgesproken, dan loop je dat traject eerst af voor je aan de techniek begint.

De plugin zelf is gratis en wordt door PostNL onderhouden. Vind hem in de WordPress plugin-directory onder de naam “PostNL for WooCommerce”.

PostNL koppelen WooCommerce: de officiële plugin installeren

Installatie volgt het standaard WordPress-pad:

  1. Ga naar Plugins > Nieuwe plugin in je WordPress-admin.
  2. Zoek op “PostNL for WooCommerce”.
  3. Klik op “Installeren”, daarna op “Activeren”.
  4. Onder WooCommerce > PostNL verschijnt een nieuw instellingenmenu.

In dat menu vul je je gegevens in:

  • Klantnummer (het PostNL-klantnummer dat op je contract staat)
  • Klantcode (een korte code die hoort bij je contract, ook in het portal te vinden)
  • API-key (lange tekenreeks uit het PostNL Business Portal)
  • Type omgeving: Live voor echte verzendingen, Sandbox voor testen

Belangrijk: gebruik eerst Sandbox-modus voor je live gaat. Daarmee maak je testlabels die niet daadwerkelijk in de PostNL-stroom belanden. Dat scheelt je niet alleen onbedoelde verzendingen, maar je merkt ook of de adresvalidatie en label-generatie werkt voor je een echte klant verstuurt.

PostNL plugin instellingen in WooCommerce met API-credentials, verzendmethoden en label-formaat opties

Waar je de API-key vindt

Dit is de stap waar ik in mijn werk vaak vragen over krijg, dus iets uitgebreider.

  1. Log in op het PostNL Business Portal.
  2. Ga naar Instellingen of Integraties (de exacte naam wisselt soms; zoek op API).
  3. Klik op API-keys of Sleutels beheren.
  4. Genereer een nieuwe key. Geef hem een herkenbare naam, bijvoorbeeld “WooCommerce productie”.
  5. Kopieer de key direct. Sluit de pagina niet voor je hem hebt opgeslagen; sommige portals tonen hem maar één keer.

Plak die key in je WordPress-instellingen onder de PostNL-plugin. Test direct met “Verbinding testen” of een vergelijkbare knop. Krijg je een groene OK-melding, dan staat de techniek.

Adrescheck en levertijden inschakelen

PostNL biedt een aantal slimme extra’s die je in de plugin kunt aanzetten:

Adresvalidatie tijdens checkout. De plugin controleert tijdens het afrekenen of het opgegeven adres bestaat en geeft een correctie als de postcode niet bij het huisnummer past. Dat scheelt mislukte bezorgingen en klantenservice-tickets. Aanzetten onder de instellingenpagina, optie “Adrescheck”.

PostNL bezorgopties tonen. Standaardlevering, avondlevering, ophalen bij PostNL-punt, een specifieke dag of tijdvak. De plugin laat de klant deze opties kiezen in checkout, mits je contract die bezorgopties dekt. Niet elk PostNL-contract heeft alle opties, dus check je tarievenoverzicht eerst.

Track-and-trace automatisch versturen. Zodra een label is aangemaakt en aangeboden, wordt een T&T-nummer aan de order gekoppeld. WooCommerce kan dat automatisch in de “Order is verzonden” e-mail meesturen. Configureerbaar onder de plugin-instellingen.

Internationale verzendingen. Voor verzending buiten Nederland heeft PostNL aparte producten (Tracked & Insured, Standard International). Die zet je per land aan, met de juiste douaneformulieren als je naar landen buiten de EU stuurt.

De orderflow in de praktijk

Met alles ingesteld ziet een typische dag er zo uit:

Order komt binnen om 09:14. Klant heeft “Standaard bezorging” gekozen en een geldig adres opgegeven (validatie groen). Je opent de order in WooCommerce. In de zijbalk staat een PostNL-blok met “Label aanmaken”. Eén klik, een paar seconden, en je krijgt een PDF met het verzendlabel. Print, plak, klaar voor de PostNL-rijder.

De order krijgt automatisch een track-and-trace-nummer. De klant ziet het in de “Verzonden”-mail. Als de PostNL-rijder het pakket scant, gaat de status door in PostNL’s eigen tracking, en dat zien zowel jij als de klant terug.

Voor shops met veel orders is er een bulk-label-modus: vink twintig orders aan, klik “Labels aanmaken”, en de plugin genereert één PDF met twintig labels achter elkaar. Vijf minuten werk in plaats van een uur.

PostNL verzendlabel met barcode en QR-code op een pakket na automatische generatie via WooCommerce

Veelgemaakte fouten en hoe ik ze oplos

Een paar dingen die in mijn werk regelmatig terugkomen.

API-key werkt niet. Negen van de tien keer is dit een typfout of een spatie aan begin of einde van de key. Open de plugin-instellingen, knip de key opnieuw, plak hem direct uit de portal. Werkt het nog steeds niet, check dan of je niet de sandbox-key in productie probeert te gebruiken (of andersom).

Adressen worden afgekeurd voor levering naar België. PostNL heeft voor België een aparte productcode en soms een ander contract nodig. Check in het Business Portal of je internationale verzendingen daadwerkelijk in je contract zitten. Zo niet, dan moet je dat aanvragen.

Label-generatie geeft fout 401. Authenticatie-fout. API-key niet meer geldig, of je IP-adres staat niet op de whitelist als je die hebt ingesteld. Genereer een nieuwe key en update de instellingen.

Track-and-trace komt niet in de klant-mail. De plugin moet expliciet de WooCommerce-mailtemplate aanpassen, en dat doet hij niet altijd automatisch. Check onder WooCommerce > Instellingen > E-mails of de “Order voltooid”-template een track-and-trace-placeholder bevat. Zo niet, dan voeg je die handmatig toe, of je gebruikt een transactional email plugin.

Bulk-print loopt vast. Bij zeer grote batches (boven 100 labels) kan de PDF-generatie de PHP-tijdslimiet overschrijden. Verhoog max_execution_time op je hoster, of splits in batches van 50.

Wanneer je naar een verzendplatform gaat

De officiële PostNL-plugin werkt prima als PostNL je enige verzender is. Veel shops verzenden alleen via PostNL, en dan is dit de meest directe route.

Heb je meerdere verzenders nodig (PostNL plus DHL voor Duitsland, plus DPD voor pakketten boven 30 kilo), dan loont een verzendplatform. De twee die ik het meest tegenkom:

Sendcloud. Nederlandse aanbieder, integreert met WooCommerce via een eigen plugin. Ondersteunt PostNL, DHL, DPD, UPS, GLS en internationale verzenders. Tariefstructuur per verzending, soms gunstiger dan een direct contract. Goede klant-bezorgportal en automatische retourflow.

MyParcel. Vergelijkbaar concept, ook Nederlands, sterk in lokale verzenders. Plugin-integratie is uitstekend. Tarieven afhankelijk van volume.

Beide platforms onderhandelen tarieven met de verzenders en jij verzendt onder hun contract. Voor kleine en middelgrote shops is dat vaak voordeliger dan een eigen contract met PostNL. Voor grote shops met een vast volume blijft een direct PostNL-contract meestal de scherpste keuze.

De Sendcloud-website en MyParcel-website hebben tariefcalculators waar je je verwachte volume kunt invoeren om te zien wat past.

Verzendkeuze

PostNL-plugin, Sendcloud of MyParcel?

Tik aan wat voor jou telt. De tabel licht de punten uit en laat zien welke optie het best past.

Op basis van je keuzes: Tik aan wat voor jou telt.

Indicatie op basis van je keuze. Prijzen en features verschillen per aanbieder, controleer ze actueel.

PuntPostNL-pluginPast nuSendcloudPast nuMyParcelPast nu

Interactieve versie, zet JavaScript aan. Hieronder staat de statische vergelijking.

PuntPostNL-pluginSendcloudMyParcel
Vervoerdersalleen PostNLmeerdere carriersmeerdere carriers
Kostengratis plugin (PostNL-contract apart)gratis basis, daarna betaaldper label of abonnement
Setupsimpel, één koppelinguitgebreid dashboardshipping-dashboard
Retourenbasaalsterksterk
Past bijalleen PostNL, klein tot middel volumemeerdere vervoerders of hoger volumemeerdere vervoerders, veel retouren

Het werkt ook op andere shops

Voor Shopify werkt PostNL via een eigen Shopify-app, met dezelfde structuur. Voor een custom Laravel- of HubSpot-shop bouw je de koppeling via de PostNL REST API. Dat is werk dat ik regelmatig doe; de API is goed gedocumenteerd en de logica blijft hetzelfde: order ophalen, label aanvragen, track-and-trace terugschrijven, klant informeren.

Wat verschilt is de plek waar je de knop “Label aanmaken” zet en hoe je de label-PDF beheert. In WooCommerce zit dat in de order-zijbalk. In een eigen systeem zit het op de plek die voor jouw flow logisch is.

Voor meer over webshop-optimalisatie zie webshop optimalisatie. Het bijbehorende artikel over BTW en verzending binnen Europa staat onder WooCommerce btw en OSS instellen.

Serhii Lypii
Gratis meedenken

PostNL-koppeling laten opzetten

Stuur me je shop-URL, welke verzender(s) je gebruikt en ongeveer hoeveel orders je per maand verstuurt. Ik kijk wat past (eigen contract of een platform als Sendcloud), bekijk je orderflow en mail terug met een korte raming.

Vraag een verzendkoppeling aan
Vond je dit nuttig? Deel het:
FAQ

Vragen die shopeigenaren stellen

Kan ik PostNL koppelen zonder een zakelijk contract?
Nee. Voor API-toegang heb je een zakelijk PostNL-contract nodig. Het standaard consumentenaccount (om losse pakketten via post.nl te versturen) ondersteunt geen koppelingen.
Wat kost een PostNL-contract met API-toegang?
Geen vast bedrag. Tarief hangt af van je verwachte volume en het type pakketten. Voor kleine shops onder de 50 pakketten per maand zijn de Sendcloud- of MyParcel-tarieven vaak gunstiger dan een eigen contract.
Werkt de PostNL-plugin samen met mijn cache-plugin?
Meestal wel, maar checkout-pagina's mogen nooit gecached worden. Sluit /cart/, /checkout/, /my-account/ uit van je cache. Doe je dat niet, dan kunnen verzendopties of adresvalidatie verkeerd worden weergegeven aan klanten.
Wat als een verzendlabel mislukt en ik heb het al geprint?
Als het label is aangemaakt en aan een order gekoppeld, maar nog niet door PostNL is gescand, kun je het binnen 24 uur via het Business Portal annuleren. Daarna betaal je voor de verzending, ook al heb je het pakket nooit aangeboden.
Kan ik handmatig een verkeerd label verbeteren?
Niet via de plugin. Een onjuist label moet je via het PostNL Business Portal annuleren en opnieuw aanmaken. In WooCommerce verwijder je het bestaande T&T-nummer en genereer je een nieuw label.
Werkt dit ook voor brievenbuspakketten?
Ja. Brievenbuspakket is een aparte productcode binnen PostNL en moet in je contract zitten. In de plugin kies je dat als verzendoptie per order, of stel je het in als standaard voor producten onder een bepaald gewicht of bepaalde afmetingen.
Serhii Lypii
Over de auteur

Serhii Lypii

Freelance webmaster · Terneuzen

Sinds 2012 werk ik met websites en leverde ik ruim 210 projecten op. Ik help mkb-ondernemers met onderhoud, snelheid, beveiliging en praktische automatisering. Nuchter, zonder hype.

Ik schreef dit artikel op en werkte het voor het laatst bij op .

Meer over Lypii
Even sparren over je site?

Loop je ergens tegenaan of twijfel je over je site? Ik denk graag mee — kies hieronder hoe je contact opneemt.

Reactie binnen 4 uur op werkdagen
Navigatie
Home Over mij Kennisbank
Contact
+31 6 39 56 93 03 serhii@lypii.nl WhatsApp
Stuur een bericht