Why Connect DHL to Odoo?
DHL is the world's largest international shipping carrier, serving 220+ countries. For Odoo businesses shipping internationally, DHL integration automates rate calculations, label generation, customs documentation, and tracking. This is especially valuable for eCommerce businesses and manufacturers with global supply chains.
DHL Services and APIs
| DHL Division | API | Best For |
|---|---|---|
| DHL Express | MyDHL API | International express, time-definite delivery |
| DHL eCommerce | eCommerce API | Lightweight international parcels |
| DHL Freight | Freight API | Palletized and LTL shipments |
| DHL Supply Chain | Custom integration | 3PL and warehouse management |
Setup Steps
1. DHL Developer Account
- Register at developer.dhl.com
- Create an application for MyDHL API access
- Obtain your DHL Site ID and Password (or API Key for newer APIs)
- Get your DHL Account Number(s) for billing
- Configure sandbox for testing
2. Odoo Delivery Carrier Setup
- Odoo includes a native DHL Express connector
- Go to Inventory → Configuration → Shipping Methods
- Add DHL Express as a carrier
- Enter Site ID, Password, and Account Number
- Select environment (Test/Production)
- Configure default product code and package type
3. Service Configuration
Configure DHL Express services:
- DHL Express Worldwide (P) — International express (1-3 days)
- DHL Express 12:00 (Y) — Morning delivery guarantee
- DHL Express 9:00 (K) — Early morning delivery
- DHL Economy Select (H) — Cost-effective international
- Configure service availability per destination
- Set up duty payment options (shipper pays DDP, receiver pays DAP)
4. Customs and Documentation
International shipping requires customs preparation:
- Map Odoo product HS codes to DHL customs fields
- Set country of origin on products
- Configure declared value calculation (product cost or sale price)
- Generate electronic customs invoices via API
- Handle export declarations for high-value shipments
- Configure paperless trade where available
5. Label and Shipment Creation
- Generate DHL labels from Odoo delivery orders
- Print labels as PDF or ZPL format
- Handle multi-piece shipments with master/child waybills
- Include return labels when required
- Schedule pickup requests via API
6. Tracking
- Store DHL waybill numbers on delivery orders
- Fetch tracking events via DHL Tracking API
- Display in customer portal with estimated delivery date
- Set up proactive alerts for exceptions and delays
- Handle proof of delivery retrieval
Rate Calculation
- Real-time DHL rate quotes at Odoo checkout
- Account for package dimensions and actual/volumetric weight
- Include surcharges (fuel, remote area, peak season)
- Apply negotiated discount rates with your DHL account
- Handle multi-currency pricing for international destinations
Common Pitfalls
- Volumetric weight — DHL uses dimensional factor of 5000 (cm) or 166 (inches). Charges based on whichever is greater — actual or volumetric weight.
- Remote area surcharges — DHL charges extra for remote postcodes. Include these in rate calculations to avoid undercharging customers.
- HS code accuracy — Incorrect harmonized system codes cause customs delays. Maintain accurate HS codes on all products.
- Paperless trade — Available in select lanes. Eliminates printed customs documents but requires electronic submission.
Getting Started
Deploy Odoo on DeployMonkey with the Inventory module. Enable DHL Express as a delivery carrier, configure your account credentials, and create a test shipment. Start with a single service level and expand as needed.