Cross-border shipping is any order that crosses a customs border. The moment it does, someone owes duties and taxes, and someone has to clear the parcel. The big fork is DDP versus DDU. With DDP (delivered duty paid), you charge duties at checkout and the customer pays nothing at the door. With DDU (delivered duty unpaid), the carrier bills the customer on delivery, which is where refused parcels and angry emails come from. The right choice depends on your margins and your markets. This guide defines the terms and shows how per-country rules get handled.
What cross-border shipping really involves
Domestic shipping is a straight line from warehouse to door. Cross-border adds a checkpoint in the middle. At the border, customs decides whether the parcel can enter and what it owes.
That checkpoint needs paperwork. It needs a value, a product classification, and a declaration of who pays. Get any of it wrong and the parcel sits, waiting.
So cross-border is really two problems stacked. The physical move, which carriers handle, and the compliance, which lives in documents and duty rules. Most doorstep disasters trace back to the second one.
Duties and taxes: who owes what, and when
Two charges show up at the border. They are not the same thing.
- Duties are a tax on the product itself, based on its type, value, and country of origin.
- Import taxes like VAT or GST are charged by the destination country on the sale.
Someone has to pay both before the parcel is released. The only real question is who, and when. That question is the whole DDP versus DDU decision, so it is worth getting right before you open a market.
DDP vs DDU: the choice that shapes the doorstep experience
This is the fork that customers actually feel. Here is the split.
| DDP (delivered duty paid) | DDU (delivered duty unpaid) | |
|---|---|---|
| Who pays duties | You collect at checkout | Customer pays on delivery |
| Doorstep experience | Nothing owed, parcel just arrives | Carrier demands payment before handover |
| Risk | You must calculate duties correctly upfront | Refused parcels, surprise fees, angry emails |
| Best for | Brands that want a clean, predictable experience | Low-volume or test markets where you accept friction |
DDP costs you more work upfront because you have to estimate duties at checkout. But it removes the worst moment in cross-border, the surprise bill at the door. For most brands serious about a market, DDP wins.
HS codes and commercial invoices in plain terms
Two documents make customs work. Neither is as scary as it sounds.
An HS code (Harmonized System code) is an international number that classifies your product. Customs uses it to decide the duty rate. A cotton t-shirt and a leather bag have different codes and different rates. Get the code wrong and you pay the wrong duty or trigger a hold.
A commercial invoice is the document that travels with the parcel. It states what is inside, its value, its origin, and who pays duties. Customs reads it to clear the parcel. A missing or sloppy invoice is one of the most common reasons a shipment stalls.
Get these two right per country and most customs friction disappears.
Why cross-border returns are their own problem
A return that crosses a border is not just a shipment in reverse. It is a whole new customs event. The parcel has to clear again, sometimes with different paperwork, and duty refunds get complicated.
Customers expect a return to be simple. But a cross-border return can mean re-declaring the item, reclaiming duties you already paid, and waiting on a second customs clearance. Handled by hand, it is slow and error-prone.
This is why cross-border returns deserve a real process, not an afterthought. The rules differ by country, so the logic has to be per-market.
How Pango fits: per-country documents and build-to-fit refund logic
Pango handles the per-country documents that customs needs. It sits above your carriers and fulfillment as one adaptive layer, so the paperwork and the tracking stay in sync rather than living in separate tools.
The live work customers feel runs today. Pango normalizes the 10 to 115 differing statuses your carriers return into one clean set of steps, including customs-hold events, so a stalled parcel shows as a clear step instead of raw carrier jargon. Where a carrier's API is poor, Pango can scrape the data to keep updates flowing. Branded tracking, proactive notifications, and analytics are live, and returns, exchanges, and claims run live too.
Custom refund logic, including how you handle reclaimed duties on a cross-border return, is build-to-fit. Pango reads your per-country policies and builds that logic for you rather than shipping a fixed rule. Pango is not a customs broker and not a carrier. It coordinates above them. To fix the return side properly, read the model that fixes international returns. To route orders to the carrier that clears customs cleanest, see multi-carrier shipping and order orchestration. Pango connects above your existing transport stack.
