Build-to-order Odoo module connecting DHL Express for live rates, PDF/ZPL labels, tracking and pickup booking on your delivery orders. One-time license from $249.00 USD for Odoo 17, 18, 19 — includes 12 months of updates and support.

Build-to-order Odoo module connecting DHL Express for live rates, PDF/ZPL labels, tracking and pickup booking on your delivery orders.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
This is a build-to-order Odoo module engineered, installed and supported by ECOSIRE — not an instant apps.odoo.com download. After purchase, our Odoo engineers build the DHL Express Shipping Connector against your database, your DHL Express account and your fulfillment workflow, then deploy it on Odoo 17, 18 or 19 (Community or Enterprise). Typical delivery is 2–4 weeks depending on scope.
Live DHL Express rate quotes via MyDHL API, shown directly on sale orders and delivery orders with transit time and product-code options (e.g. Express Worldwide, Economy Select)
Automatic air waybill and shipment label generation as Odoo attachments — PDF for laser printers and ZPL for Zebra thermal label printers, printed straight from the delivery order
Real-time shipment tracking: a scheduled cron / automated action polls DHL and posts status milestones (picked up, in transit, cleared customs, delivered) into the stock.picking chatter
Multi-piece and multi-package shipment support — split one delivery order into multiple parcels, each with its own dimensions, weight and piece/tracking ID stored on a dhl.express.shipment line
Pickup scheduling: book, amend or cancel a DHL courier pickup from Odoo, with confirmation number written back to the picking
Automated customs paperwork — commercial invoice and packing list rendered via QWeb with HS/commodity codes, incoterms, dutiable value and country of origin per line
The connector turns Odoo's native Inventory and Delivery flow into a full DHL Express control panel. It plugs into MyDHL API (DHL Express's official REST API) to pull live rates onto sale orders and delivery orders, generate compliant air waybills and labels, push customs paperwork, and stream tracking events straight back into the stock.picking chatter — so warehouse and customer-service teams never leave Odoo to ship internationally.
Under the hood we implement a proper Odoo delivery carrier: a new delivery.carrier provider (dhl_express) with its own rate, send, tracking and cancel methods, secure credential storage on res.company / res.config.settings, and a dhl.express.shipment model (models.Model) that stores the waybill number, piece IDs, label documents and status. Computed fields with @api.depends keep landed cost, billable weight (the greater of actual vs dimensional weight) and totals in sync. Access is locked down through ir.model.access.csv plus record rules so only shipping and inventory roles can create shipments or view rate logs. Labels are produced as attachments (PDF for laser and ZPL for Zebra thermal printers), and QWeb is used for the packing list and commercial invoice layouts. Automated actions and scheduled crons poll DHL for tracking updates and post them to the picking. Everything is exposed over Odoo's XML-RPC/JSON-RPC API too, so headless storefronts or a middleware layer can request rates and book shipments programmatically.
ECOSIRE handles the DHL onboarding gotchas that break most DIY builds: MyDHL API credential provisioning and account-number mapping, product/piece dimensional-weight rules, dutiable vs non-dutiable shipment logic, ISO country and currency mapping, HS/commodity codes on the commercial invoice, sandbox-to-production cutover, and rate-limit/retry handling. You receive clean, upgrade-safe code in your own repository, full documentation, a hand-over training session, and a warranty support window.
Runs Odoo-based order fulfillment shipping cross-border daily and needs DHL Express as a primary carrier — wants live rates at checkout and on delivery orders, one-click labels and automatic tracking so the warehouse never re-keys data into MyDHL.
Manages picking, packing and dispatch of multi-piece B2B shipments with customs paperwork. Needs dimensional-weight-correct quotes, commercial invoices, pickup booking and a clean audit trail — all inside Odoo, without a second shipping portal.
Owns the Odoo instance and cares about clean, upgrade-safe code, proper security (record rules, credential storage), multi-company DHL accounts and an XML-RPC/JSON-RPC surface for the storefront — not a black-box app that breaks on the next Odoo upgrade.
Buy the license on ecosire.com and download the DHL Express Shipping Connector for Odoo module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for DHL Express Shipping Connector for Odoo, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| DHL Express (MyDHL API) live rates on orders | Built in, on sale + delivery orders | Possible but you build the API layer | Sometimes; often generic or partial | |
| PDF + ZPL thermal label generation | Both, printed from Odoo | Must implement label handling yourself | Varies; ZPL often missing | |
| Multi-piece shipments + customs (commercial invoice) | Full multi-piece + QWeb customs docs | Significant custom work | Often single-piece or limited customs | |
| Real-time tracking synced into stock.picking | Automated cron posts milestones to chatter | You build polling + posting | Sometimes, quality varies | |
| Pickup scheduling from Odoo | Book/amend/cancel with confirmation | Extra build effort | Rarely included | |
| Fitted to your accounts, workflow & Odoo version | Built to spec for v17/18/19, your DHL accounts | Yes, but on your time and cost | Generic; you adapt to it | |
| Security: record rules + credential vault | ir.model.access.csv, record rules, secured creds | Depends on your implementation | Inconsistent | |
| Support window + source ownership | Warranty support + full source in your repo | You maintain everything | Vendor-dependent; upgrade lag risk |
No — this is a build-to-order module, not an instant apps.odoo.com download. After purchase, ECOSIRE's engineers build the connector against your database, DHL Express account and workflow, then install it. Typical lead time is 2–4 weeks depending on scope (number of DHL accounts, customs complexity, multi-company). You'll get a scoped timeline at kickoff and progress checkpoints along the way.
Every build includes a post-launch support window (warranty period) covering bug fixes, questions and adjustments if DHL changes the MyDHL API. Because you receive the full source in your own repository, your team can extend it too. We also offer optional extended support and maintenance retainers, and we test the module against your target Odoo version before handover.
Odoo 17, 18 and 19, on both Community and Enterprise. We implement a standard delivery.carrier provider and use only supported APIs (models/ORM, ir.model.access.csv, record rules, QWeb, automated actions), so the module stays upgrade-friendly. Tell us your exact version and edition at kickoff and we'll target it precisely.
Yes. You need an active DHL Express business account and MyDHL API access (API key/secret and account number). ECOSIRE helps you provision and wire in the credentials, map your account numbers, and switch from the DHL sandbox to production — but the DHL contract and negotiated rates remain yours.
Yes. The connector supports multi-piece/multi-package shipments (each parcel with its own dimensions, weight and tracking ID) and generates the commercial invoice and packing list via QWeb, with HS/commodity codes, incoterms, dutiable value and country of origin. Billable weight is computed as the greater of actual vs dimensional weight so your quotes match what DHL charges.
Yes. All functionality is available over Odoo's XML-RPC/JSON-RPC API, so a headless storefront, marketplace connector or middleware layer can request live DHL rates and book shipments without a user in the Odoo UI. We can scope specific integration endpoints for your stack during the build.
A DIY build means you own the entire DHL API surface — dimensional weight, dutiable logic, customs fields, rate limits, sandbox cutover and every future API change. A generic off-the-shelf module rarely maps to your exact accounts and customs rules and often lags Odoo/DHL updates. ECOSIRE ships production-tested, secured, documented code fitted to your workflow, plus a support window — without the black-box risk.
Build-to-order Odoo module connecting DHL Express for live rates, PDF/ZPL labels, tracking and pickup booking on your delivery orders.