Back to: Business Technology Articles

DHL for Shopify: Ship Internationally Without Address Problems

To use DHL for Shopify orders, buy discounted DHL labels through Shopify Shipping from the US, Canada, the UK, Germany, France, Italy, Spain, the Netherlands or Poland, or connect your own account with the DHL Express Commerce app. Then choose who pays duties, add HS codes to products, and stop PO Box addresses, which DHL Express can’t deliver to.

DHL Express is a common choice for Shopify stores that ship abroad: it reaches more than 220 countries and territories, often in a few business days. Most problems with it aren’t about speed. They come from customs data, unexpected duties and addresses DHL can’t deliver to, and each one costs more on an international order than on a domestic one.

How do you connect DHL to Shopify?

There are three ways, and the right one depends on whether you have your own DHL account:

  • Shopify Shipping: for stores shipping from the US, Canada, the UK or a supported EU country that want discounted DHL labels in Shopify admin.

  • The DHL Express Commerce app: for stores with their own DHL account and negotiated rates.

  • A multi-carrier label app: for stores that compare DHL with other carriers on every order.

With Shopify Shipping, you buy discounted DHL labels directly from an order. It works from supported locations in the United States, Canada, the United Kingdom, Germany, France, Italy, Spain, the Netherlands and Poland, and the DHL services on offer depend on where you ship from (Shopify’s guide). If you already have a DHL account, the DHL Express Commerce app uses your own rates. Either way, you can show live DHL rates at checkout or charge your own flat international rates.

Shopify Shipping also sells DHL eCommerce labels in some countries; in the Netherlands and Poland those parcels are dropped off at a DHL service point or locker. The address rules in this guide are for DHL Express.

Decide who pays duties before you ship

This is the decision that most affects international returns. Shopify supports two kinds of DHL labels from the US and Canada (Shopify changelog):

  • Delivery Duty Paid (DDP): you pay duties and taxes up front, and the customer receives the parcel with nothing more to pay.

  • Delivery Duty Unpaid (DDU): the customer pays on delivery. Your shipping cost is lower, but a customer surprised by a bill at the door may refuse the parcel, and you pay to bring it back.

If you choose DDU, say so clearly at checkout and in your shipping policy. If you choose DDP, build the expected duties into your prices or collect them at checkout. Shopify’s guide to collecting duties at checkout sets two conditions when you buy labels: a carrier that supports DDP labels, and HS codes on your products.

Set up customs data on every product

DHL clears customs with the data on your label, and gaps cause delays. Shopify says HS codes are required for international shipments. In each product’s Shipping section in Shopify, fill in:

  • The HS code, which tells customs what the product is

  • The country of origin, where the product was made

  • An accurate weight, so the rate and the customs value match the parcel

Write product titles that describe the item plainly. “Wool sweater” clears faster than a brand name customs officers don’t recognize.

Collect addresses DHL can deliver to

DHL Express delivers to a person at a street address, so the address has to lead a courier to a door. For every carrier’s rules, read Can you ship to a PO Box? →

  • No PO Boxes. DHL Express can’t deliver to a PO Box. If DHL is your only international option, stop PO Box addresses at checkout with Shopify’s address format validation rule or an app. If you also offer a postal service, allow PO Boxes on that rate only. Read how to block PO Boxes at Shopify checkout →

  • A phone number. DHL uses it to arrange delivery and to reach the customer about customs. Shopify’s checkout settings let you make the phone number required; do it if you ship abroad often.

  • Apartment and unit numbers. A missing unit number is the most common reason a courier can’t complete a delivery in a city.

When we set up international shipping for Shopify stores at msmtech, we turn on the PO Box rule and the required phone number before the first DHL label, because both problems only show up after the customer has paid. Ultimate PO Box Blocker, which we build, hides DHL rates at PO Box addresses and keeps any postal rate you offer. What Shopify’s own checks catch is covered in Shopify checkout address validation →

Plan for remote area surcharges

DHL adds a surcharge for addresses in areas it classes as remote, and you may only see it on your invoice. If you charge flat international rates, check DHL’s remote area list for the countries you sell to most, and build the surcharge into those rates or into a higher rate for those regions.

Tell customers what to expect

  • Show a delivery estimate at checkout, such as “2 to 5 business days with DHL Express”.

  • State who pays duties, in plain words, before the customer pays.

  • Send the tracking link as soon as the label is printed, and keep the order status page up to date.

Before your first DHL shipment

  1. DHL is connected through Shopify Shipping, the DHL app or a label app, and its rates show at checkout.

  2. You have chosen DDP or DDU, and checkout says which.

  3. Every product you ship abroad has an HS code, a country of origin and a correct weight.

  4. PO Box addresses can’t reach a DHL rate.

  5. The phone number is required at checkout.

  6. Your rates account for remote area surcharges in your main markets.

Shipping with other carriers too? Read the FedEx Shopify integration guide →

Frequently asked questions

Does DHL deliver to PO Boxes?

DHL Express doesn’t: it needs a street address and a person to hand the parcel to. Stop PO Box addresses at checkout when DHL Express is your only international rate, or allow them only on a postal service.

Can I buy DHL labels in Shopify from Canada?

Yes. Shopify Shipping sells discounted DHL labels from supported locations in Canada, as well as the US, the UK, Germany, France, Italy, Spain, the Netherlands and Poland. The DHL services on offer depend on where you ship from.

Can Shopify charge duties at checkout for DHL orders?

Yes, if you set up duty collection in Shopify and ship with DDP labels. Shopify supports DDP and DDU DHL labels from the US and Canada, and duty collection needs HS codes on your products.

Do I need HS codes to ship with DHL from Shopify?

Yes. Shopify requires HS codes for international shipments, and customs uses them with the country of origin to classify each product. Add both in each product’s Shipping section, or in bulk with the bulk editor.

No off-the-shelf solution? We'll build it.