Duties at Checkout in 2026: DDP vs DDU on Shopify Markets

Duties at checkout means Shopify calculates import duty and tax on an international order and collects it before the customer pays, using each product's HS code and country of origin. That is DDP, delivered duty paid. The alternative, DDU, leaves the buyer to pay customs on delivery, and the 2026 rule changes made DDU a much worse bet.
What changed in 2026
Two changes matter. The EU ended its 150 euro duty-free threshold on 1 July 2026 and replaced it with a temporary flat duty of 3 euros per item on consignments up to 150 euros, running until 1 July 2028. A 2 euro per-item handling fee follows from November 2026.
Shopify also stopped supporting DDU inside Managed Markets on 24 August 2026. Markets that used DDU converted to DDP automatically. The platform made the decision that many merchants had been deferring.
The practical result: any parcel entering the EU now carries duty, so a checkout that hides it creates a bill at the door. Managed Markets guarantees the amount it collects, and that guarantee now costs from 3.5 percent plus 1.5 percent conversion on managed orders. Buyers refuse those parcels, and the refund plus return shipping lands on you.
DDP and DDU, in plain terms
DDP collects duty and import tax at checkout. The customer sees one landed price and pays nothing on delivery. You remit the collected amount, and the carrier ships on a duty-paid label.
DDU, also called DAP, collects only product and shipping at checkout. The carrier bills the buyer for duty and its own handling fee before releasing the parcel.
| DDP | DDU / DAP | |
|---|---|---|
| Who pays duty | Collected at checkout | Buyer, on delivery |
| What the buyer sees | One landed cost | Product plus shipping |
| Surprise charges | None | Duty, tax, carrier fee |
| Refused parcels | Rare | Common |
| Setup effort | HS codes, origin, DDP carrier | Minimal |
What DDP setup actually requires
Three things, and the first is the one that stalls projects. Every product needs an HS code and a country of origin. Without them Shopify cannot calculate duty accurately, and as of November 2026, product identifiers are mandatory on EU customs declarations.
Second, your shipping labels have to run through a carrier that supports DDP. Express services generally do: DHL Express, FedEx International Priority, UPS Worldwide Express. Economy services often do not, which is why merchants see duty show up at the door on their cheapest shipping tier.
Third, the toggle has to be on per market. In Shopify admin it lives under Settings, then Taxes and duties, and then Duties and import taxes, which Shopify's manual documents step by step. It is off by default, and turning it on for one market does not turn it on for others.
In our experience, audits find the same three failures: products missing HS codes, one market still on DDU after a copy-paste setup, and carrier services mixed so that some orders ship duty-paid and some do not. The last one is the hardest to diagnose, because the customer experience depends on which service level the warehouse picked that day.
The refund math that decides the question
Run the numbers on a 120 euro order to Germany. With duties collected at the door, refused and refunded parcels run somewhere in the low teens as a percentage of orders, and each refund costs the return leg. With DDP, that rate drops to a few percent.
On a $100,000 annual EU volume, the difference in refund cost is often several thousand dollars, and it usually exceeds the admin cost of maintaining HS codes. That is before you count the carts that are abandoned when a duty estimate appears at the last step.
According to Pitney Bowes research on cross-border shopping, unclear duties and taxes are among the top reasons shoppers abandon an international order, which is why showing the landed cost earlier tends to lift conversion even though it raises the displayed price.
Showing landed cost without killing the sale
The placement matters more than the wording. A duty estimate on the product page sets expectations before the shopper is invested. The same estimate appearing only at checkout feels like a fee.
Our localisation checklist for Shopify Markets covers where to surface landed cost, and the shipping method labels guide covers how to name services so the duty treatment is visible rather than buried.
Two habits help. Name the incoterm in your shipping policy and in the checkout note. And keep one carrier per market tier, so every order in that tier gets the same treatment instead of a coin flip.
Where DDU still makes sense
Almost nowhere in the EU now. DDU can be defensible for very low volume into a country with a meaningful de minimis threshold, or for B2B buyers who expect to handle their own clearance and have an import broker.
Our advice: treat DDP as the default for any market you care about, and treat DDU as a temporary test mode rather than a strategy. The limitation is administrative: HS codes and country of origin have to be maintained, and a catalog that adds products weekly cannot skip that upkeep. If you keep DDU anywhere, say so loudly. A checkout note, a policy page and a post-purchase email that states customs charges may apply on delivery will save more refunds than the admin you avoided by not setting up DDP.
Ready to build a faster, higher-converting store?
Every Shoptimity theme ships with conversion widgets built in — so you get speed and features without stacking apps.
7-day free trial · all themes included · cancel anytime
Continue Reading

Shopify Translate & Adapt: The Limits, and When You Need an App
Eight automatic languages since October 2026, free. What it still cannot do, and when a paid transla...

Managed Markets vs Running Shopify Markets Yourself
3.5% plus 1.5% conversion against real setup work. The fee math at three revenue levels, what August...