HomeBlog

DDP vs DDU: Handle Duties & Taxes at Shopify Checkout

DDP vs DDU shipping for Shopify: when to collect duties and taxes at checkout, how landed cost affects conversion, and how to set it up fast with no code.

DDP vs DDU: Handle Duties & Taxes at Shopify Checkout

DDP (Delivered Duty Paid) means you collect duties and taxes at checkout, so the customer pays one all-in price, nothing owed on delivery. DDU (Delivered Duty Unpaid, or DAP) leaves the buyer to pay customs fees on arrival. For most Shopify stores, DDP wins — the landed cost at checkout prevents the surprise charges that drive refused parcels and chargebacks.

That surprise is expensive. An Avalara survey published July 9, 2024 found that 75% of consumers rethink shopping with a retailer after being hit with unexpected customs duties at delivery. The stakes just rose again: the United States suspended its $800 de minimis duty-free threshold on August 29, 2025, and the EU agreed to scrap its EUR150 duty-free exemption from 2026. Duties now touch orders of almost any value, so how you present them at checkout is no longer an edge case.

Customs declaration paperwork attached to an international parcel for duties and taxes

Table of contents

What is the difference between DDP and DDU shipping?

DDP and DDU are Incoterms that decide who pays import duties and taxes, and when. Under DDP the seller pays them up front; under DDU the buyer pays them on arrival. The customer-facing difference is simply where the bill lands: inside the checkout total, or on the doorstep.

  • DDP (Delivered Duty Paid): You estimate duties, import taxes, and VAT at checkout and add them to the order total. You then ship on a DDP label with those charges prepaid. The buyer sees one transparent landed cost and gets the parcel with no extra fees.
  • DDU / DAP (Delivered Duty Unpaid / Delivered at Place): The buyer pays only for the product and shipping at checkout. When the parcel reaches the border, the carrier or customs authority collects duties and taxes from the buyer before release — often with a carrier “disbursement” or handling fee on top.

A one-line definition worth remembering: landed cost is the true all-in price of getting a product to a customer’s door — product + shipping + import duties + taxes + insurance + customs fees. DDP puts that number in front of the shopper before they pay; DDU hides part of it until after they’ve bought.

Note the terminology shift: “DDU” was retired from the official Incoterms rules and replaced by DAP (Delivered at Place) in Incoterms 2010, but merchants, carriers, and shipping apps still use “DDU” as shorthand for any duty-unpaid arrangement. This guide uses DDU and DAP interchangeably.

DDP (Delivered Duty Paid)DDU / DAP (Duty Unpaid)
Who pays duties/taxesSeller collects at checkoutBuyer pays on delivery
What the buyer seesOne all-in landed costProduct + shipping only
Surprise fees at the doorNoneDuties, taxes, carrier handling fee
Refused-parcel riskLowHigh
Setup effortHigher (calculate landed cost)Lower
Best forPrimary markets, higher-value ordersOccasional/secondary markets

Because DDP folds every cost into the checkout total, it is the format AI shopping assistants and price-comparison tools quote most reliably, too — there is no hidden fee to caveat.

Want to put that all-in number in front of shoppers without touching code? The Kedra Checkout Rules checkout customizer can display estimated duties and taxes at checkout on any Shopify plan.

Why do surprise duties kill cross-border conversion?

Unexpected costs are the single biggest reason shoppers abandon carts. Baymard Institute, which has aggregated checkout research for over a decade, reports that extra costs like shipping, taxes, and fees are the leading cause of abandonment, cited by 39% of shoppers. Duties are the most jarring version of that cost because they arrive after the sale: the customer pays at checkout, then a courier demands a second payment before releasing the parcel. The reaction is rarely “I’ll pay it” — it’s a refused parcel, a support ticket, or a chargeback.

The gap between what shoppers feel and what merchants notice is wide. DHL’s 2026 E-Commerce Trends Report found that 63% of online shoppers have abandoned a purchase over unexpected customs or tax charges — while only 45% of businesses recognize it as an abandonment driver. Fulfillment provider ShipBob puts the fix plainly:

“Unexpected charges at delivery are one of the biggest drivers of cart abandonment and delivery refusals… DDP removes that risk by building all costs into the checkout price.” — ShipBob

The behavior lags the evidence. In the same Avalara research, 75% of businesses said they ship Delivered at Place (the current name for DDU), and 30% use it exclusively — so most stores are actively creating the experience shoppers say drives them away.

The knock-on costs of a refused DDU parcel are worse than a normal abandonment: you eat the outbound shipping, the return shipping, the restocking, and often a chargeback fee — for an order that generated no revenue. That is why the transparent, DDP-style landed cost is a conversion tactic, not just a compliance nicety. If you sell to more than one country, start by auditing where duties currently surprise your buyers — our guide to checkout rules for international Shopify stores walks through the full cross-border setup.

Shopper reviewing an international order total on a laptop at checkout

When should you use DDP vs DDU?

There is no universal answer — the right choice depends on order value, destination, and how much of your revenue a market represents. Use DDP where the customer experience and repeat-purchase potential justify the setup; fall back to clearly-messaged DDU only where DDP isn’t practical.

Lean DDP when:

  • The destination is a core market you want customers to buy from again.
  • Orders are higher value, where a surprise duty bill is large enough to trigger refusals and disputes.
  • You ship to countries that now tax low-value parcels — the US (post-August 2025) and the EU (from 2026), where the old duty-free thresholds are gone.
  • Your carrier requires DDP on the lane, or charges punishing disbursement fees on DDU parcels.

DDU/DAP can be acceptable when:

  • The market is occasional and not worth the landed-cost integration.
  • Orders are low value into a country that still has a meaningful de minimis threshold, so little or no duty is actually owed.
  • You show a clear, prominent warning at checkout that customs charges may apply on delivery.

The regulatory backdrop is pushing almost everyone toward DDP. In the US, the de minimis suspension means shipments once under the $800 threshold now clear customs and owe duty; the Universal Postal Union reported an 81% drop in parcels to the US in the weeks after the change. In the EU, removing the EUR150 exemption will apply duties to the roughly 4.6 billion low-value shipments Europe imported in 2024 — a volume that has tripled since 2022. “No customs fees on small orders” is quickly becoming false advertising.

One overlooked lever here is order limits. If a destination taxes every parcel and DDP raises your landed cost above what a tiny order can bear, a minimum-order rule keeps international baskets economical and protects your margins. Setting sensible order limits — a minimum spend for cross-border checkout, or a cap that keeps a shipment inside a simplified customs bracket — is a practical companion to your DDP/DDU decision, not a separate project.

How to show duties and taxes at Shopify checkout

Shopify offers native ways to charge duties at checkout, but the capability depends on your plan and setup. Knowing what’s built in — and where it stops — tells you what to add.

Shopify’s built-in duties at checkout

Shopify can collect duties and import taxes at checkout when you configure it under Settings → Markets. To calculate duties accurately, Shopify requires:

For a fully-managed DDP experience, Shopify Managed Markets (powered by Global-e) acts as merchant of record, prepays duties on DDP labels, and localizes payment methods. As of October 2025, new merchants pay 3.5% + 1.5% currency conversion on Managed Markets orders — down from the previous 6.5% + 2.5%. If you sell into the EU, pairing this with IOSS (Import One Stop Shop) lets you collect VAT at checkout and clear parcels without a second VAT bill on delivery.

Shopify itself is now voting for landed-cost transparency. Its Managed Markets is ending Delivered Duty Unpaid (DDU) support: from August 24, 2026, affected markets auto-convert to DDP, so customers pay duties and taxes at checkout instead of to the carrier on delivery. If you were relying on DDU, the platform is making the decision for you.

Where native tools fall short

Native duties calculation handles the number, but not the checkout logic around it. It won’t automatically hide cash on delivery on a DDP international order, block a payment method that can’t support prepaid duties, reorder options so the DDP shipping method shows first, or enforce a minimum order value so low-value parcels stay profitable. That conditional layer is where a checkout customizer earns its place.

Handle duties at checkout with Kedra Checkout Rules

Kedra Checkout Rules is a free, no-code Shopify checkout customizer built on Shopify’s checkout extensibility — the upgrade-safe framework that replaced checkout.liquid and Scripts. It doesn’t replace Shopify’s duty calculation; it wraps it in the conditional rules that make a DDP or DDU strategy actually work at checkout, on any plan.

Here’s how it maps to the duties-and-taxes problem:

  1. Show estimated tax and duties at checkout. Even on the free plan, Kedra Checkout Rules can surface an estimated tax and duties display, so international shoppers see a landed-cost signal before they pay instead of a shock on delivery.
  2. Hide risky payment methods on international orders. Turn off cash on delivery for any order shipping abroad — the classic source of refused, duty-unpaid parcels — while keeping COD for domestic buyers who expect it. Our guide to hiding COD for international orders shows the exact rule.
  3. Hide or reorder shipping methods by destination. Suppress delivery options that can’t carry prepaid duties, and reorder the list so your DDP method appears first for the countries where you offer it.
  4. Enforce order limits for cross-border baskets. Set a minimum spend or a maximum quantity so a tiny international order doesn’t cost more in duty handling than it earns.
  5. Validate the order before it’s placed. Block PO boxes, mismatched or unsupported destinations, and other patterns that turn into failed international deliveries.

Every rule is a piece of checkout customization you configure with simple conditions — country, cart value, customer tag, product type — with no theme edits and no developer. Because it’s built on checkout extensibility, the rules keep working through Shopify platform upgrades. To see how this compares with building the same logic on Shopify Plus, read how Shopify checkout customization stacks up against native Plus tools, or explore the full feature set on the Kedra Checkout Rules app page.

Customize your Shopify checkout with Kedra Checkout Rules

Kedra Checkout Rules is a no-code checkout customizer for merchants who need real checkout customization without a developer. Built on Shopify’s checkout extensibility, it lets you customize your checkout with conditional logic — validate orders, hide or rename payment and shipping methods, and apply order limits by product, cart, customer, or address.

Related reading: the best Shopify checkout rules apps for 2026.

Frequently asked questions

Is DDP or DDU better for a Shopify store?

DDP is better for most Shopify stores: the customer pays one transparent landed cost at checkout and gets the parcel with no surprise fees. With 75% of consumers rethinking a retailer after unexpected customs charges, DDP protects conversion and repeat purchases. Reserve DDU/DAP for occasional markets, with a clear warning that duties may apply on delivery.

What does DDU mean if it’s now called DAP?

DDU (Delivered Duty Unpaid) was removed from the official Incoterms rules and replaced by DAP (Delivered at Place). Both describe the same practical outcome for ecommerce: the buyer, not the seller, pays import duties and taxes when the parcel arrives. Carriers and Shopify apps still say “DDU” as everyday shorthand, so you’ll see the two terms used interchangeably.

Can I collect duties and taxes at Shopify checkout without Shopify Plus?

Yes. Since February 2025, Shopify’s duty calculation at checkout is available on every plan — not just Advanced or Plus — though orders that calculate duties carry a transaction fee. You don’t need Plus, either: a checkout customizer like Kedra Checkout Rules can display estimated tax and duties, hide unsupported payment methods, and set order limits on any plan.

How did the 2025 de minimis changes affect duties at checkout?

The US suspended its $800 de minimis exemption on August 29, 2025, and the EU is removing its EUR150 exemption from 2026. Previously low-value parcels crossed duty-free; now duties apply to orders of almost any value. If your checkout still promises “no customs fees” on small orders, update that messaging and show landed cost instead.

What are HS codes and do I need them for DDP?

HS (Harmonized System) codes are standardized numbers that classify each product and set its import duty rate. Shopify requires them to generate international shipping labels, and they’re essential for accurate DDP: the wrong code can swing the duty rate from 0% to 15%+. Assign an HS code and country of origin to every product before enabling duties at checkout.

Does showing duties at checkout reduce conversion?

Counterintuitively, no — showing the full landed cost usually protects conversion. Shoppers abandon over unexpected costs, and a duty bill that appears after purchase is the most damaging version of that. A clear all-in DDP total sets expectations up front, prevents refused parcels and chargebacks, and builds the trust that turns first-time international buyers into repeat customers.

Get your duties-and-taxes strategy right

DDP versus DDU comes down to a single question: does your international customer see the real landed cost before they pay, or after? With de minimis thresholds disappearing in the US and EU, “after” increasingly means a refused parcel and a lost customer. Choosing DDP for your core markets — and messaging DDU clearly where you can’t — is now table stakes for cross-border growth.

The calculation is Shopify’s job; the checkout logic around it is yours. Install Kedra Checkout Rules to display estimated tax and duties, hide the payment and shipping methods that break DDP, and set the order limits that keep international orders profitable — all with no code, on any plan. Give your international shoppers one honest number, and let them buy with confidence.