DHL eCommerce (US & CA)

ShipEngine’s integration with DHL eCommerce allows you to create domestic labels for shipments within the US and international labels for shipments from the US and Canada.

For international shipments, ShipEngine automatically generates and submits your customs documentation.

If you'd like to open a DHL eCommerce account, contact your DHL representative to request a quote and begin the DHL eCommerce certification process.

Looking for DHL eCommerce Australia?

ShipEngine offers a separate DHL eCommerce integration for Australia-based accounts. Please see our DHL eCommerce (AU) help article for details.

DHL eCommerce Requirements

Connection Requirements:

Contact your DHL account representative if you do not have any of the following information.

  • An active account with DHL eCommerce

  • Client ID

  • Client Secret

  • Sold To Account Number (optional)

  • Pickup Account Number

  • Distribution Center Name

Manifest Requirements:

  • DHL eCommerce requires a printed manifest for each day's shipments. To manifest your shipments, use ShipEngine's End of Day process.

Connect DHL eCommerce to ShipEngine

To connect your DHL eCommerce account to ShipEngine:

  1. Select the DHL eCommerce tile.

    DHL Ecommerce logo. Button that reads, Connect
  2. Fill in your DHL account information on the page that appears.

  3. Click Connect.

Available Features for DHL eCommerce Integration

DHL eCommerce Services & Package Types

The following services are available for US-based and Canada-based DHL eCommerce accounts.

US Domestic Services:

  • DHL SM Parcel Ground

  • DHL SM Parcel Plus Ground

  • DHL SM Parcel Expedited

  • DHL SM Parcel Plus Expedited

  • DHL SM BPM Ground

  • DHL SM BPM Expedited

  • DHL SM Marketing Parcel Expedited

  • DHL SM Marketing Parcel Ground

US Return Services:

  • DHL SM Parcel Return Light

  • DHL SM Return Plus

  • DHL SM Parcel Return Ground

US International Services:

  • DHL Globalmail Packet IPA

  • DHL Globalmail Packet ISAL

  • DHL Globalmail Packet Standard

  • DHL GlobalMail Business IPA

  • DHL Parcel International Priority

  • DHL Parcel International Expedited - DDP

  • DHL Parcel International Expedited - DDU

  • DHL Parcel International Direct - DDP

  • DHL Parcel International Direct - DDU

  • DHL Parcel International Standard

  • DHL Packet International

  • DHL Packet Plus International

Canada International Services:

  • DHL Packet International

  • DHL Packet Plus International

  • DHL Parcel International Standard

  • DHL Parcel International Direct Priority

  • DHL Parcel International Direct Standard

Package Types (US & CA):

  • Package

Confirmation Options (US & CA):

  • Delivery

DHL Shipping Unavailable to US Territories

Services for DHL (Express and Ecommerce) and DHL Express by ShipStation no longer support shipments to US territories.

Additional Features for DHL eCommerce

ShipEngine's integration with DHL eCommerce allows for the following additional features:

Feature

Description

Dangerous Goods

DHL eCommerce can use Dangerous Goods as an advanced option for their shipments.

API: Use a number code to denote DG type [01, 02, 03, 04, 05, 06, 08, 09] as a string instead of the dangerous_goods boolean. See the DHL eCommerce Americas API Content Categories for the number code values of the different DG types of DG.

An End-of-Day Driver Summary Manifest is REQUIRED for both Domestic & International Shipments.

DHL eCommerce requires a printed EOD form for their drivers to collect at pickup. See our Create a Manifest documentation for instructions on how to print EOD forms in ShipEngine.

US Int'l Shipments only:

A USPS tracking number associated with a DHL-created label.

DHL eCommerce uses the USPS for the US domestic part of the journey and the local postal service in the destination country to make the final delivery. Use the DHL tracking number to track your package with USPS and through the DHL eCommerce site.

The carrier can be used to create domestic shipping labels.

The carrier can be used to create international shipping labels.

ShipStation API will submit international customs declarations electronically to the carrier.

The carrier can be used to create domestic return labels.

When an API call is made to the Rates endpoint, ShipEngine will return estimated shipping rates for the carrier based on the connected account information and shipment details.

Shipment insurance, provided by the shipment's selected carrier, can be added to the shipment in ShipStation API. This insurance would be in addition to any default coverage already provided by that carrier.

Shipping labels created for this carrier will include a tracking number that can be used to view the shipment status on the carrier's tracking website. Tracking may not be available for all shipping services.

Shipment manifests and End of Day documents are submitted electronically to the carrier by ShipEngine.

Shipment manifests and End of Day documents are generated as PDF files that can be printed along with shipping labels. Because these documents are not electronically submitted, physical copies must be provided to the carrier.

ShipEngine can print your brand logo on shipping labels from carriers that support this feature. Add your logo in the ShipEngine Dashboard.

ShipEngine can include additional information on a shipping label that is specified in the label request, if supported by the carrier.

This carrier can be used to create multi-package shipments, where multiple labels are created for a single shipment and the individual packages are linked together in a single shipment record with a master tracking number.

DHL: Optimizing Customs Data for International Shipments to Prevent Delays

To ensure smooth customs clearance and minimize the risk of shipment inspections or delays, it is critical to provide high-quality data for every international shipment. Poor data quality, specifically vague descriptions and missing HS codes, often triggers manual reviews by destination authorities.

Key Takeaways for Merchants

  • Be Literal: Describe the item as if you are explaining it to someone who cannot see it.

  • Include Part Numbers: If your product has a Part Number (PAN), include it in the reference field to help customs verify the item.

  • The "Rule of Three": A great description usually answers What it is, What it's made of, and What it's for.

Write Accurate Line Item Descriptions

Customs authorities need to know exactly what is being imported, what it is made of, and its intended use. Avoid using internal marketing descriptions or vague terms.

  • Avoid Stop Words: Words like "Sample," "Variety," or "Gift" are frequently flagged and may trigger an automatic inspection. For a List of Common Stop Words, see the PDF attachment at the end of this article.

  • Include Material Composition: For items like footwear or apparel, specify the materials (e.g., "Men’s jeans, 80% cotton, 20% polyester" instead of just "Jeans").

  • Detail the Product Type: Instead of "VINTAGE FOOTWEAR," use "Women’s shoes - leather upper and rubber sole."

  • Be Specific: Instead of "Wheel adjusted," use "Bicycle rear pivot part."

Utilizing Harmonized System (HS) Codes

Providing a correct HS code (or Commodity Code) is the most effective way to help customs officials categorize your goods.

  • 🇺🇸 US-Based Shippers: Use the US Census Bureau’s Schedule B Search Engine to find the correct code.

  • Global Shippers: Ensure you are using the most current codes required by the destination country to avoid incorrect duty/tax calculations.

Provide Part and Reference Numbers

When possible, include the specific part or item number in your commercial invoice data. Mapping these to the correct reference fields in your shipping tool (e.g., the "PAN" reference type) provides an extra layer of clarity for clearance agents and helps verify the item against the provided description.

Prohibited Stop Words & Description Comparison

Using vague language is the fastest way to get a shipment flagged for inspection. Below are examples of poor descriptions found in recent audit data versus the clear, detailed descriptions required by customs authorities. For a List of Common Stop Words, see the PDF attachment at the end of this article.

Poor Description (Vague)

Better Description (Detailed)

Why it Matters

VINTAGE FOOTWEAR

Women's shoes: leather upper, rubber sole

Defines gender, material, and sole type.

JEANS

Men’s jeans: 80% cotton, 20% polyester

Specifies material composition for textiles.

SAMPLE / VARIETY

Stainless steel kitchen whisk (K792)

Stop Words like "Sample" or "Variety" trigger automatic flags.

HAIR PRODUCT

Organic argan oil hair serum (100ml)

Identifies the specific substance and volume.

The Mesa - Medium

Canvas messenger bag with brass buckles

Moves past marketing names to actual physical traits.

Merchant Checklist: International Shipping Compliance

To ensure your international shipments clear customs without delay, use this checklist to review your data before printing your labels.

  • [ ] Is the description specific? (e.g., "Men's 100% cotton t-shirt" instead of "Apparel")

  • [ ] Did you avoid Stop Words? (Ensure "Sample," "Gift," and "Variety" are not used)

  • [ ] Is the material composition listed? (e.g., "Stainless steel," "Leather," "Plastic")

  • [ ] Is the HS code/Commodity code included? (Use a search tool if you aren't 100% sure)

  • [ ] Is the Part Number (PAN) mapped correctly? (Helps verify the item in the clearance system)

  • [ ] Is the unit value and currency accurate? (Ensure values match your commercial invoice)

Description Logic: The "Physical" Rule

When writing descriptions, ignore your marketing names. Customs authorities don't know what a Polaris IGX 144+ Linkage Kit is. Instead, describe the physical object: Steel mechanical linkage parts for vehicle suspension.

Technical Note: Mapping Compliance Data

When integrating with international carriers, how you map data fields in your API payload directly impacts customs clearance rates. While the UI may show a single "Description" field, the backend mapping should prioritize the following:

  1. Reference Field Mapping (PAN)

    To assist customs authorities in verifying shipments against digital records, ensure that product part numbers are mapped to the correct reference type.

    • Reference Type: PAN (Part Number)

    • Usage: Map your internal SKU or manufacturer part number here. This allows clearance systems to match the physical item to the digital declaration more efficiently.

  2. Data Integrity vs. UX Display

    It is important to note that what the customer sees in the ShipStation or Shopify UI may not always reflect the full data payload sent to the carrier.

    • Payload Enrichment: Even if a merchant uses a short marketing title in their store, the integration should attempt to send the most granular description available in the product database to the description field in the customs object.

    • Stop Word Scrubbing: Consider implementing a validation layer that flags or prevents the use of Stop Words (Sample, Gift, Variety) in the description field before the API call is finalized.

  3. HS Code Automation

    Automating the harmonized_tariff_code field is the highest-value optimization you can provide. Ensuring this field is populated with a 6 to 10-digit code reduces the reliance on the text description alone, as the code provides a universal language for customs agents worldwide.

Notes About the DHL eCommerce Integration

  • DHL Shipping Unavailable to US Territories: Services for DHL (Express and Ecommerce) and DHL Express by ShipStation no longer support shipments to US territories.

  • DHL eCommerce Domestic will not display rates in ShipEngine unless the Rating API is activated.

  • DHL eCommerce supports 1 label message. You must use the "reference3" field in your label request body.

  • Labels can and will appear differently when they ship to different destinations. Because shipments go to different DHL eCommerce stations to be sorted by destination, their labels will look different, depending on the shipment destination.

  • Shipments generated through our direct DHL eCommerce must be closed out and manifested through ShipEngine. See our Create Manifests page to learn more.

Troubleshooting Tips

Here are some common issues, potential causes, and troubleshooting tips.

Issue

How to Troubleshoot or Resolve

Received a notice that says "Mail on HOLD at DHL Global Mail".

This means you have not electronically transmitted the daily manifest for your DHL shipments. You will need to create a manifest for your DHL labels and download the manifest PDF that is returned.

Please note that when the shipments are manifested, the Ship Date on the Shipments page will update to reflect the date the manifest was submitted.

Error "Failed to retrieve DHL Sort code: Service Type Code provided as input to the request does not match the USPS Product as determined by DHL GM;. Error encountered (Log ID: XXXXX)"

This means that your DHL account does not have that specific USPS service enabled by your DHL account.

To fix this, you'll need to contact your DHL representative to make sure that the service is enabled. If your DHL representative says that the service is correctly enabled, please contact our ShipEngine support team so that we can investigate the issue for you.

Duplicate Tracking Numbers

Tracking numbers created in the seller will always be unique. However, if one DHL eCommerce account (with the same pickup number) is connected to a different ShipEngine account, duplicate tracking numbers can occur.

To prevent this from happening, create a new DHL eCommerce sub-account to generate a new unique pickup number. When you connect your DHL eCommerce account to the secondary ShipEngine account, use the unique pickup number for the new sub-account. If you aren't sure how to do this, contact DHL eCommerce directly to help set up the sub-accounts (or potentially add multiple pickup numbers to one account).

The carrier can be used to create domestic shipping labels.

The carrier can be used to create international shipping labels.

ShipStation API will submit international customs declarations electronically to the carrier.

The carrier can be used to create domestic return labels.

When an API call is made to the Rates endpoint, ShipEngine will return estimated shipping rates for the carrier based on the connected account information and shipment details.

Shipment insurance, provided by the shipment's selected carrier, can be added to the shipment in ShipStation API. This insurance would be in addition to any default coverage already provided by that carrier.

Shipping labels created for this carrier will include a tracking number that can be used to view the shipment status on the carrier's tracking website. Tracking may not be available for all shipping services.

Shipment manifests and End of Day documents are submitted electronically to the carrier by ShipEngine.

Shipment manifests and End of Day documents are generated as PDF files that can be printed along with shipping labels. Because these documents are not electronically submitted, physical copies must be provided to the carrier.

ShipEngine can print your brand logo on shipping labels from carriers that support this feature. Add your logo in the ShipEngine Dashboard.

ShipEngine can include additional information on a shipping label that is specified in the label request, if supported by the carrier.

This carrier can be used to create multi-package shipments, where multiple labels are created for a single shipment and the individual packages are linked together in a single shipment record with a master tracking number.