This post is also available in: Espanol(Spanish)
Enter your DHL credentials
The first thing you need to do is create a credential. Go to the “Configuration>New Credential” tab. You will see the following fields:
Credential Name: Any name you want. Used to tell credentials apart if you have several.
URL: Already filled in. Do not change it.
User ID: The Username provided by DHL. Format: 12920155INF
Password: The Password provided by DHL. Format: mem6540f-myt5-4gb8-opl2-990yhj80p54b
Customer code: The Customer code provided by DHL. Format: 14-114529
Select the source store: Choose the store to associate with these credentials. If nothing appears, you have not created a store yet. Create one from “Store settings>Contact>Stores>Add new store.”
Select the product, default is B2B: Choose between B2B or B2C environment.
Once everything is filled in, click Save.

General settings
From the “Configuration>Configuration” tab you can set up the module general settings:
Number of items per cron call: How many orders the module processes each time the cron runs.
Status when shipped: The order status set once the order is shipped.
Status when delivered: The order status set once the order is delivered.
Status for sending orders: Orders are sent to DHL when they reach one of the statuses selected here. You can select one or more.
Cash on delivery payment methods: If your store does not accept cash on delivery, leave this empty.
Default weight for products without weight: Weight assigned to products that have none set.
Use the same carrier for different credentials: Allows you to use the same carrier across multiple credentials.
Default credential: The credential the module uses by default.
Hold or release orders sent to DHL: Blocks an order so it is not processed at end of day. It will not appear in the daily close until you release it.
Ignore wait time: Only visible when Hold/Release is enabled. During the daily close, the module waits 3 seconds between each release call to avoid overloading the DHL API. Enable this to remove that wait. Only recommended for high order volumes when the daily close takes too long.
Force minimum weight: Ensures orders always meet the minimum weight.

Credential configuration
Go to “Configuration>Credential: Credential name-Source store name>Configuration” to configure a specific credential.
Here you select which carriers trigger DHL label generation. Labels are only created for orders assigned to one of these carriers.

Automate the module
To generate labels automatically, set up the cron job found in the “Configuration>Cron” tab on your server.
Labels can also be generated manually from individual orders.

To automate the end-of-day close, set up the cron found in “Configuration>Credential: Credential name-Source store name>End of day cron”.
Set this cron to run before the carrier arrives to collect packages. You can run it multiple times per day.
The end-of-day close is essential: Without it, DHL will not receive shipment data and tracking will not update. Labels will exist, but orders will remain on hold and will not be processed by DHL.
Tracking data may take up to 24 hours to appear on the DHL platform.
Once complete, a summary document is created. You can download it from the “End of day” tab.
Disable overlap control: The module prevents two cron tasks from running simultaneously. If a process gets stuck and the cron stops working, enable this option to clear the block.

Managing labels from the order page
The module adds a DHL Parcel block to each order in the PrestaShop admin. From here you can manage labels manually, independently of the cron.
When no label exists, you will see:
Packages: Number of packages in the shipment (default 1).
Credential: Which credential to use (relevant if you have more than one).
Generate label: Sends the order to DHL and returns the PDF label immediately.
Once a label exists, the block shows:
Download PDF: Download the label.
Cancel shipment: Cancels the label with DHL. Use this before handing the package to the carrier if you need to make changes.
Hold: Holds the order in DHL so it is excluded from the next daily close.
Release: Releases a held order so it is included in the next daily close.
Generate return label: Creates a return label for the customer.
Cancel return label: Cancels the return label.
At the bottom of the block, a table shows the full history of actions on the order: date, credential, type (standard or return), action, status, DHL tracking number, response message, and PDF link.
Tracking number
When a DHL label is generated, the module automatically saves the tracking number to the PrestaShop order. You can see it in the order detail page under the Carriers tab.
PrestaShop sends this number to the customer in the In Transit status change email (the in_transit template), where it appears as a tracking link.
Why is the tracking number missing from the customer email?
If the customer does not receive the tracking number in the email, the module is working correctly. The issue is the PrestaShop email template. The in_transit template must include the variables {shipping_number} and {followup}.
To fix it:
- Go to Advanced parameters > Emails in PrestaShop.
- Find the in_transit template and check that it contains
{shipping_number}. - If the variable is missing, edit the template and add the tracking number to the email body.
This completes the configuration of your DHL Parcel module for PrestaShop.
For help, open a ticket at https://tickets.informax.es or email soportemodulos@informax.es.