A native Frappe app that connects ERPNext to the DHL Express MyDHL API for live rate shopping, label and commercial-invoice generation, and real-time tracking straight from your Delivery Notes. Built to order, installed, and supported by ECOSIRE. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $249.00 USD; request a quote for a scoped proposal.

A native Frappe app that connects ERPNext to the DHL Express MyDHL API for live rate shopping, label and commercial-invoice generation, and real-time tracking straight from your Delivery Notes. Built to order, installed, and supported by ECOSIRE.
Sin pago ahora. Esto envía una solicitud de presupuesto a nuestro equipo; te responderemos por correo con precios y próximos pasos.
If you ship internationally with DHL Express, ERPNext leaves you doing the hardest part by hand. Stock ERPNext has a Shipment DocType and rudimentary parcel-service scaffolding, but no real DHL Express connectivity: no live rates at quote time, no label PDFs, no commercial invoice, no customs line data, and no tracking that flows back to the order. Teams end up re-keying every shipment into the MyDHL+ portal, copying tracking numbers into a Delivery Note comment, and reconciling freight cost after the fact. That double entry is slow, error-prone on HS codes and declared values, and it hides true landed shipping cost from your margins.
`DHL Express Settings` DocType holding MyDHL API credentials and per-`Company` account/pickup numbers, secrets stored with Frappe's encrypted password fieldtype
Live rate shopping via a `@frappe.whitelist()` server method, surfaced with a client script button on `Sales Order` and `Delivery Note` for all-in DHL quotes before commit
Label generation in both PDF (A4/A6) and ZPL for Zebra thermal printers, attached to the `DHL Shipment` DocType via the File API
Paperless commercial and proforma invoice generation from ERPNext item, tax, and incoterm data for dutiable shipments
Multi-piece shipment child table with per-piece weight and L×W×H dimensions mapped to the DHL pieces array
Customs line data (HS/tariff code, country of manufacture, declared value/currency) pulled from `Item` customs fields and validated before booking
ECOSIRE builds a proper Frappe app — its own module with versioned migrations, not a pile of loose customizations — that wires ERPNext directly into the DHL Express MyDHL API. We add a DHL Express Settings DocType for OAuth/account credentials and per-Company account numbers (encrypted via Frappe's password fieldtype), plus a DHL Shipment DocType that links back to the source Delivery Note and Sales Order. Rate shopping is exposed through a whitelisted method (@frappe.whitelist()) and a client script button so users see live, all-in DHL rates on the Sales Order or Delivery Note before they commit. On submit, hooks.py doc events call the MyDHL shipment endpoint to book the pickup, return the label as PDF or ZPL for thermal printers, generate the paperless commercial invoice from your item and customs data, and write the AWB and piece IDs back onto the record.
Tracking is closed-loop. We register a DHL webhook (or a scheduler event polling the tracking endpoint on a cron interval for accounts without push) that updates a status field and appends events to the timeline, so support and finance see delivery milestones without leaving ERPNext. Multi-piece shipments are modeled as a child table with per-piece weight and dimensions; dutiable shipments carry HS code, country of origin, and declared value pulled from the Item and its customs fields so the customs invoice validates on the first try. Everything respects ERPNext permissions — we ship a role profile so warehouse users can rate and print while only authorized staff can void or refund a shipment, and every API call is logged for audit.
Because this is build-to-order, you are not downloading a generic marketplace plugin and hoping it fits. We start with a short scoping call, confirm your DHL account structure, incoterms, item/customs data model, and print workflow, then build against Frappe/ERPNext v15 (and v16 where you are already on it). Typical delivery is 2 to 4 weeks from confirmed scope. You get the installable source, a staging UAT, a documented go-live, and the git repository handed to you — no lock-in, no black box.
Runs international fulfillment on ERPNext and is tired of re-keying every parcel into MyDHL+. Needs live rates at order time, one-click labels, and tracking inside ERPNext so the warehouse stops copy-pasting AWB numbers.
Wants true landed freight cost captured on the Delivery Note and Sales Order for margin reporting, plus an audit trail of every DHL API call and a clean customs invoice that clears on the first attempt.
Needs a properly structured Frappe app — not loose customizations — that survives `bench migrate`, respects role permissions, and ships with source and docs so it can be maintained on v15/v16 in-house.
Prints dozens of labels a day and needs ZPL output on Zebra printers, multi-piece support with per-box dimensions, and a status field showing which shipments are booked, in transit, delivered, or in exception.
Compre la licencia en ecosire.com y descargue la aplicación ZIP de DHL Express Shipping Connector for ERPNext desde el panel de su cuenta.
Extraiga el ZIP en la carpeta de aplicaciones de su banco o ejecute `bench get-app` con la ruta a la aplicación extraída.
Ejecute `bench --site SITE_NAME install-app APP_NAME` seguido de `bench migrar` para instalar DHL Express Shipping Connector for ERPNext y aplicar su esquema.
Abra la configuración de licencia de ECOSIRE en su sitio y active su clave de licencia. Requiere las aplicaciones gratuitas ecosire_connect y ecosire_license_client.
| Criterio | ECOSIRE | Construcción personalizada | Competidor | Odoo Nativo |
|---|---|---|---|---|
| Fit to your DHL workflow | Built to your accounts, incoterms, and print process from a scoping call | Fully bespoke but you own all analysis and risk | Generic feature set, fit whatever ships | |
| Live rates in ERPNext | All-in DHL rates on Sales Order / Delivery Note via whitelisted method | Possible, must be designed and built yourself | Sometimes, if the app exposes it | |
| Labels & customs docs | PDF + ZPL labels and paperless commercial invoice from item data | Whatever you scope and implement | Usually PDF label; customs invoice varies | |
| Tracking back into ERPNext | Webhook push with scheduler-poll fallback onto the timeline | Build the ingestion and polling yourself | Often status field only, limited events | |
| Source code & ownership | Full git repo handover, no lock-in | You own it entirely | Usually closed/licensed, no source | |
| Version support & upgrades | Built for v15/v16 as a migratable Frappe app, supported on request | You maintain compatibility yourself | Depends on vendor's release cadence | |
| Timeline | 2–4 weeks from confirmed scope | Weeks to months depending on team | Instant install, but integration/testing still on you | |
| Support model | Post-go-live window + optional retainer from the team that built it | Internal team or contractor dependent | Vendor tickets, generic priority |
No. This is a build-to-order product. ECOSIRE builds the DHL Express connector against your ERPNext version and DHL account structure, then installs and supports it. There is no instant download — every engagement starts with a scoping call to confirm your DHL accounts, incoterms, item/customs data, and print workflow.
Typical delivery is 2 to 4 weeks from confirmed scope. The exact timeline depends on how many DHL products/services you use, your customs data readiness, and any multi-company or multi-currency requirements. We give you a firm estimate after the scoping call and deliver on a staging bench for UAT before go-live.
We build for Frappe/ERPNext v15, and v16 where you are already running it. The app ships as a standard Frappe app with versioned patches, so it survives `bench update` and `bench migrate`. Tell us your exact version at scoping and we target it directly.
You need a DHL Express business account and access to the MyDHL API (the modern REST API that replaces the legacy XML-PI/SOAP services). We configure your API key/secret and account numbers per Company inside a `DHL Express Settings` DocType, with credentials stored using Frappe's encrypted password fieldtype. We build and test against DHL's sandbox first, then switch to production.
Where your DHL account supports push notifications, we register a webhook that lands on a whitelisted endpoint and updates the shipment status and document timeline in real time. For accounts without push, we run a Frappe scheduler event on a cron interval that polls the DHL tracking endpoint. Either way, milestones appear on the `DHL Shipment` and its linked `Delivery Note` without anyone leaving ERPNext.
Every build includes a post-go-live support window for bug fixes and configuration adjustments. Because you receive the full git repository and source, your team can also maintain and extend the app independently. Beyond the included window, ECOSIRE offers ongoing support and enhancement retainers — including updates when DHL revises the MyDHL API or when you upgrade ERPNext.
Yes. Multi-piece shipments use a child table with per-piece weight and dimensions mapped to the DHL pieces array. Dutiable shipments pull HS/tariff code, country of manufacture, and declared value from your `Item` customs fields to generate a paperless commercial invoice that validates before booking, reducing customs holds and rejected labels.
A native Frappe app that connects ERPNext to the DHL Express MyDHL API for live rate shopping, label and commercial-invoice generation, and real-time tracking straight from your Delivery Notes. Built to order, installed, and supported by ECOSIRE.