- Home
- Apps
- Multichannel & PIM Tools
- DHL Express Shipping Connector for Odoo
Illustrative previewBuild-to-order Odoo module connecting DHL Express for live rates,
PDF/ZPL labels, tracking and pickup booking on your delivery orders.
What is DHL Express Shipping Connector for Odoo?
Build-to-order Odoo module connecting DHL Express for live rates, PDF/ZPL labels, tracking and pickup booking on your delivery orders. 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
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 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
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 one working week from confirmed scope and access.
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.
What you get
- Custom Odoo module source code (the dhl_express addon) delivered to your Git repository, structured with __manifest__.py, models, views, security and QWeb reports — upgrade-safe and yours to keep
- Full installation and deployment on your Odoo 17, 18 or 19 environment (Community or Enterprise), including sandbox and production configuration
- DHL Express account integration setup: MyDHL API credentials wired in, account-number mapping, service/product-code and dutiable-shipment rules configured to your business
- ir.model.access.csv access rights and record rules configured for your shipping, inventory and customer-service roles
- Written documentation: an admin configuration guide, a warehouse operator how-to (rate → label → pickup → track), and technical notes for your in-house developers
- A live hand-over and training session for warehouse and customer-service staff, plus a recording
- Post-launch support window (warranty period) covering bug fixes, DHL API-change adjustments and questions
- Test evidence: end-to-end validation in the DHL sandbox (rate, label, tracking, cancel) and sign-off checklist before go-live
Who this is for
International E-commerce Fulfillment Manager
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.
B2B Operations / Warehouse Lead
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.
Odoo Administrator / IT Manager
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.
How DHL Express Shipping Connector for Odoo Compares
| 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 | Not available — no DHL Express provider |
| PDF + ZPL thermal label generation | Both, printed from Odoo | Must implement label handling yourself | Varies; ZPL often missing | No carrier label output |
| Multi-piece shipments + customs (commercial invoice) | Full multi-piece + QWeb customs docs | Significant custom work | Often single-piece or limited customs | Not supported |
| Real-time tracking synced into stock.picking | Automated cron posts milestones to chatter | You build polling + posting | Sometimes, quality varies | Manual — no carrier tracking sync |
| Pickup scheduling from Odoo | Book/amend/cancel with confirmation | Extra build effort | Rarely included | Not available |
| 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 | N/A |
| Security: record rules + credential vault | ir.model.access.csv, record rules, secured creds | Depends on your implementation | Inconsistent | N/A |
| Support window + source ownership | Warranty support + full source in your repo | You maintain everything | Vendor-dependent; upgrade lag risk | Core support only, no DHL feature |
Frequently Asked Questions about DHL Express Shipping Connector
How long does delivery take and is this an instant download?
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 one working week 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.
What support and updates do I get after go-live?
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.
Which Odoo versions and editions does it support?
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.
Do I need my own DHL Express account and API credentials?
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.
Can it handle customs paperwork and multi-piece international shipments?
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.
Can external systems request rates or create shipments programmatically?
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.
How is it different from just building it myself or using a free carrier module?
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.
Related Modules

Delhivery Shipping Connector for Odoo
End-to-end Delhivery integration for Odoo: shipment creation, AWB label print, live tracking, pincode check and COD reconciliation.

Delivery Base Module
A build-to-order foundation module that gives every Odoo shipping-carrier integration a shared, consistent base layer — rate abstraction, label storage, tracking hooks, and a common `delivery.carrier` extension pattern. ECOSIRE scopes, builds, installs, and supports it.

Dropship Automation & Vendor Routing for Odoo
Build-to-order Odoo module that auto-creates dropship POs, routes each line to the best vendor, and syncs tracking back to the customer.

Dropshipping & Supplier Fulfillment Automation
Auto-route dropship orders to the right supplier per SKU, send POs and feeds, sync stock and tracking, and reconcile margins in Odoo.
DHL Express Shipping Connector
Build-to-order Odoo module connecting DHL Express for live rates, PDF/ZPL labels, tracking and pickup booking on your delivery orders.
- 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