- Home
- Apps
- Multichannel & PIM Tools
- PostNL Shipping Connector for Odoo
Illustrative previewBuild-to-order PostNL connector for Odoo: live rates, labels, tracking, cancellation & pickup points.
Built and supported by ECOSIRE.
What is PostNL Shipping Connector for Odoo?
Build-to-order PostNL connector for Odoo: live rates, labels, tracking, cancellation & pickup points. Built and supported by ECOSIRE. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- Odoo Compatibility
- Odoo 17, Odoo 18, Odoo 19
- Editions
- Enterprise & Community
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- PostgreSQL 12+
About this Product
PostNL Shipping Connector is a build-to-order Odoo module engineered by ECOSIRE for Netherlands and Benelux e-commerce sellers who ship with PostNL. This is not an instant download from apps.odoo.com — our engineers scope it against your PostNL contract, build it, install it on your Odoo 17, 18 or 19 instance, and support it. Typical delivery is one working week from a signed brief and PostNL API credentials.
The module wires PostNL's official APIs directly into your Odoo Inventory and delivery workflow. It ships as a proper Odoo addon with its own __manifest__.py declaring dependencies on delivery and stock, a delivery.carrier extension exposing postnl as a rate-and-ship delivery method, dedicated models.Model classes for shipments and tracking events, and computed fields that keep rate and status data in sync via @api.depends. Every capability is surfaced through native Odoo — the standard delivery-method picker on the sale order, a Generate Labels button on the stock.picking (delivery order), and a tracking reference that customers see on their portal.
Live rating happens at checkout and on the sale order: when a customer picks PostNL, the connector calls PostNL's rate service with the shipment's weight, dimensions and destination and returns the correct product tariff (domestic parcel, mailbox parcel, evening delivery, EU and international). Once the warehouse validates the delivery order, the module requests a shipment from PostNL, stores the returned barcode/track-and-trace code on the picking, and attaches the print-ready label (PDF, generated through PostNL's labelling endpoint) as an ir.attachment ready for the packing station. If an order is cancelled before handover, one click calls PostNL's cancellation flow and voids the label so you are not billed. A scheduled automated action (ir.cron) polls PostNL's status API and writes delivery events back to Odoo, updating the tracking timeline and — optionally — firing the order-status email to the buyer.
Security is done the Odoo way: access rights are declared in ir.model.access.csv and record rules keep shipment data scoped to the right company in a multi-company setup, so warehouse users can print labels without seeing your PostNL API secret. Credentials live in encrypted system parameters, and all PostNL calls are logged for audit and troubleshooting. Because we build to your spec, we can also expose the connector over Odoo's XML-RPC/JSON-RPC API so an external OMS or marketplace bridge can request labels programmatically.
The build supports both Community and Enterprise (rate-at-checkout on the eCommerce website requires the Website Sale flow; back-office rating and labelling work on either edition). You get the full source, so there is no black box and no per-label SaaS surcharge on top of your PostNL contract. ECOSIRE handles installation, sandbox testing against PostNL's test environment, go-live cutover and a post-launch support window.
What you get
- Complete, documented Odoo module source (addon with __manifest__.py, models, views, security, cron) for Odoo 17, 18 and 19
- Installation and configuration on your Odoo instance, including PostNL API credential setup and sandbox-to-production cutover
- Delivery-method and PostNL product-code configuration mapped to your actual PostNL contract (domestic, evening, pickup, EU, international)
- Sandbox testing evidence: sample rate quotes, generated labels and cancellation runs against PostNL's test environment
- Admin and warehouse-user documentation covering rating, label printing, cancellation and tracking workflows
- A live handover/training session for your fulfillment team plus a written go-live checklist
- A post-launch support window (bug fixes and PostNL API adjustments) with defined response terms
- Compatibility statement and upgrade notes so the module can be carried forward on future Odoo versions
Who this is for
Benelux Odoo E-commerce Manager
Runs a Netherlands or Belgium online store on Odoo Website Sale and needs accurate PostNL rates at checkout plus one-click labels from the delivery order, without exporting orders to a separate shipping tool.
Warehouse & Fulfillment Lead
Validates delivery orders in Odoo Inventory all day and wants to print PostNL labels, drop tracking numbers onto pickings and cancel mistaken shipments directly from the stock.picking screen — no copy-paste into the PostNL portal.
Cross-border DTC Seller
Ships from the Netherlands into Germany, Belgium and the wider EU and needs the connector to pick the right PostNL international product, capture customs fields and give buyers pickup-point and evening-delivery choices.
Odoo Operations / IT Owner
Owns the Odoo instance (Community or Enterprise, self-hosted or Odoo.sh) and wants a maintainable, source-available module with proper ir.model.access security, encrypted credentials and an audit log — not a black-box SaaS add-on.
How PostNL Shipping Connector for Odoo Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Live PostNL rates at checkout and on the sale order | Included | Possible but you build the PostNL API integration yourself | Sometimes, but tied to a generic multi-carrier layer | Not included |
| One-click PostNL label PDF from the delivery order | Included | Only if you code the labelling endpoint call | Often gated behind a paid tier or SaaS add-on | Not included |
| Shipment cancellation that voids the PostNL label | Included | Rarely built — usually manual in the PostNL portal | Partial support | Not included |
| Automated tracking sync back into Odoo (ir.cron) | Included | You must design and schedule the polling job | Partial support | Not included |
| Pickup points, evening delivery and EU/international products | Included | Each option is extra bespoke work | Varies by module; often partial | Not included |
| Full source you own, no per-label SaaS surcharge | Included | Yes, but at full in-house build cost | Usually no — locked module or per-shipment fees | n/a |
| Built, installed and supported for Odoo 17/18/19 | Included | Only if you staff Odoo engineers | Self-install; support quality varies | Included |
| Odoo-native security (ir.model.access.csv + record rules, encrypted keys) | Included | Depends on your team's rigor | Partial support | Included |
Frequently Asked Questions about PostNL Shipping Connector
How long until the PostNL connector is live on my Odoo?
This is a build-to-order module, not an instant download. After you send a signed brief and your PostNL API credentials, typical delivery is one working week: we scope against your PostNL contract, build the addon, test it in PostNL's sandbox, then install and cut over to production on your Odoo 17, 18 or 19 instance. A tighter timeline is sometimes possible for a standard domestic-only scope — ask us.
What support and updates are included after go-live?
Every build includes a post-launch support window covering bug fixes and adjustments if PostNL changes their API during that period. You receive the full module source, so nothing is locked behind a subscription. Beyond the included window we offer ongoing support and Odoo-version upgrade retainers, and because the code is yours your own team or any Odoo partner can maintain it.
Does it need Odoo Enterprise, or does Community work?
The core rating, labelling, cancellation and tracking all run on Odoo Community. Rate-at-checkout on your public eCommerce site uses the Website Sale flow. We confirm your edition (Community or Enterprise) and hosting — self-hosted or Odoo.sh — during scoping and build against it.
Do I still need my own PostNL account and contract?
Yes. The connector uses PostNL's official APIs with your merchant credentials and your negotiated tariffs — we do not resell shipping. You keep your direct PostNL contract and billing; the module simply automates rating, labels, cancellation and tracking inside Odoo. There is no per-label surcharge from us.
Can it handle pickup points, evening delivery and international shipments?
Yes. Buyers can select a PostNL pickup (retail) location or an evening-delivery slot at checkout, and the module maps each choice to the correct PostNL product code. International and EU shipments are supported with the required customs data fields, and mailbox-parcel versus standard-parcel logic is driven by weight and dimensions to pick the cheapest valid tariff.
How is it built inside Odoo — is it a proper module?
It is a standard Odoo addon: a __manifest__.py declaring dependencies on delivery and stock, a delivery.carrier extension that registers 'postnl' as a rate-and-ship method, custom shipment and tracking models with @api.depends computed fields, an ir.cron for status polling, QWeb-based dispatch emails, and security via ir.model.access.csv plus multi-company record rules. Credentials are stored encrypted, and every PostNL call is logged for audit.
Related Modules

Palletized Freight Network Shipping Integration
A build-to-order Odoo integration that connects your delivery workflow to a European palletized freight distribution network, automating consignment booking, label and manifest generation, and shipment tracking straight from the sales and inventory flow. ECOSIRE builds, installs, and supports it for your Odoo 17/18/19.

Pick-Pack-Ship Workflow for Odoo
Barcode-verified packing station for Odoo with cartonization and one-click carrier labels. Built to order for Odoo 17, 18 & 19.
PostNL Shipping Connector
Build-to-order PostNL connector for Odoo: live rates, labels, tracking, cancellation & pickup points. Built and supported by ECOSIRE.
- PostNL live rate quotation on the sale order and website checkout, calling PostNL's tariff API with real weight, dimensions and destination
- Automatic shipment registration and print-ready PDF label generation from the Odoo delivery order (stock.picking) via PostNL's labelling endpoint
- One-click shipment cancellation that voids the PostNL label before handover so you are never billed for unused labels
- Track-and-trace barcode written back to the picking and shown on the customer's Odoo portal order page

