A build-to-order Frappe app that wires PostNL's Send & Track API directly into your ERPNext Delivery Note and Shipment flow — labels, parcel-point and evening delivery, customs declarations, and automatic track & trace sync. ECOSIRE builds, installs, and supports it on your bench. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $249.00 USD; request a quote for a scoped proposal.

A build-to-order Frappe app that wires PostNL's Send & Track API directly into your ERPNext Delivery Note and Shipment flow — labels, parcel-point and evening delivery, customs declarations, and automatic track & trace sync. ECOSIRE builds, installs, and supports it on your bench.
अभी कोई भुगतान नहीं। यह हमारी टीम को एक कोटेशन अनुरोध भेजता है — हम कीमत और अगले चरणों के साथ ईमेल द्वारा संपर्क करेंगे।
Benelux merchants running ERPNext hit a wall the moment they need to fulfil through PostNL. ERPNext ships a generic Shipment DocType and a Delivery Note, but it has no concept of a PostNL barcode, a Kies Gemak parcel-point, an evening delivery window, or an EU customs (CN23) declaration. Warehouse teams end up copy-pasting order data into MijnPostNL or a spreadsheet, printing labels in a separate portal, and re-typing tracking codes by hand — slow, error-prone, and it leaves your ERPNext instance blind to the actual shipment status the customer sees.
`postnl_shipping` Frappe app with its own module, `PostNL Settings` single DocType (API key, customer code/number, collection location) and sandbox/production toggle
One-click label generation from a submitted Delivery Note or Shipment via a whitelisted server method calling the PostNL Send & Track (Shipping) API
A6 label PDF retrieved and attached to the source document as a Frappe File, ready for Zebra/thermal printing
`hooks.py` `doc_events` on Delivery Note `on_submit` with an idempotency guard so re-submission never double-books a barcode
Product-code support for standard parcel, evening delivery, signature-on-delivery, insured shipment, and return labels
Parcel-point (Kies Gemak) lookup and evening-delivery availability exposed to the fulfilment desk via client script + whitelisted method
The PostNL Shipping Connector closes that gap. It is a proper Frappe app (postnl_shipping) with its own module, DocTypes, and role profile, installed onto your bench alongside ERPNext. A PostNL Settings single DocType holds your API key, customer code, customer number, and collection location, with a sandbox/production toggle so we validate against PostNL's test environment before go-live. From a submitted Delivery Note or Shipment, a whitelisted server method calls the PostNL Send & Track (Shipping) API to generate the barcode, book the chosen product code (standard parcel, evening delivery, signature-on-delivery, insured, or return), and retrieve the A6 label PDF, which is attached straight to the document as a Frappe File and printed to your Zebra/label station.
Under the hood the app is built the Frappe way. A hooks.py doc_events handler on Delivery Note on_submit triggers label creation (guarded by an idempotency flag so re-submits never double-book), a PostNL Shipment child/linked DocType stores the barcode, product code, insured value and label reference, and a scheduler event polls the PostNL track & trace endpoint on a cron interval to update a delivery status field and write timeline comments — no manual status hunting. For non-EU destinations the connector assembles the customs declaration from your Item weights, HS/commodity codes and country of origin, so DHL/PostNL global-pack shipments clear without a separate form. Address validation, parcel-point lookup and evening-delivery availability are exposed to the fulfilment desk through client scripts and a whitelisted lookup method, and every PostNL role — who can book, who can only view tracking — is scoped through a dedicated role profile and DocType permissions.
Because this is a build-to-order engagement, nothing is a shrink-wrapped download. We start from a short scoping call to confirm your ERPNext version (v15 or v16), your PostNL contract product codes, your label hardware and your EU/non-EU split, then build the connector against your exact bench. You get the full app source, installation and configuration on your environment, UAT on a staging site with a rollback plan, a training session for your fulfilment team, and a post-go-live support window. Typical delivery is 2–4 weeks from confirmed scope.
Runs daily dispatch on ERPNext and PostNL and needs labels, parcel-point choice and tracking to live inside the Delivery Note instead of MijnPostNL, so the warehouse stops copy-pasting order data between systems.
Owns the bench and wants a clean, maintainable Frappe app — proper DocTypes, hooks, role profiles and Error Log visibility — that survives ERPNext upgrades rather than a pile of ad-hoc server scripts.
Cares that shipping-method choice (evening, signature, insured), customs paperwork and delivery status are captured accurately for every order and reportable inside ERPNext for SLA and cost control.
Sends parcels beyond the EU and needs CN23 customs declarations built automatically from Item HS codes and weights, so global-pack shipments clear without a separate manual form.
Buy the license on ecosire.com and download the PostNL Shipping Connector for ERPNext app ZIP from your account dashboard.
Extract the ZIP into your bench's apps folder, or run `bench get-app` with the path to the extracted app.
Run `bench --site SITE_NAME install-app APP_NAME` followed by `bench migrate` to install PostNL Shipping Connector for ERPNext and apply its schema.
Open the ECOSIRE License settings on your site and activate your license key. Requires the free ecosire_connect and ecosire_license_client apps.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Delivery model | Build-to-order app built and installed for you in 2–4 weeks | You hire/allocate a Frappe developer and manage the build | Instant download, but generic and may not fit your bench | |
| PostNL label generation | One-click A6 label from Delivery Note via Send & Track API | Whatever you spec and can build in-house | Often EU-carrier-generic, PostNL support partial | |
| Parcel-point & evening delivery | Kies Gemak lookup + evening/signature product codes | Only if you scope and implement it | Rarely covers PostNL-specific delivery options | |
| Customs (CN23) for non-EU | Auto-assembled from Item HS codes, weight and origin | Must be designed and coded from scratch | Varies; often a manual add-on | |
| Track & trace sync | Scheduler polls PostNL, updates status + timeline | Build your own polling job and status model | May offer basic tracking, not always synced back | |
| ERPNext integration quality | Proper Frappe app: DocTypes, hooks, role profile, Error Log | Depends on your developer's discipline | Third-party quality varies, upgrade risk | |
| Version fit & upgrades | Targeted at your v15/v16 bench, git handover | You own upgrade compatibility | Tied to vendor's release cadence | |
| Support & ownership | Post-go-live support window; you own the full source | Fully your burden and cost | Vendor SLA; source usually closed |
No. This is a build-to-order engagement. ECOSIRE builds the `postnl_shipping` connector against your specific ERPNext version and PostNL contract, then installs and supports it. There is no instant download — you receive the source and a working install once your build is complete.
Typical delivery is 2–4 weeks from confirmed scope. After a short scoping call we lock your ERPNext version, PostNL product codes and EU/non-EU requirements, then build, run UAT on staging, and go live. Timelines depend on your exact requirements and hardware.
We build and test against Frappe/ERPNext v15 and v16. We target your running version so the app installs cleanly on your bench and behaves predictably through routine `bench update` cycles.
Yes. You bring your PostNL business contract with your API key, customer code and customer number. We configure them in the `PostNL Settings` DocType and validate against the PostNL sandbox before switching to the production endpoint at go-live.
For destinations outside the EU the connector assembles the CN23 declaration automatically from your Item weights, HS/commodity codes and country of origin, and sends it with the shipment booking — so global-pack parcels clear without a separate manual form.
You get a post-go-live support window for defect fixes and configuration tweaks, plus the full git repository so your team (or ECOSIRE on a support retainer) can maintain it. If PostNL changes its API or you upgrade ERPNext, we can quote a maintenance update — you own the code and are never locked in.
No. Booking runs on `on_submit` with an idempotency guard so re-submissions never double-book, API failures are logged to the Error Log and are retryable rather than silent, and tracking updates run on a background scheduler — nothing blocks your dispatch team at the counter.
A build-to-order Frappe app that wires PostNL's Send & Track API directly into your ERPNext Delivery Note and Shipment flow — labels, parcel-point and evening delivery, customs declarations, and automatic track & trace sync. ECOSIRE builds, installs, and supports it on your bench.