OCA / l10n-spain 🇪🇸 AGPL-3.0

DHL Parcel Connector

Integrate DHL Parcel Spain (REST API) directly into your Odoo warehouse workflow. From the outgoing delivery order, generate the DHL label, register the shipment, manage end-of-day closures and track parcel status — all without leaving Odoo and without duplicate data entry. Includes native cash-on-delivery (COD) support.

delivery_dhl_parcel
Odoo 13.0 → 18.0
DHL Parcel Spain
🇪🇸 Spain
DHL Parcel
delivery_dhl_parcel
AGPL-3.0
Versions 13 → 18
API DHL REST
Labels PDF
COD Yes
Workflow
How does it work day to day?

Once deployed, the entire DHL Parcel shipping process is fully integrated into Odoo. Here is the step-by-step workflow:

1
Configure the delivery method

In Inventory → Delivery Methods, create a new method, select DHL Parcel as the provider and enter your credentials (username in 11000000COMPANY format and UUID password).

2
Validate the outgoing delivery

When the delivery is confirmed, the module automatically calls the DHL Parcel REST API, registers the shipment and retrieves the tracking number and PDF label.

3
Print the label and close the day

The DHL label is automatically attached to the delivery order for direct printing. At end of day, use the smart button on the delivery method to perform the manual day-end closure with DHL.

4
Automatic tracking

The shipment status (collected, in transit, delivered, exception) is automatically updated on the Odoo delivery order via the delivery_state module.

Features
What does the module include?

Features verified directly from the OCA repository and real-world FlexigoTech deployments.

PDF Label Generation

Generates DHL Parcel shipping labels in PDF format directly from the Odoo delivery order, including barcode, destination address and tracking number. The label is automatically attached to the record.

Auto-attached
Package Numbering

Full management of multiple packages per shipment via the delivery_package_number module. Each parcel gets its own DHL tracking number, making multi-box shipment control straightforward.

Multi-parcel
Real-time Tracking

Automatic shipment status polling from the DHL Parcel API. Statuses (pending, in transit, delivered, failed) are reflected directly on the Odoo stock.picking without accessing the DHL portal.

No DHL portal
Manual Day-end Closure

Smart button on the delivery method form to run the day-end closure with DHL directly from Odoo, with no need to access the DHL Parcel web portal.

From Odoo
Cash on Delivery (COD)

Native support for shipments with recipient collection. The COD amount is automatically taken from the sales order total, requiring no manual configuration per shipment.

From the order
Shipment Cancellation

Cancel a shipment registered with DHL directly from the "Additional Information" tab of the delivery order, without needing to access the DHL Parcel Spain portal.

From the delivery

Technical requirements

  • Odoo 13.0 to 18.0 — Compatible with all major active versions.
  • DHL Parcel REST API — No additional Python libraries required; uses standard HTTP requests.
  • Dependent OCA modules: delivery_package_number, delivery_state, delivery_price_method (OCA/delivery-carrier).
  • DHL credentials: Username (11000000COMPANY format) and UUID-format password. The client code is derived from the UID (e.g.: UID 08100000AB → code 08-100000).
  • No rate calculation: The DHL Parcel API does not return prices. delivery_price_method is used to define shipping rates within Odoo.

Configuration in Odoo

  • Inventory → Configuration → Delivery Methods → New
  • Provider: DHL Parcel
  • Username: 11000000COMPANY format
  • Password: UUID format (provided by DHL)
  • Client code derived from the contract UID
  • Enable "Test environment" for pre-production testing
# DHL Parcel credential format
user = "11000000COMPANY"
password = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
# UID 08100000AB → client "08-100000"
Supported Odoo Versions
Odoo 13.0 14.0 15.0 16.0 17.0 18.0 ★ current

FlexigoTech actively maintains versions 17 and 18. For older versions we perform a prior compatibility audit.

DHL in other countries?
This module is specific to Spain: it implements the DHL Parcel API for the Spanish market (within OCA/l10n-spain). If you operate with DHL in other European countries, separate connectors exist in OCA/delivery-carrier. Contact us.

AGPL-3.0 License — Open Source

This module is developed and maintained by the OCA community under the AGPL-3.0 license. The source code is public and auditable — you are never locked into a vendor. FlexigoTech deploys, configures and maintains it professionally without charging you for it as a proprietary module.

What does AGPL mean for your company? Full guide →

View code on GitHub OCA

Do you use DHL Parcel in Spain and run Odoo?

FlexigoTech installs, configures and adapts this connector to your real operations. Labels, day-end closure and tracking working from day one.

Request implementation

No commitment · Response within 24h · Fixed quote

How can we help you?

Specialized team · Replies in <1 day

Book a demo Send us a WhatsApp comercial@flexigobe.com