Skip to main content
PostNL Shipping Connector for Odoo — Build-to-order PostNL connector for Odoo: live rates, labels, tracking, cancellation & p — 1/1Illustrative preview

Build-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

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
Scheduled tracking sync (ir.cron automated action) that polls PostNL status and updates the delivery timeline in Odoo
Pickup-point (PostNL retail location) selection so buyers can choose a nearby collection point at checkout
Evening and timed delivery options exposed as selectable PostNL products on the delivery method
International and EU shipment support with the correct PostNL product codes and required customs data fields
Mailbox parcel vs standard parcel logic driven by package weight and dimensions to pick the cheapest valid tariff
delivery.carrier extension registering 'postnl' as a native Odoo rate-and-ship delivery method alongside your other carriers
Custom shipment and tracking-event models (models.Model) with computed status fields kept fresh via @api.depends
Automated buyer notification email on dispatch and delivery events, using Odoo's mail templating (QWeb)
Encrypted storage of PostNL API credentials in system parameters with per-company record rules and ir.model.access.csv security
Sandbox/production environment toggle so you validate against PostNL's test API before go-live
Optional XML-RPC/JSON-RPC exposure so an external OMS or marketplace can request PostNL labels programmatically
Full label audit log of every PostNL request and response for troubleshooting and reconciliation

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 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

CriterionECOSIRECustom BuildCompetitorOdoo Native
Live PostNL rates at checkout and on the sale orderIncludedPossible but you build the PostNL API integration yourselfSometimes, but tied to a generic multi-carrier layerNot included
One-click PostNL label PDF from the delivery orderIncludedOnly if you code the labelling endpoint callOften gated behind a paid tier or SaaS add-onNot included
Shipment cancellation that voids the PostNL labelIncludedRarely built — usually manual in the PostNL portalPartial supportNot included
Automated tracking sync back into Odoo (ir.cron)IncludedYou must design and schedule the polling jobPartial supportNot included
Pickup points, evening delivery and EU/international productsIncludedEach option is extra bespoke workVaries by module; often partialNot included
Full source you own, no per-label SaaS surchargeIncludedYes, but at full in-house build costUsually no — locked module or per-shipment feesn/a
Built, installed and supported for Odoo 17/18/19IncludedOnly if you staff Odoo engineersSelf-install; support quality variesIncluded
Odoo-native security (ir.model.access.csv + record rules, encrypted keys)IncludedDepends on your team's rigorPartial supportIncluded

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.

Request a quote

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

Request a Quotation

Tell us about your PostNL Shipping Connector requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.