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.
Carrier label
1.2 kg
- 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
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.
Your operations cover orders, barcode checks, and label creation.
Prepares shipment data and prints the PostNL label at packing.
Parcel handed over to PostNL.
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.
myFulfillment runs the picking, PostNL prints the label
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 featureThe 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 featureFor 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 featurePostNL 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 featureFor 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- Pickup pointsvia API
What syncs, and when
| Data | When |
|---|---|
| In | |
| Order, address and items from the sales channel | at the connected channel's documented frequency |
| PostNL label PDF and barcode | when PostNL confirms the label request |
| PostNL parcel status | whenever the connector queries the shipment |
| Out | |
| Recipient, contacts, weight, service and order reference | when the PostNL label is requested |
| Selected PostNL pickup-location code | with an implemented pickup service |
| Tracking number to the connected channel | through that channel's shipping-confirmation flow |
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.
- 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
- 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
| Solution | PostNL label at the packing station | Orders from several stores and marketplaces | Selected pickup location on the label | PostNL parcel status in the operational flow | Configured multi-carrier rate comparison | Barcode check before the label | Existing PostNL contract retained | Software 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
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.
The connector sends the recipient, parcel weight, selected PostNL product and order reference, retrieves the PDF labels and confirms the shipment with its barcode.
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.
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.
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.
3 carrier portals. Copy-paste every address. 2 hours per day lost.
One screen, 60+ carriers, 50 labels in 30 seconds.
Read the full storyConnect 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.
Connect PostNL to myFulfillment, step by step
- 1Open a PostNL business account and request your API key from Mijn PostNL Zakelijk.
- 2In the Boostmyshop module, enter the PostNL API key, customer code, customer number and collection location.
- 3Map your shipping methods to the supported PostNL services and enter the prices from your contract rate table.
- 4Test one home-delivery order and, if you use it, one pickup-point order to check the address and service sent.
- 5Generate the label, check the stored barcode and query the status before enabling the regular flow.
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.
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.
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

