PostNL integration for labels, tracking and pickup points

Connect PostNL to myFulfillment to generate parcel labels at packing, store each barcode, retrieve PostNL shipment statuses and carry a selected pickup point into the label request. The direct integration uses your PostNL business account while the OMS and WMS keep connected sales channels in one preparation flow.

The integration at a glance
Boostmyshop product
myFulfillment
Category
Carriers
Connects
Supported PostNL services in the Netherlands, to Belgium, across Europe and internationally
Account required
PostNL business account · API key, customer code and number, collection location
Integration cost
Included with myFulfillment · Boostmyshop module
Sync frequency
On demand: label at packing, status when queried
Data direction
Shipment data to PostNL · label, barcode and status returned
Developed by
Boostmyshop (direct integration)
Supported by
Boostmyshop
Sovereignty
PostNL, a Dutch company (European Union)
Vendor
PostNL
Last updated
2026-09-12
Overview

How PostNL fits with myFulfillment

What is PostNL?

PostNL is the Dutch postal and parcel operator. Its business services cover domestic shipments, lanes from the Netherlands to Belgium, European parcels and international mail products. The direct Boostmyshop integration does a narrower, verifiable job: it prepares PostNL label requests from shipment data, retrieves the PDF and barcode, looks up an already selected pickup location for two supported services, and reads parcel status. myFulfillment supplies the operational layer around that exchange: orders from connected channels, warehouse preparation, scan control and comparison of configured carrier rates.

myFulfillment
Your operations

Your operations cover orders, barcode checks, and label creation.

OMSWMS
for shipping
The integration
PostNL
PostNL

Prepares shipment data and prints the PostNL label at packing.

shipment handed over
PostNL
Delivery

Shipment handed over to PostNL.

Tracking number returned to your store

PostNL with Shopify, WooCommerce, PrestaShop and other channels

PostNL does not import store orders by itself. A connected sales channel feeds myFulfillment first; the warehouse then selects a supported PostNL service, requests the label and keeps the barcode with the shipment. Tracking numbers can be returned through the connected channel's shipping-confirmation flow.

What it does

myFulfillment runs the picking, PostNL prints the label

myFulfillment
ReadySync…
PostNL
From
Zone 3
To
A-01
1.2 kg • Standard
TRK-8829A
Print
Printed

At the packing station, the Boostmyshop module generates a barcode for each parcel, sends PostNL the address, weight, service and order reference, then merges the returned PDFs before confirming the shipment.

See the feature
Label
TrackingTRK-8922X
TRK-8922X
#ORD-902
Pending
Shipped

The PostNL barcode is stored with the shipment. When queried, the integration retrieves the PostNL timestamp and message, then maps the received code to an operational state: new, in transit, delivered, available for pickup, collected or in error.

PostNL status to myFulfillment whenever the integration queries it

See the feature
Rate preview
Example weight: 2.4 kg
Rate available€14.50
Example amount

For each supported PostNL service, myFulfillment uses the price stored in the carrier account. The TMS can compare that amount with other enabled services: this is your configured rate table, not a live PostNL quote.

See the feature
Store
Marketplace
OMS orders
ORD-4821Paid
Reserved
ORD-4822Paid
Reserved

PostNL is not the order source. A connected store or marketplace first sends the order into the OMS; when the operator selects PostNL during preparation, the address, items, weight and reference are already together for the label.

Order from the connected channel to the OMS at that channel's frequency

See the feature
Scan zone
Pending
Packing lane
Shipment
SKU-8829A
Ready to ship

For an order due to ship with PostNL, myFulfillment can match negative inventory against incoming purchase orders in a cross-docking flow. At packing, the scan blocks a wrong item before the Boostmyshop module requests the PostNL label.

See the feature
Partial or not covered
  • Pickup pointsvia API

What syncs, and when

DataWhen
In
Order, address and items from the sales channelat the connected channel's documented frequency
PostNL label PDF and barcodewhen PostNL confirms the label request
PostNL parcel statuswhenever the integration queries the shipment
Out
Recipient, contacts, weight, service and order referencewhen the PostNL label is requested
Selected PostNL pickup-location codewith a supported pickup service
Tracking number to the connected channelthrough that channel's shipping-confirmation flow
Diogo Monteiro

“For PostNL, I test the exact service code, the address sent and the returned barcode. A successful login alone does not prove the shipping flow.”

Diogo Monteiro•Integration Whiz
Our verdict

When PostNL is enough, and when myFulfillment makes the difference

Our operational assessment: PostNL provides the transport API; the Boostmyshop value is the controlled preparation around a deliberately narrow integration scope.

Strengths · Limits
Strengths
  • A direct integration that generates the PostNL label and stores the returned barcode
  • Carrier-status retrieval mapped to clear operational states
  • A selected pickup location carried into the label request for the two supported pickup services
Limits
  • Rate comparison uses the prices configured in your carrier account, not a live PostNL quote
  • The integration does not source orders: a store or marketplace integration must feed the OMS first
  • Platform features beyond that list are not driven by the integration

PostNL via myFulfillment

Recommended
PostNL label at the packing station
Supported
Orders from several stores and marketplaces
Supportedthrough connected channels
Selected pickup location on the label
Partially supportedfor two services with an already-selected location
PostNL parcel status in the operational flow
Supportedwhen queried
Configured multi-carrier rate comparison
Supported
Barcode check before the label
Supported
Existing PostNL contract retained
Supported
Software required
Yes, myFulfillment and the Boostmyshop module

PostNL via an in-house API integration

PostNL label at the packing station
Partially supportedwith your own PostNL development
Orders from several stores and marketplaces
Not supportedthe PostNL carrier API is not an OMS
Selected pickup location on the label
Partially supportedwith your own PostNL development
PostNL parcel status in the operational flow
Partially supportedwith your own PostNL development
Configured multi-carrier rate comparison
Partially supportedrequires your own PostNL comparison logic
Barcode check before the label
Not supportedthe PostNL API does not provide warehouse scan control
Existing PostNL contract retained
Supportedthe PostNL contract stays in use
Software required
Yes, your own PostNL API application

PostNL with a per-store plugin

PostNL label at the packing station
Partially supporteddepends on the PostNL plugin
Orders from several stores and marketplaces
Partially supportedone PostNL plugin per store
Selected pickup location on the label
Partially supporteddepends on the PostNL plugin
PostNL parcel status in the operational flow
Partially supporteddepends on the PostNL plugin
Configured multi-carrier rate comparison
Not supporteda single-store PostNL plugin does not compare every carrier
Barcode check before the label
Not supporteda PostNL shipping plugin does not provide WMS scan control
Existing PostNL contract retained
Supportedthe PostNL contract stays in use
Software required
Yes, one PostNL plugin for each store

Comparison based on the official documentation and myFulfillment docs. The limit is stated under the "Partial" badge; no rating, no sponsored placement.

See how the PostNL integration fits into your operations

In practice

How our customers use PostNL day to day

Day to day, PostNL becomes a shipping choice inside the same preparation flow as your other carriers. The operator does not rebuild the parcel on a separate portal: shipment data is already present when the label is requested, and the returned barcode remains attached to the order.

01
Print the PostNL label at packing

The integration sends the recipient, parcel weight, selected PostNL product and order reference, retrieves the PDF labels and confirms the shipment with its barcode.

02
Keep the selected pickup point on the parcel

For the supported Dutch and Belgian pickup services, myFulfillment uses the location code already carried by the order, looks up the PostNL address and injects it into the label request.

03
Bring PostNL status into the operational flow

An integration query retrieves PostNL's timestamp and status message, then maps the carrier code to an operational state such as in transit, available for pickup or delivered.

04
Compare the rate table you actually negotiated

myFulfillment makes the amount stored in your PostNL carrier account available to the TMS comparison. It does not present that value as a live public PostNL quote.

A comparable operation

3 carrier portals. Copy-paste every address. 2 hours per day lost.

One screen, 60+ carriers, 50 labels in 30 seconds.

Read the full story
Combinations

Connect PostNL to your other tools, via myFulfillment

myFulfillment sits in the middle, so PostNL works with any sales channel that feeds it: every order comes in from a channel, leaves with the right PostNL label, and tracking flows back to the customer. A few live pairings below.

ShopifyPostNL

Shopify × PostNL

Your Shopify store orders are prepared in myFulfillment; the PostNL label is printed during packing; tracking is pushed back to the store to notify the customer.

Guide
AmazonPostNL

Amazon × PostNL

Amazon orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to Amazon within its deadline.

Guide
AuchanPostNL

Auchan × PostNL

Auchan orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to Auchan within its deadline.

Guide
BigCommercePostNL

BigCommerce × PostNL

Your BigCommerce store orders are prepared in myFulfillment; the PostNL label is printed during packing; tracking is pushed back to the store to notify the customer.

Guide
BUTPostNL

BUT × PostNL

BUT orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to BUT within its deadline.

Guide
CarrefourPostNL

Carrefour × PostNL

Carrefour orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to Carrefour within its deadline.

Guide
CastoramaPostNL

Castorama × PostNL

Castorama orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to Castorama within its deadline.

Guide
CdiscountPostNL

Cdiscount × PostNL

Cdiscount orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to Cdiscount within its deadline.

Guide
ConforamaPostNL

Conforama × PostNL

Conforama orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to Conforama within its deadline.

Guide
CulturaPostNL

Cultura × PostNL

Cultura orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to Cultura within its deadline.

Guide
DecathlonPostNL

Decathlon × PostNL

Decathlon orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to Decathlon within its deadline.

Guide
E.LeclercPostNL

E.Leclerc × PostNL

E.Leclerc orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to E.Leclerc within its deadline.

Guide
Fnac / DartyPostNL

Fnac / Darty × PostNL

Fnac / Darty orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to Fnac / Darty within its deadline.

Guide
Galeries LafayettePostNL

Galeries Lafayette × PostNL

Galeries Lafayette orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to Galeries Lafayette within its deadline.

Guide
GrouponPostNL

Groupon × PostNL

Groupon orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to Groupon within its deadline.

Guide
IBS.itPostNL

IBS.it × PostNL

IBS.it orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to IBS.it within its deadline.

Guide
La RedoutePostNL

La Redoute × PostNL

La Redoute orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to La Redoute within its deadline.

Guide
Leroy MerlinPostNL

Leroy Merlin × PostNL

Leroy Merlin orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to Leroy Merlin within its deadline.

Guide
MagentoPostNL

Magento × PostNL

Your Magento store orders are prepared in myFulfillment; the PostNL label is printed during packing; tracking is pushed back to the store to notify the customer.

Guide
ManoManoPostNL

ManoMano × PostNL

ManoMano orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to ManoMano within its deadline.

Guide
MiraklPostNL

Mirakl × PostNL

Mirakl orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to Mirakl within its deadline.

Guide
PrestaShopPostNL

PrestaShop × PostNL

Your PrestaShop store orders are prepared in myFulfillment; the PostNL label is printed during packing; tracking is pushed back to the store to notify the customer.

Guide
Rue du CommercePostNL

Rue du Commerce × PostNL

Rue du Commerce orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to Rue du Commerce within its deadline.

Guide
TemuPostNL

Temu × PostNL

Temu orders are centralized in myFulfillment; the PostNL label is printed during packing; valid tracking is pushed back to Temu within its deadline.

Guide
Getting started

Connect PostNL to myFulfillment, step by step

  1. 1Open a PostNL business account and request your API key from Mijn PostNL Zakelijk.
  2. 2In the Boostmyshop module, enter the PostNL API key, customer code, customer number and collection location.
  3. 3Map your store shipping options to the supported PostNL services and enter the prices from your contract rate table.
  4. 4Test one home-delivery order and, if you use it, one pickup-point order to check the address and service sent.
  5. 5Generate the label, check the stored barcode and query the status before enabling the regular flow.
Before you connect

A PostNL business account and four values are required: API key, customer code, customer number and collection location. The integration covers label generation, barcode storage, status retrieval, configured rates and two pickup services. Other PostNL platform features are not available through the integration.

Quentin

“Run one home-delivery parcel and one pickup parcel before go-live. The selected location must still be the one printed on the label.”

Quentin•Integration Specialist
FAQ

PostNL: frequently asked questions

You need a PostNL business account, an API key, your PostNL customer code and number, and the collection location attached to the contract. The Boostmyshop module checks the connection during setup.

At packing, the integration generates a barcode for each parcel, builds the request with the recipient, contacts, weight, PostNL service and order reference, then calls the PostNL label endpoint. It merges the returned PDFs and confirms the shipment with the barcode.

The integration retrieves the PostNL status timestamp and description, then maps the carrier code to an operational state: new, in transit, delivered, available for pickup, collected or error. The refresh happens when the integration queries the parcel, not through a continuous feed.

Yes, within the two pickup services available in the integration: signed pickup in the Netherlands and pickup in Belgium. The order must already contain the selected location code; the integration looks up the address and inserts it into the label request.

myFulfillment does not query PostNL for a live quote. For each supported PostNL service, it reads the price configured in your carrier account. The TMS can compare that stored amount with those of other enabled services.

The list of supported services includes Dutch domestic home and mailbox products, lanes from the Netherlands to Belgium, European business and consumer services, several international mail products, and the two pickup services described above. What you can use still depends on your PostNL contract.

PostNL is the carrier, not the order source. Shopify, WooCommerce, PrestaShop or another connected channel sends the order to the myFulfillment OMS. PostNL is selected later for the shipment and label.

PostNL offers return and customs functions at the platform level; the integration does not drive them. Have the exact return and non-EU workflow confirmed for your contract before rollout.

Yes. The integration uses the API key, customer identifiers, collection location and configured rates from your existing PostNL business account. myFulfillment runs preparation around that contract; it does not replace PostNL as the carrier.

Keep exploring

Explore other integrations

PostNL covers shipping. Connect your sales channels and tools too.

PostNL integration for labels, tracking and pickup points

See it in your own setup