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 connector 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 connector 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 implemented 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.

parcel handed over
PostNL
Delivery

Parcel 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
Requires module Boostmyshop

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 connector 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 connector 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
Parcel
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 connector queries the shipment
Out
Recipient, contacts, weight, service and order referencewhen the PostNL label is requested
Selected PostNL pickup-location codewith an implemented 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 MonteiroIntegration Whiz
Our verdict

When PostNL is enough, and when myFulfillment makes the difference

Our operator's read: PostNL provides the transport API; the Boostmyshop value is the controlled preparation around a deliberately narrow connector scope.

Strengths · Limits
Strengths
  • A direct connector 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 implemented pickup services
Limits
  • Rate comparison uses the prices configured in your carrier account, not a live PostNL quote
  • The connector does not source orders: a store or marketplace integration must feed the OMS first
  • PostNL platform features not evidenced in the connector remain outside this page's capability matrix
SolutionPostNL label at the packing stationOrders from several stores and marketplacesSelected pickup location on the labelPostNL parcel status in the operational flowConfigured multi-carrier rate comparisonBarcode check before the labelExisting PostNL contract retainedSoftware required
PostNL via myFulfillmentRecommended
Supported
Supportedthrough connected channels
Partially supportedPartial, for two services with an already-selected location
Supportedwhen queried
Supported
Supported
Supported
SupportedmyFulfillment and the Boostmyshop module
PostNL via an in-house API implementation
Partially supportedPartial, requires your own PostNL implementation
Not supportedthe PostNL carrier API is not an OMS
Partially supportedPartial, requires your own PostNL implementation
Partially supportedPartial, requires your own PostNL implementation
Partially supportedPartial, requires your own PostNL comparison logic
Not supportedthe PostNL API does not provide warehouse scan control
Supportedthe PostNL contract stays in use
Supportedyour own PostNL API application
PostNL with a per-store plugin
Partially supportedPartial, depends on the PostNL plugin
Partially supportedPartial, one PostNL plugin per store
Partially supportedPartial, depends on the PostNL plugin
Partially supportedPartial, depends on the PostNL plugin
Not supporteda single-store PostNL plugin does not compare every carrier
Not supporteda PostNL shipping plugin does not provide WMS scan control
Supportedthe PostNL contract stays in use
Supportedone 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 connector 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 implemented 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

A connector 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
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
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
VeepeePostNL

Veepee × PostNL

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

Guide
WooCommercePostNL

WooCommerce × PostNL

Your WooCommerce 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
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.

FnacPostNL

Fnac × PostNL

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

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 shipping methods 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 confirmed connector scope covers label generation, barcode storage, status retrieval, configured rates and two pickup services. PostNL platform features outside that scope are not presented as Boostmyshop connector capabilities.

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.

QuentinIntegration Specialist
FAQ

PostNL: frequently asked questions

Pricing, contract, carriers, Shopify, pickup points, worldwide selling and shipping: answers on the PostNL integration.

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 connector 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 connector 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 connector queries the parcel; this page does not claim a continuous feed.

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

No live quote is claimed. For each supported PostNL method, myFulfillment reads the price configured in your carrier account. The TMS can compare that stored amount with other enabled services.

The implemented list 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 documents return and customs functions at platform level, but they are not used as connector claims on this page. Have the exact return and non-EU workflow confirmed for your contract before rollout.

Yes. The connector 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