How to configure DHL Express (DHLEXPRESSMYDHL) in techSHIP [Guide]
Last updated: October 30, 2026
DHL Express uses the MyDHL REST API through plugin code DHLEXPRESSMYDHL. The XML integration uses the separate code DHL.
This guide explains how to add and configure this carrier connection, review its available carrier-specific settings, and understand the shipment requirements and operational constraints that apply.
Carrier Requirements and Specifications
This section summarizes onboarding requirements and lists confirmed carrier-specific constraints.
To review all supported carriers and their specific requirements, see: 📄 techSHIP supported Carriers - Master List [Guides List].
Onboarding Requirements
The DHL Express integration supports:
Rate Shop
3rd Party Billing
Label References
Dangerous Goods
Signature Required
Pickup Requests
Perishable Shipments
Shipment Insurance
Information to be Provided
Obtain the following credentials and account information before configuring DHL Express:
DATA ELEMENT | SOURCE (HOW TO OBTAIN) |
|---|---|
Username and Password | MyDHL API credentials provided by a DHL Express representative. |
Shipper account number | Shipping account number provided by DHL Express. |
Sender address and Phone | Shipping or induction location details, including the contact name, company, full address, and phone number. |
Billing account number | Account that will pay freight charges, when different from the shipper account. Confirm the applicable account with DHL Express. |
Duty account number | Account that will pay duties and taxes, when applicable. Confirm the applicable account with DHL Express. |
For pickup requests, also have your location's preferred opening time, closing time, and preparation time available. Confirm account and service eligibility with DHL Express for Paperless Trade, Dangerous Goods, and other additional services you intend to use.
Specifications and Constraints
Operational Details
DHL Express supports domestic and international shipping, including shipments involving Asia, the US, Europe, and other regions. Available services depend on your account, origin, and destination.
Commercial Invoice (CI): DHL Express can generate the commercial invoice for an international shipment when the Client Account has Is dutiable enabled and Skip trade documents cleared. Configure its customs information and invoice settings before processing.
Waybill: The shipping label and waybill are saved separately when waybill output is enabled. Waybill output is controlled by Print waybill on the Client Account.
EU consumer imports: Starting November 1, 2026, at 00:00 UTC, techSHIP requires SKU and Manufacturer Product Identifier on every export line for international, dutiable shipments from outside the EU to consumers in EU27, including Cyprus and Malta. Each identifier, including UPC when supplied, must contain no more than 35 characters after trimming surrounding whitespace. Missing required values or overlength identifiers stop processing. This validation does not block B2B shipments, intra-EU shipments, or shipments to non-EU destinations.
International shipments: Specify Terms of trade on the order or its Client Account. Processing stops if neither provides an Incoterm.
Sender contact: Supply a sender phone number and complete sender and recipient addresses before processing.
Customs quantity UOM: Quantity units are supplied per line through the techSHIP API. Missing or unrecognized values default to
PCS; an explicitly supplied supported value such asEAis retained.Pickup timing: Pickup requests during manifest processing are not supported. Use a supported order-processing or manual pickup workflow.
Account migration: If a source Client Account has Print waybill set to Auto, change it to Enable or Disable before migrating to this integration.
Configuring a Baseline Account
A Baseline Account serves as the fundamental connection point between techSHIP and the carrier's system. It acts as a template that holds the credentials and fundamental properties required to process shipments.
The techSHIP AI Assistant is available from the Carrier page for supported Carrier configuration tasks. For detailed conceptual information and advanced configuration, refer to 📄 techSHIP AI Assistant: Overview & Availability [Information].
Adding a Carrier
Before adding an account, you must ensure the Carrier entity is available for your location.
Click My Carriers from the left menu under the Carriers category.
Click Add Carrier.

Select the desired Carrier.
You may encounter additional messages depending on the carrier status or your plan:
Subscription Required (⭐): If the carrier has a star icon, you will see a message stating "To use this carrier, a subscription upgrade is required." Press Contact to Upgrade to proceed.

Carrier Suspended: If the carrier has not been used for an extended period, you will see a message stating “This carrier is currently on hold...” Click Request Assistance to reactivate it.

Setup Fee Waived: If a carrier from the same carrier group is already installed in your location, you can add this carrier without incurring additional fees.

If needed, update the carrier Name.
Click Add Carrier.

If the purchase confirmation appears, complete the following steps:
Review the purchase notice and any applicable charge information.
Optionally enter a PO Number.
Select I am authorized to complete this purchase on behalf of my organization.
Click Purchase to confirm the Carrier addition.

Once the Carrier is added, you will be automatically redirected to the Carrier page to continue setting it up.
Enter the Code of the Carrier as it appears in your host system.
The Code of the Carrier must match exactly the value defined in the host system. Any discrepancy (including casing or extra spaces) may prevent the carrier from working correctly.
Click Save.

If your facility utilizes the centralized Pickup Schedule, we highly recommend adding this new carrier to your calendar now. While not required to process labels, this ensures accurate induction metrics for your Insights dashboards. To learn more, see 📄 Understanding the Centralized Pickup Schedule & Expected Induction Logic [Information].
Adding a Baseline Account
From the Carrier page, click Add Account to create a new Baseline Account.

You will be redirected to the Baseline Account page to complete the setup.
Entering incorrect values will prevent the system from generating shipping labels.
General Tab
In the General tab, define the administrative properties:

Name: Enter a descriptive name for the account.
Enter a descriptive name based on unique properties. E.g.:
Carrier Name - Account Number (CarrierX - 123456789)
Carrier Name - Consolidator Name (CarrierY - MyConsolidator)
Carrier Name
Usage: Select the most suitable option:
Test: Used for sandbox or onboarding purposes.
Production: Used for live shipping.
Keep the Status field set to its default Active value. An account must be Active to remain fully editable. For detailed conceptual information on account statuses, refer to 📄 How to Inactivate and Activate a Carrier Baseline Account [Step-by-Step Guide].
Carrier Tab
Connection and Pickup Settings
Under API Setup, configure:
Username: Enter the MyDHL API username.
Password: Enter the corresponding API password.
Pickup open time: Enter the location's pickup opening time.
Pickup close time: Enter the latest time the location can accept a pickup.
Pickup ready hours: Enter the preparation time, in hours, used to determine pickup readiness.
Pickup instructions: Enter instructions for the pickup.
Weekends mode: Select how pickup scheduling treats weekends: Ignore weekends, Saturday and sunday, or Sunday.
Fetch billable weight: Enable this to retrieve billable weight from a rate response. An additional rate request may be needed during processing.
With Ignore weekends, weekend days remain available for scheduling. Saturday and sunday excludes both days; Sunday excludes Sunday only.
Sender Address
Under Sender address, complete Sender name, Sender company, Address 1, City, Zip, Country, and Phone. Complete Address 2, Address 3, and State/province where applicable.
Commodity Codes
Under Customs, use Commodity code type to control the harmonized-code types included for customs line items:
Leave [Not Set] selected to include both outbound and inbound codes.
Select Outbound only or Inbound only when your account requires a single code type.
Labels Tab
Supported formats: ZPL and PDF. Select the required output format in Mode.
The following additional output settings are located in the Baseline Account's Carrier tab, under API Setup:
PrinterDPI: Select the printer resolution, 200 or 300, to match your printing setup.
Label template: Select the applicable label template. If a ZPL label is cut off or its third barcode is missing, use
ECOM26_A6_002.
The Client Account's Carrier tab contains Label options for client-specific output:
Language Code and Language Country Code: Specify the document language and locale when required.
Add DHL logo on label: Enable this to request the carrier logo on the label.
Print waybill: Select Default or Enable to save the shipping label and waybill separately. Select Disable to save the shipping label without the waybill.
Finalizing the Setup
Once you have entered the required information, click Save.

After you save the Baseline Account, check whether the Registration tab or a registration status badge is available.

If neither is available, the Carrier does not use this Registration workflow in techSHIP. If registration is still pending, open the Registration tab and press Registration, then complete 📄 How to Register a Carrier Baseline Account [Step-by-Step Guide] before creating shipments.
From the Carrier page, you can now see the Baseline Account listed with the administrative status Active. The Active status is separate from the account's registration status.

The Baseline Account configuration is now saved. You can continue with Configuring a Client Account below to assign the Baseline Account to a specific Client.
Configuring a Client Account
Adding an Account
Before adding a Client Account, ensure that the Client has been created. For instructions creating a Client, see: 📄 10 - How to create a Client profile [Step-by-Step guide].
Click Clients from the left menu under the Clients section.
Click the Edit icon for the desired Client.

Click Add Accounts.

Optionally, use the Search box to search by Baseline Account Name or Carrier.
Select the Baseline Accounts that will serve as the foundation for your new Client Accounts.
Click Add Accounts.

A toast notification will confirm the accounts were successfully assigned. Click the Refresh icon if recently added accounts are not displayed.

Click Edit on each newly created account.

Configure the available options in each tab (except Carrier).

For complete instructions on configuring this settings, see 📄 How to configure the Billing Account General Options tab [Step-by-Step guide].
Carrier Tab
Service, Accounts, and Rates
Under Service, configure:
Service code: Select a specific service, [Use Order] to retain the order's service selection, or [ECO] for Rate Shopping.
Package type: Select the package type used for this account.
Shipper account number: Enter the shipping account number.
Billing account number: Enter the account that pays freight charges when different from the shipper account.
Currency: Select the currency used for shipment values.
Payer country code: Enter the payer country code when applicable.
Tracking number mode: Select Default for package tracking numbers or Airwaybill number to use the shipment airwaybill number.
Under Rates, configure only the filters needed for this client:
Standard products only: Limit rate results to standard products.
Next business day: Limit rate results to services qualifying for next-business-day delivery.
Enable pricing for third party freight: Enable rate estimates when freight is paid by an account different from the shipper account.
Customs and Trade Documents
Under Customs, configure the settings applicable to your shipments:
Is dutiable: Enable this for customs-declarable shipments. For international shipments, this controls inclusion of the export declaration and eligibility for carrier-generated commercial invoices.
Calculate insured value: Enable calculation of the insured value from shipment line values.
Calculate invoice gross weight: Enable calculation of the invoice gross weight from package weights when no order-level invoice gross weight is provided.
Duty account number: Enter the account responsible for duties and taxes.
Shipper EORI number, Shipper tax number, and Shipper IOSS number: Enter the applicable identifiers for your shipper and shipment lanes.
Default package description: Enter the contents description to use when the order and batch do not provide one.
Shipper type, Receiver type, and Content type: Select the classifications that match the parties and goods. Order-level party types override these Client Account values. If neither level supplies a party type, Shipper type defaults to
businessand Receiver type defaults todirect_consumer. Bothdirect_consumerandprivateare treated as consumer receiver types for product identifier validation.Export reason type: Select the applicable export reason.
Skip trade documents: Enable this when carrier-generated trade documents are handled outside this integration.
Paperless trade: Select Enable or Disable according to your paperwork workflow and account eligibility.
Terms of trade: Select the default Incoterm for international shipments.
Commercial invoice template: Select the carrier invoice template.
Default place of incoterm: Enter the place associated with the Incoterm when applicable.
Sender and Other Parties
Under Sender address, complete Sender name, Sender company, Contact phone, and Contact email as applicable. Enable Override sender address when the client uses a different shipping address.
Use Override Importer address, Override exporter address, or Override broker address when the shipment requires different party details. Complete the corresponding address fields.
Specifying Rate Shopping Service Codes
Specify which DHL Express services should be included or excluded from Rate Shopping. Review the client-specific rate filters above when limiting eligible services.
For detailed instructions on how to configure this, see: Include or exclude Service Codes when Rate Shopping [Step-by-Step Guide].
Label References
In the Client Account's General tab, under Labels, configure the reference values needed for your operation:
Reference 1: Supplies the label's free-text reference.
Reference 2: Supplies the label's customer-data text.
Reference 3: Supplies the shipment-level customer reference.
The printed position and visibility of label text depend on the selected label template.
For a comprehensive guide on how to use label references, see: Using order References in your labels [Step-by-Step guide].
Finalizing the Setup
Once you have entered the required information, click Save.

With the account configured and requirements verified, you can now proceed to process orders as described below.
Configuring an Order
The steps described in this section are not required for carrier setup, and they are offered as an optional review if further order-level configuration is required.
Follow the UI Navigation steps in 📄 05 - How to edit an order’s information - [Step-by-Step guide], using the carrier-specific values provided in this guide.
Carrier Tab
Shipment and Customs Settings
Under Options, review the values applicable to the selected order:
Service code: Select the service for the shipment.
Terms of trade: Select a shipment-specific Incoterm when different from the Client Account default.
Export reason type and Content type: Select shipment-specific classifications when required.
Shipper type and Receiver type: Select the classifications for this shipment. An explicit order value overrides the corresponding Client Account setting. Use
businessfor an actual business recipient; use the applicable consumer classification for a consumer recipient.Export reason: Enter the shipment's export-reason description.
Contents description: Enter a shipment-specific contents description.
Consignee tax ID and Consignee EORI: Enter the applicable recipient identifiers.
Shipper tax ID, Shipper EORI, and Shipper IOSS: Enter shipment-specific shipper identifiers when they differ from the Client Account defaults.
FTR/ITN/AES number: Enter the export filing number when applicable.
Place of incoterm: Specify the shipment-specific place associated with the Incoterm.
Invoice gross weight, Invoice net weight, Invoice freight charge, and Invoice tax charge: Complete the applicable invoice values.
Additional Services
Under Services, select the options required for the shipment and supported by your account:
Signature required: Request signature service. Enable Indirect signature when that signature option is required.
Insurance: Request shipment insurance and complete Insured value and Insurance currency code under Options when applicable.
Dangerous Goods (special service HE): Request the HE special service when applicable. Shipments requiring detailed dangerous-goods declarations must also have the corresponding product or shipment-line dangerous-goods data configured.
Perishable: Identify a perishable shipment.
Saturday delivery: Request Saturday delivery.
Pickup Details
Under Pickup, use Planned pickup date, Close Time, and Pickup instructions for shipment-specific pickup details.
Customs Quantity Units via API
Supply the quantity UOM for each customs line through the techSHIP API. This is separate from the shipment's weight and dimension units; there is no carrier-account UOM setting or per-line UI selector for this change.
UOM PROVIDED THROUGH THE API | RESULTING CUSTOMS QUANTITY UOM |
|---|---|
|
|
|
|
Another supported code, such as | The corresponding supported code |
Missing or unrecognized value |
|
Mapping is evaluated per line. Orders can contain different supported UOMs; a missing value on one line does not change the values on other lines. If your integration requires EA, supply it explicitly.
Item Product Identifiers
For each product line, supply the following identifiers before processing:
FIELD | WHAT TO PROVIDE |
|---|---|
SKU | The merchant's product identifier, required for applicable EU consumer imports. |
Manufacturer Product Identifier | The manufacturer-assigned product, model, part, or style identifier, required for applicable EU consumer imports. Do not substitute the merchant's SKU unless it is also the actual manufacturer-assigned identifier. |
UPC | The standardized product identifier, when available. Preserve leading zeros. A missing UPC alone does not stop processing. |
In the order's Packages tab, open the product line's Additional Fields dialog to enter Manufacturer Product Identifier and UPC. Verify that your Integrated system supplies the correct product identifiers when importing orders.
Value handling: Each identifier must contain no more than 35 characters after trimming surrounding whitespace. Blank values and values exceeding this limit are omitted from the electronic product identifiers; they are never truncated or replaced with fabricated values. From November 1, 2026, at 00:00 UTC, missing required identifiers or any overlength identifier stop processing for shipments within the EU consumer-import scope described above.
Available valid identifiers are transmitted with international, dutiable export lines regardless of the processing date or destination. Products sharing a SKU remain separate export lines when their Manufacturer Product Identifier or UPC differs. Skip trade documents controls carrier-generated documents; it does not remove these electronic identifiers from applicable export lines.
Click Save to apply the order-level changes. After the Order is updated, continue with the standard shipping workflow.
Troubleshooting
EU consumer shipment stops because product identifiers are missing: Review the product lines identified in the processing message. Complete SKU and Manufacturer Product Identifier; use each line's Additional Fields dialog for the manufacturer identifier. Save the corrected order and process it again.
Product identifier exceeds 35 characters: Correct the affected SKU, Manufacturer Product Identifier, or UPC at its source. The limit applies after trimming surrounding whitespace; techSHIP does not truncate identifiers.
A B2B shipment triggers consumer identifier validation: Check Receiver type in the order's Carrier tab and the Client Account's Carrier tab. An order value takes precedence; if neither level supplies a value, the integration uses
direct_consumer. Setbusinessonly when it accurately describes the recipient.Authentication fails: Verify Username and Password in the Baseline Account's Carrier tab against the MyDHL API credentials supplied by DHL Express.
International order has no Incoterm: Complete Terms of trade on the order or set its default in the Client Account's Carrier tab.
Sender phone is missing: Complete Phone in the Baseline Account or Contact phone on the Client Account. If the order uses a different sender address, check that its contact details include a phone number.
Error 7032 reports missing export declaration invoice information: For an international shipment that requires a customs declaration, enable Is dutiable in the Client Account's Carrier tab, under Customs, and verify that the order contains the required customs line-item data. To request a carrier-generated commercial invoice, also clear Skip trade documents. Save the changes and process the order again. If the error persists, contact Techdinamics Support with the order reference and complete error message.
Error 7008 states that special service
WYis unavailable:WYidentifies Paperless Trade. In the Client Account's Carrier tab, under Customs, set Paperless trade to Disable, save the changes, and process the order again. Follow DHL Express requirements for physical shipping documents on that route. Keep Is dutiable enabled when the shipment requires a customs declaration.Commercial invoice is missing: For an international customs-declarable shipment, check Is dutiable, clear Skip trade documents, and verify Commercial invoice template on the Client Account.
ZPL label is cut off or missing its third barcode: Set Label template to
ECOM26_A6_002in the Baseline Account's Carrier tab and confirm PrinterDPI matches your printer.Invoice UOM shows PCS unexpectedly: Review the UOM supplied for that line through the techSHIP API. Missing and unrecognized values default to
PCS; explicitly supply the supported code required by your operation.Fractional customs quantity is rejected: Customs quantities are transmitted as integers. A quantity such as
0.25becomes0and can be rejected by DHL Express. Correct the source quantity and use an appropriate supported quantity UOM.Expected rates are missing: Review Standard products only and Next business day. For a different freight payer, also review Billing account number and Enable pricing for third party freight.
Migration is blocked by waybill settings: Change Print waybill from Auto to Enable or Disable on the source Client Account before migration.