- 首页
- Apps
- Multichannel & PIM Tools
- PostNL Shipping Connector for ERPNext
示意预览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.
什么是 PostNL Shipping Connector for ERPNext?
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 $999.00 USD; request a quote for a scoped proposal.
核心功能
按需定制,全程代劳
无需自行搭建——由 ECOSIRE 构建、安装并提供支持的可用应用。
- 1
您下单
以一次性构建价格开始。我们在启动时与您共同确定范围。
- 2
我们构建与安装
ECOSIRE 在您的 ERPNext 上构建、配置并安装。
- 3
上线 + 支持
约一个工作周内上线,并包含两周上线支持。我们交付的代码中的缺陷免费修复。
技术规格
- ERPNext 兼容性
- —
- 许可证
- 许可证需要确认
- Python 要求
- Python 3.10+
- 数据库
- MariaDB 10.6+
关于此产品
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.
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 one working week from confirmed scope.
你得到什么
- Installable source code for your ERPNext version (v15 or v16) — the complete `postnl_shipping` Frappe app
- Installation and configuration on your environment, including `PostNL Settings` credentials and sandbox validation
- Technical documentation: DocTypes, hooks, whitelisted methods, scheduler events and API mapping
- User guide plus a live training session for your fulfilment/warehouse team
- UAT on a staging bench against the PostNL sandbox, with a documented rollback plan
- Post-go-live support window for defect fixes and configuration adjustments
- Git repository handover with full commit history and branch/tag for your version
- Go-live checklist covering label hardware, product codes and production API cutover
这是给谁的
Benelux ecommerce fulfilment manager
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.
ERPNext system administrator / IT lead
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.
Operations / logistics director
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.
Cross-border seller shipping outside the EU
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.
PostNL Shipping Connector for ERPNext 如何比较
| 标准 | 伊科西尔 | 定制建造 | 竞争对手 | ERPNext 原生 |
|---|---|---|---|---|
| Delivery model | Build-to-order app built and installed for you in one working week | You hire/allocate a Frappe developer and manage the build | Instant download, but generic and may not fit your bench | Nothing to deliver — no PostNL support exists |
| 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 | Not available — manual in MijnPostNL |
| Parcel-point & evening delivery | Kies Gemak lookup + evening/signature product codes | Only if you scope and implement it | Rarely covers PostNL-specific delivery options | No concept of parcel points or delivery windows |
| 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 | No automated customs declaration |
| 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 | None — status re-typed by hand |
| ERPNext integration quality | Proper Frappe app: DocTypes, hooks, role profile, Error Log | Depends on your developer's discipline | Third-party quality varies, upgrade risk | N/A |
| Version fit & upgrades | Targeted at your v15/v16 bench, git handover | You own upgrade compatibility | Tied to vendor's release cadence | Ships with ERPNext core only |
| Support & ownership | Post-go-live support window; you own the full source | Fully your burden and cost | Vendor SLA; source usually closed | Community/self-support only |
关于PostNL Shipping Connector的常见问题
Is this an existing app I can download and install today?
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.
How long does delivery take?
Typical delivery is one working week 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.
Which ERPNext and Frappe versions are supported?
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.
Do I need my own PostNL account and API credentials?
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.
How does the customs declaration for non-EU shipments work?
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.
What support and updates do I get after go-live?
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.
Will it slow down or break my Delivery Note workflow?
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.
相关模块
PostNL Shipping Connector
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.
- `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



