DDP vs. DDU at checkout: fixing international cart abandonment
Quick answer: DDU (Delivered Duty Unpaid) leaves customers to pay surprise import duties when a package arrives, which is what causes refused shipments and one-star reviews. DDP (Delivered Duty Paid) collects those fees upfront at checkout instead, so the box arrives with nothing owed. A landed cost API is what makes charging the right amount at checkout actually feasible across hundreds of SKUs and countries.
You finally crack the international market. A customer in Germany buys your flagship product. They track the package for a week, genuinely excited for it to arrive.
Then they get a letter from customs. They owe €40 in import duties before they can even claim the box. They feel scammed, they refuse the package, and the carrier charges you a return shipping fee to send the inventory all the way back. The customer leaves a one-star review on the way out.
Hidden import duties are what destroy cross-border margins, more than freight cost ever does. The difference between an angry refund and a loyal international customer usually comes down to three letters at checkout: DDP or DDU.
The DDU trap: Delivered Duty Unpaid
DDU, sometimes labeled DAP (Delivered at Place), is the default setting on most beginner ecommerce stores, mostly because nobody had to configure anything differently.
Under DDU, the buyer is solely responsible for paying import duties, customs clearance fees, and local taxes once the package arrives in their country. Brands default to it because it's easy: print a label, hand the box to the carrier, done. But that ease comes at the customer's expense. All the friction lands on them at the door, and a surprise bill is exactly what causes a shipment to get refused.
The DDP fix: Delivered Duty Paid
DDP shifts that responsibility back to the seller, where it arguably belongs if the goal is a smooth customer experience.
Duties, taxes, and customs fees get calculated upfront and charged at checkout. When the package hits the border, the carrier pays customs directly using funds already collected. The box then reaches the customer's door the same way a domestic order would: no surprise bill, no package held hostage at a local customs office.
Automate the math with a landed cost API
Calculating global tax rates by hand for every SKU and every country isn't realistic past a handful of products. This is a job for software, not a spreadsheet someone updates quarterly.
A landed cost API integrates directly into a Shopify or WooCommerce checkout. The moment an international customer enters their shipping address, it analyzes the cart in real time. It checks HTS codes for each product, calculates the exact local VAT or GST for the destination country, and factors in the carrier's customs brokerage fees. All of that rolls into one clean line item at checkout, so the customer sees their true final price before entering a card number, not after the box has already shipped.
Scale globally with A2Z Supply Chain
Fixing international checkout is only half the job. The logistics network has to back it up, or a clean checkout still ends in a late or mishandled delivery. A2Z Supply Chain builds that side of the equation.
Financial modeling: We help integrate landed cost APIs, so checkout actually converts international traffic instead of losing it at the last step.
Logistics: We connect you with global carriers who specialize in fast, reliable DDP shipping routes.
Supplier coordination: We audit factory invoices to confirm accurate HTS classifications, so goods don't get held up at customs over a paperwork error.
Inventory planning: We analyze international sales data to figure out when it actually makes sense to open a localized 3PL in Europe or the UK.
Round-the-clock support: Our ops pod works 24/7 on Slack to catch and resolve rare customs delays before they turn into a refused shipment.
Most international cart abandonment isn't about price or shipping speed. It's about a customer being asked to pay twice, once at checkout and once at the door, and DDP is what removes that second bill entirely.

