# Set up DHL Express
URL: https://support.starshipit.com/articles/203806429-set-up-dhl-express
Canonical: https://support.starshipit.com/articles/203806429-set-up-dhl-express
Markdown: https://support.starshipit.com/articles/203806429-set-up-dhl-express.md
Updated: 2026-10-28

> For the complete documentation index, see [llms.txt](https://support.starshipit.com/llms.txt).

> Connect DHL Express or migrate an existing XML-PI connection to MyDHL API, then check your settings and first shipment.

Connect DHL Express to Starshipit using MyDHL API, or migrate an existing XML-PI connection. Check your account, services and label settings before sending your first shipment with the connection.

## Before you begin

Make sure you have:

- An active DHL Express account number.
- Access to change courier settings in Starshipit.
- MyDHL API credentials with production access for your DHL account. These are separate from your DHL website or Developer Portal login.

In UI 2.0, the credential fields are **MyDHL API key** and **MyDHL API secret**. Other layouts may call them the MyDHL API username and password.

## Get MyDHL API access

If you already have production MyDHL API access for this account, continue to the connection or migration steps below.

1. Open DHL's [MyDHL API page](https://developer.dhl.com/api-reference/dhl-express-mydhl-api) and select **Get Access**.
2. Sign in to the DHL Developer Portal, or register if you do not have a portal account.
3. Complete DHL's onboarding request. Choose the option for an existing platform or third-party solution and identify **Starshipit** as the platform.
4. Submit the request and follow DHL's approval instructions.
5. Confirm that DHL has approved production access for the account you will use, then obtain the MyDHL API key and secret provided for that access.

If you have test access only, ask your DHL Express account manager or API contact to arrange production access before switching your live Starshipit connection.

## Set up DHL Express in Starshipit

Use these steps for a new connection. If DHL Express is already connected using XML-PI, follow [Migrate from DHL XML-PI to MyDHL API](#migrate-from-dhl-xml-pi-to-mydhl-api).

1. Go to **Settings** > **Couriers** > **Add Courier** > **DHL Express**.
2. Check the **Enable DHL** checkbox.
3. Select **MyDHL API**, shown as **Use MyDHL API** in UI 2.0.
4. Enter your DHL account number and production MyDHL API credentials.
5. Click **Save**.
6. Set up your product codes.

Add your product codes to complete the integration.

1. Click **Add new product codes**.
2. Fill in details as required.
3. Click **Add**.

:::note
The most common product code for DHL Express is WPX for international and DOM for domestic.
:::

## Order DHL labels

To order DHL labels (100*200), you can request a supply from DHL [here](http://www.dhl.com.au/en/express/shipping/order_supplies.html).

## Commercial Invoices & Archive Waybills

International shipments sent via DHL Express require a Commercial Invoice and an Archive Waybill (label) to be supplied with the shipment. The Commercial Invoice should be attached to package and the Archive Waybill is to be given to the DHL driver.

Ask DHL to approve [Paperless Trade](https://www.dhl.com/discover/en-sg/ship-with-dhl/start-shipping/paperless-trade) for your account before enabling it in Starshipit.

Paperless Trade allows the Commercial Invoice and Archive Waybill to be uploaded electronically to DHL instead of being printed.

If Paperless Trade is enabled in Starshipit, then you will only receive a single DHL label. This is all that is required for international shipments.

Some countries do not support Paperless Trade. When you create a shipment to a country which does not support Paperless Trade, Starshipit will automatically supply you with a Commercial Invoice and Archive Waybill.

### How to enable Paperless Trade

1. In your Starshipit account, go to **Settings**, then select **Couriers**.
2. Select **Settings,**next to **DHL Express**.
3. Under the **Advanced** tab, tick the option **Paperless Trade**.
4. Scroll to the very bottom of the page, and click **Save**.

#### Optional: Adding custom information to the commercial invoice

If you have information you would like to include on the commercial invoice which only applies in certain scenarios, you can use the rules engine.

1. Go to **Settings** > **Rules** > **Create a new Rule.**
2. For the condition, select when you would like it to apply (For example Destination Country contains US).
3. For the action, select **Set Invoice Declaration Text** and then enter what you would like to include.
4. Click **Save.**

The commercial invoice will now include this on the invoice like so:  
![mceclip0.png](/uploads/articles/couriers/dhl/how-to-set-up-dhl-express/image_5382283442831.png)

## Alternative account for duties and taxes

To set up your duties and taxes account number, follow the below steps:

1. Go to **Settings** > **Couriers** > **DHL Express** > **Advanced.**
2. Scroll down to the **Customs Invoice** section.
3. Enter the DHL Express account number that you would like to charge duties and taxes to for your DHL Express shipments. This can be a third party DHL Express account.
You can also set this up on a per order basis.

1. In Starshipit, open the order.
2. Scroll down and open the **Custom Details** section.
3. Edit the **Duty account #** field.
4. Click **Save**.

## Send duties and taxes to DHL

If you use Starshipit to record duties and taxes on DHL Express orders, you can choose whether those values are sent to DHL when the label is created.

Enable this when DHL should receive the indicative duties and taxes from Starshipit as part of the shipment request. This is useful for DDP workflows where duties and taxes have already been calculated or collected before dispatch.

To enable duties and taxes in the DHL request:

1. Go to **Settings > Couriers > DHL Express > Advanced**.
2. Open the **Customs Invoice** section.
3. Enable the setting to include indicative duties and taxes.
4. Click **Save**.

Before printing live shipments, test one international order and check that the duties and taxes shown in Starshipit are correct.

## Proforma invoices

A Proforma invoice is a customs document used when no commercial sale has taken place — for example, samples, gifts, or warranty replacements. Unlike a Commercial Invoice, it declares the goods and their value without implying a transaction. This helps ensure customs authorities don't apply duties based on a sale that didn't occur.

By default, DHL Express uses a Commercial Invoice for international shipments. To use a Proforma invoice instead:

1. Go to **Settings** > **Couriers** > **DHL Express** > **Advanced**.
2. Scroll down to the **Customs Invoice** section.
3. Under **Invoice Type**, select **Proforma**.
4. Click **Save**.

## GoGreen Plus

Reduce your carbon emissions with the DHL Express GoGreen Plus service. If you select the GoGreen Plus service you will incur and additional charge from DHL Express. This cost is visible in the Shipping Breakdown in UI2.0 or by hovering over the estimated rate in the classic UI.

To default the GoGreen Plus service on all eligible DHL Express shipments follow the below steps:

1. Go to **Settings > Couriers > DHL Express > Advanced.**
2. Navigate to the **Delivery Options**section.
3. Select the option **GoGreen Plus**. This will default and automatically apply the GoGreen Plus service to all DHL Express shipments.

## Troubleshooting

### DHL asks for a package description

Go to **Settings > Options > Package Description** and enter a description of your products, such as clothing, cosmetics or swimwear.

### A signature upload fails

Check the image requirements in [Add a digital signature to DHL Express commercial invoices](/articles/360000273875-add-a-digital-signature-to-dhl-express-commercial-invoices). If the upload still fails, contact Support with the error message.

## Configure DHL Express settings

DHL Express settings cover API access, label output, delivery defaults, customs, and returns. The available controls are:

| Area | Settings |
| --- | --- |
| **Page size** | Choose the paper size and layout for **Format for outbound labels** and **Format for return labels** so labels work with your printer. |
| **Delivery options** | **Display transit times** and **Delivery Service Description**, which controls the text shown at checkout. |
| **Default delivery services** | **Authority to leave**, **Duties & Taxes Paid**, **GoGreen Plus**, **Adult Signature**, **Incoterm**, **Service point mode**, and **Enable Cash On Delivery**. |
| **Archive and label branding** | **Generate Archive Label for International Shipments**, **Generate Archive Label for Domestic Shipments**, **Hide DHL logo on labels**, **Use line item descriptions on labels**, **Display SKUs on labels**, **Display custom logo on labels and invoices**, **Custom logo**, **Display custom logo on commercial invoices**, and **Commercial invoice logo**. |
| **Returns** | **Create a return label for all outgoing packages**, **Return DHL account number**, and **Resize return labels**. |
| **Paperless trade and invoices** | **Paperless Trade (PLT)**, **Include indicative Tax and Duty where available**, **Reason for Export (Outbound)**, **Reason for Export (Returns)**, **Commercial Invoice Remarks**, **Number of Invoices**, **Invoice Type**, **DHL Duty and Tax number**, **Let DHL generate the commercial invoice**, **Email Invoice & AWB**, and **Cost of Shipping on the Commercial Invoice**. |
| **Order and contact data** | **Use sender phone number if destination phone not present**, **Use sender email address if destination email address is not present**, **Use generic description for all items in data sent to DHL**, **Use generic descriptions on the Commercial Invoice for all items**, **Apply data staging to outbound shipments**, **Use THEIR REFS as Customer Reference**, **Payment Country/Region**, **Data Staging**, **Unknown Sender**, and **Use DHL API for available products**. |
| **Dangerous goods** | **Dangerous Goods**, **Dangerous Goods Product Name**, **Select dangerous goods type**, and **Custom Dangerous Goods Text**. Choose the warning that matches the goods and confirm the choice with DHL. |
| **International and regional tax** | **Select the default pricing strategy** for duties and taxes, **ARN/ABN Number**, **EORI Number**, and **NZ IRD Number**. |
| **Other label defaults** | **Resize 100x200 labels to 100x150**, **Signature Required**, **Use 2019 Signature Required**, **Use detailed item descriptions on the label**, **Authority To Leave (default option)**, **Duties & Taxes Paid (default option)**, and **Display SKUs on Labels**. |
| **Break Bulk Express (BBX/BBE)** | Configure the BBX switch, contact name, contact email, phone, company, building, street, locality, city, postcode, state, country, country code, FOC account number, countries to apply, and whether to use BBE. DHL must enable this service for your account. |

Settings shown depend on the selected API version and account permissions. Save after changing a setting, then check the label, invoice and delivery defaults on your next planned shipment.

## Other relevant information

* For more information on DHL Express WayBills, [click here.](https://www.dhl.com/discover/en-global/ship-with-dhl/documents-and-customs-advice/how-to-create-a-waybill)
* For DHL-approved BBX or BBE services using MyDHL API, follow [Set up DHL Express Break Bulk services](/articles/7342771342479-set-up-dhl-express-break-bulk-services).

<details id="migrate-from-dhl-xml-pi-to-mydhl-api" class="my-8 scroll-mt-28 rounded-lg border border-gray-200 bg-white px-5 py-4">
<summary class="cursor-pointer font-medium text-[#232425]">Migrate from DHL XML-PI to MyDHL API</summary>

Use these steps in UI 2.0 to switch your existing DHL Express connection from **Use XML-PI (Legacy)** to **Use MyDHL API**. Open the existing connection rather than adding another DHL courier.

**Prepare for the switch**

Arrange production MyDHL API access using the steps above. Choose a time between shipping batches and note your current DHL account number, product codes, outbound and return label formats, and the **Advanced** settings your shipments rely on.

Include Paperless Trade, duties and taxes billing, signature options and return settings in that review. If you use dangerous goods or Break Bulk, confirm the approved service and MyDHL configuration with DHL before switching.

**Switch the existing connection**

1. Go to **Settings > Couriers > [DHL Express](https://next.starshipit.com/settings/couriers/setup/dhl-express)** in UI 2.0.
2. On **Settings**, select **Use MyDHL API** under **DHL API version**.
3. Enter your **DHL Express Account No**, **MyDHL API key** and **MyDHL API secret**. Check the account number even if it was already entered for XML-PI.
4. Review **Format for outbound labels**, **Format for return labels**, your product codes and the relevant **Advanced** settings before saving.
5. Select **Save**.
6. Reopen the DHL Express settings and confirm **Use MyDHL API**, the account number and the intended settings are saved.
7. Select **Test to ensure it works** if the button is available, and check the result.

XML-PI and MyDHL have separate account and label-format settings. Review the values shown after switching rather than assuming each value matches the XML-PI configuration.

**Check your first shipment**

1. Open an unshipped order for your next planned DHL shipment and review the available service and rate.
2. Print the label when the shipment details are ready.
3. Check the label's address, service and print format, and review the commercial invoice or Paperless Trade documents for an international shipment.

Check return labels or other approved services you use before resuming those workflows. Use an unshipped order for verification; do not reprint an existing shipment just to test the migration.

If a service, rate or document differs from what you expect, resolve it with DHL or [Starshipit Support](/articles/13017036853647-contact-starshipit-support) before continuing that shipping workflow.

**MyDHL does not connect after switching**

Check that you entered the MyDHL API credentials issued for production access and the correct DHL account number. Save the settings before running the connection test again. Your DHL website password and existing XML-PI access do not establish MyDHL production access.

Ask your DHL account manager to confirm the credentials and account authorisation if the error says the shipping account could not be verified.

**The API version or credential fields are unavailable**

Check that you have opened the existing DHL Express connection in UI 2.0 and have access to courier settings. [Contact Starshipit Support](/articles/13017036853647-contact-starshipit-support) if the migration controls are still unavailable. Include the error message and whether the connection shows XML-PI or MyDHL; leave out API secrets and passwords.

</details>
