How to connect MyDHL to ShippyPro

MyDHL is a web service from DHL, one of the major logistics providers globally.

In this article, you will learn how to connect MyDHL to ShippyPro and add additional options such as a return label in the box or paperless trade to your existing connection. ✨




  1. Before you start

  2. Connection steps

  3. Additional options

  4. International Shipments

  5. Specific requirements

  6. Errors & troubleshooting

1. Before you start

Register on the DHL Developer Portal

To proceed with the connection, you need to have an API Key, an API Secret and an Account Number that you can retrieve by registering to the DHL Developer Portal if you don't have one yet.


Fill out the DHL onboarding form
  • Go to APIs > Browse all services

  • Click on DHL Express - MyDHL API

  • Then on Get Access

  • Fill in your company data.

  • At "How would you like to use the API?" inside the DHL registration page, you should select the option "I require credentials to DHL Express – MyDHL API for an existing plugin/ecommerce platform/third-party solution" and simply add ShippyPro.

  • Concerning the section called "Requested Services", please tick over all the services available. The field named "Transaction volume per month" is only useful to DHL for statistics purposes, therefore it won't influence you on the use of the API.

  • After some hours you can check your DHL Developer profile where you should be able to see your App Status as approved.

  • Then, click on DHL EXPRESS – MYDHL API under App Name where you will Request Production Access on a red button. Once you click it, you will receive confirmation that the request has been sent within minutes and the local DHL team will need to approve it according to their timeline.

    In case the request remains pending please contact DHL directly in order to speed it up.


Please also refer to DHL guide step-by-step guide here in case of questions or doubts

2. Connection steps

Now that everything is correctly set up in MyDHL portal, you're ready to connect it to ShippyPro.

  • Navigate to Carriers and click on MyDHL Logo (simply type "MyDHL" on the search bar to spot it in a sec).

  • If you do Cash on Delivery shipments, remember to flag the checkbox "I confirm that I am aware of the below message":

  • Enter your API key, API Secret and Account Number

    ❗❗ Be sure that you avoid inserting spaces when you copy and paste, otherwise you will see the error "Invalid Credentials"

  • Pick your label type and your product code. Remember to ask your DHL Account Manager which are your active product codes. If you'd like to add multiple services, you'll need to create a new connection for each one.

  • Please note that the service EXPRESS WORLDWIDE NONDOC is for merchandise only and EXPRESS WORLDWIDE DOC service is meant for documents, not other kinds of physical goods.

📌If you'd like to include multiple services in the same carrier connection you'll need to select Product Code: ALL SERVICES.


📌If after adding the credentials from Carriers > Edit, or after making the first shipment, we return an Invalid Credentials error, make sure that the credentials request was made correctly and that there are no empty spaces before or after all the credentials details.

3. Additional Options

🔁 Enable Return Label in the box

If you’d like to print shipping and return labels together while you ship your orders (return label in the box), add your Account Number inside the "Account Number" field and your Return Account Number in the "Return Account Number" field. Then tick Enable Return Label in the box option at the bottom and confirm. Please note that the label format will be the one you chose for outbound shipments since it cannot be changed for return labels.


📌 If you’d like to make Returns separately from the main shipment, you need to create a new MyDHL connection. This time, insert your Return Account Number in the "Account Number" field and your Account Number in the "Return Account Number" field. So basically, the exact opposite of the first set-up. Do NOT tick the Enable Return Label in the box option. Finally you can create your manual shipment for the Return: click here to learn how.


By selecting Fixed Return Receiver Address (Only for 'Enable Return Label in the box'), if Enable Return Label in the box option is checked and an address is selected from the dropdown menu, the labels in the box are redirected not to the sender address, but to the address set in the dropdown.

You can add and edit the available address at any moment from Admin > My Addresses and parcels > My addresses

🗓 Extend label validity

This service is usually used for return labels, and it will add the extension RET on the label created by MyDHL.

By selecting the Extend label validity option, you can extend the duration of a label without knowing the actual date of handling to the Carrier.

🚚 Add freight charges to commercial invoice

If you select this option, the shipment costs will be added to the commercial invoice.

🧪 Test Mode

Enable the Test Mode if you'd like to make some test shipments. Please keep in mind that this option should be flagged only if you have test credentials, not production credentials!

⚠️ Dangerous Goods

For each shipment containing Dangerous Goods you must insert the contentId of the shipped dangerous goods.

If the shipment contains Dry Ice UN1845 you must insert the weight of the transported dry ice.

If the goods are in Excepted quantities in accordance with IATA, you must insert also the UNCode of the dangerous goods, available here.

✍🏻 Custom Label

If you want, you can also enter a Custom Label to recognize the connection among all the others.

📆 Default amount of additional weekdays required to prepare the shipments

This information is used by DHL to find out the planned date of shipment, but it is not equivalent to a pickup request (here how to do). The default amount of days required is 1 day, you can change it as you please by selecting the number of required days. The system will automatically skip bank holidays and weekends in the required days count.


📌 Make sure to do this on all your MyDHL connections, even though you might use only one service.

📌 If you choose "same day" ask DHL until what time you can create shipments, otherwise you may get an error.

4. International Shipments

🧾 Generate invoice with DHL format

This option will allow you to automatically generate your invoices for international shipments. You can choose among proforma and commercial invoice.

By selecting this option the invoice will be generated together with the shipping label!

🌱 Paperless Trade

You can decide to enable the Paperless documentation option by ticking "Paperless Trade" in Carriers > MyDHL > Edit. In this case, you will need to digitally transmit to the carrier an invoice by uploading your ETD invoice from Label Creator > Invoice Manager page, via UploadPaperlessDocumentation API call or requesting to DHL the generation of an invoice with their format (in this case, please read the next points).


It is also possible to upload the Customs declaration type from Label Creator > Invoice Manager, and decide to enable the option Generate Invoice with DHL format from Carriers > MyDHL > Edit.

It is important to that to note that you'll need to select the correct typology when uploading your documentation, for example, "Customs Declaration".


If you select both Generate Invoice with DHL format and Paperless options from Carriers > MyDHL > Edit, as well as upload the Customs Declaration from Label Creator > Invoice Manager, both the commercial invoice and customs declaration will be electronically transmitted to the carrier.

Some practical examples:

  • the option "Paperless Trade" is enabled, but neither the ETD is uploaded for a specific order, nor the option "Generate Invoice with DHL format" is enabled: we will return an error because you're requesting to send a paperless invoice, but no invoices are associated with that order

  • both "Generate Invoice with DHL format" and Paperless options are enabled: in this way, you are requesting DHL to generate an invoice and to send it digitally without having to physically attach the invoice to the package (Paperless Trade)

  • both ETD document is uploaded, and the option "Generate Invoice with DHL format" is enabled: we will return an error because you are asking to transmit 2 different invoices for a single order

  • You didn't flag the "Paperless Trade" option, but still proceeded with uploading the document via the "UploadPaperlessDocumentation" call or via Invoice Manager - the documentation will still be transmitted to the carrier in Paperless mode.


📌 Important note for NI > UK shipments: please note that despite Northern Ireland having UK formatted postal codes, the only difference from mainland UK is that it is deemed part of the EU, so sending from Northern Ireland into Europe does not require export documents - it travels as Free Circulation material.
Whereas shipping from the UK to Europe will require export documents for the goods to enter the destination.

5. Specific requirements

If you wish to use myDHL's Service Point, you will need to contact your contact person to verify ODD service enablement (required to use this feature).

Once ODD service is enabled, you will need to send the courier's technical department a screenshot of the Carrier Option where the Service Point is chosen, and request service enablement on the desired username.


The Service Point will never appear on the label, which is instead transmitted electronically to the carrier in charge of delivery.

6. Errors & troubleshooting

While trying to connect MyDHL or while shipping your orders, you might experience some errors. No panic! For more information on how to solve them, please consult our following guides:

I cannot connect MyDHL

How to fix MyDHL issues