GoatLabels GoatLabels
Same parcel. Two different bills.

De minimis thresholds: where duty-free ends


Know the line before the buyer finds it.

A de minimis threshold is the declared value below which a destination country waives duty, tax, or both. What counts toward it differs by country — some count goods value only, others add shipping and insurance — so the same parcel can clear free in one market and get billed in the next.

Four carriers, every threshold priced in

USPS, UPS, FedEx, and DHL quoted on the same international parcel, with duties and taxes shown inside the all-in number instead of surfacing at the buyer's door.

UPSFedExDHLUSPS all four
Destination decides Thresholds are per country.
Basis decides more Goods-only vs goods-plus-shipping.
All-in at quote No surprise at the door.

Declared value set once, reused every shipment

Customs items carry description, declared value, origin country, and your HS code — saved as templates so the second parcel to the same market takes seconds.

VisaMastercardAmerican ExpressApple PayGoogle PayBitcoinEthereumTether (USDT)
Customs templates Saved per product line.
One prepaid wallet Card, ACH, or crypto.
Honest declarations The value the buyer paid.

What a de minimis threshold actually waives, and what it never did

De minimis is a customs authority deciding that below a certain declared value, the cost of assessing a parcel exceeds the revenue from taxing it. Below the line, the destination waives duty, tax, or both and lets the parcel through unassessed. That is the entire mechanism, and everything confusing about it comes from what the waiver does not include. A threshold is a property of the destination, not of the parcel. The same box with the same declared value can clear one border untouched and be assessed at the next, because each country writes its own line, its own valuation basis, and its own list of exclusions.

What de minimis never waived is the declaration itself. A parcel under the line still crosses the border as a declared item with a description, a value, and an origin — the waiver applies to the money, not the paperwork. Nothing about a low value makes the paperwork optional. How to fill that form out correctly, and who pays when a shipment is sent DDP versus DDU, is covered in our guide to customs forms for small parcels. It also never waived prohibited and restricted goods rules: a parcel that needs a permit needs it at any value. And several destinations carve whole product categories out of their relief entirely, so a low-value parcel of the wrong category is assessed as if the threshold did not exist.

Valuation basis: goods-only vs goods-plus-shipping, and why it flips outcomes

Two countries can publish the same threshold number and produce opposite outcomes for your parcel, because they disagree about what counts toward it. One counts the intrinsic value of the goods alone. Another counts goods plus shipping plus insurance — the CIF basis — so the postage you paid pushes the parcel over a line the goods alone would have cleared. The valuation basis is the quiet variable that decides most borderline cases. A seller who only ever reads the headline number will price a lane confidently and be wrong in both directions: leaving margin on the table where the basis is generous, and surprising buyers with bills where it is not.

Currency conversion adds a second wobble. Your declared value is written in your selling currency but assessed in the destination currency at the rate in force when the parcel is processed, so a parcel that sat a few percent under the line at checkout can drift over it in transit. The practical rule: if a parcel prices within roughly ten percent of a destination threshold, assume it can land on either side and set the buyer's expectation accordingly.

Threshold reference — verified against each customs authority's own published guidance on 2026-08-15. Sources: the European Commission's Taxation and Customs Union pages, GOV.UK import guidance, the Canada Border Services Agency, the Australian Taxation Office and Australian Border Force, Japan Customs, and U.S. Customs and Border Protection with the Federal Register notices suspending the US exemption. These figures move — the US suspension in particular remains politically live — so re-check the authority for your lane before pricing a catalogue around any row. Review cadence: every 6 months, by the named marketing owner recorded with this page.

Destination What counts toward the line Duty vs tax Who collects when crossed
European Union Intrinsic value of the goods alone — shipping and insurance excluded Duty relieved up to EUR 150; VAT due from the first euro, with no relief VAT collected at checkout via IOSS, or by the carrier or post at import plus a handling fee
United Kingdom Value of the goods alone for the consignment test Duty relieved up to GBP 135; VAT due on all consignments Seller charges VAT at the point of sale up to GBP 135; above it, duty and VAT are billed at the border
Canada Value for duty of the goods Postal imports: relief up to CAD 20. Courier imports from the US or Mexico: tax relief to CAD 40, duty relief to CAD 150 Canada Post collects with a handling fee on postal items; couriers assess and bill duty, tax, and brokerage
Australia Customs value of the goods Duty and border-collected GST relieved up to AUD 1,000 — but GST on low-value goods moves to the checkout Sellers and platforms over the registration turnover threshold collect GST at sale; above AUD 1,000 the border collects
Japan Roughly the CIF value — goods plus shipping and insurance feed the dutiable base Duty and consumption tax both relieved up to JPY 10,000, with named product categories excluded from relief Japan Customs assesses above the line; the carrier or post collects on delivery
United States Aggregate fair retail value per person per day, historically USD 800 The duty-free de minimis treatment for commercial shipments is suspended — duty applies regardless of value The carrier or broker collects duty at entry; check CBP guidance for the current mechanics

Read the duty-vs-tax column twice, because it is the one sellers skip. Duty relief and tax relief are separate decisions, and several major markets now collect consumption tax from the first unit of value while still relieving duty below a threshold. A parcel can be genuinely duty-free and still arrive with a tax bill and a carrier handling fee stapled to it. When a seller tells a buyer there will be nothing to pay, this split is usually the sentence they got wrong.

What happens the moment a parcel crosses the line

Above the threshold, the parcel stops being freight and becomes an entry. Duty is calculated from the HS code you supplied and the origin you declared, tax is calculated on the value — in many places on the value plus the duty just assessed — and someone has to physically collect that money before the buyer gets the box. Who that someone is depends on how the parcel travelled. In the postal stream, the destination post typically holds the item and notifies the buyer to pay duty, tax, and a handling fee before delivery or pickup. In the express stream, the carrier brokers the entry itself, advances the money to customs, and bills the buyer — adding a disbursement or advancement fee for fronting the cash. Either way the fee arrives as a surprise, attached to a parcel the buyer thought was already paid for.

The commercial damage is rarely the duty itself; it is the doorstep surprise. A buyer asked to pay a second time frequently refuses, and a refused parcel starts the long, expensive journey home — what happens to a returned parcel explains who pays for that leg, and it is usually you. The fix is to surface the landed cost before the buyer commits. GoatLabels quotes international lanes with duties and taxes shown inside one all-in number, so the threshold conversation happens at checkout where it costs nothing, not at the door where it costs the sale.

Splitting orders and undervaluing: why the obvious tricks backfire

Every seller who reads a threshold table invents the same two tricks within the hour. The first is splitting one order into two parcels so each rides under the line. Customs authorities got there first: most reserve the right to treat parcels from the same sender to the same recipient arriving together as a single consignment and assess the combined value. Even when the split works, you have paid a second full shipping charge to dodge a duty that is usually smaller — the arithmetic almost never closes. The second trick is writing a smaller number on the form. That is a false declaration, and it fails in layers: authorities can reassess a parcel whose declared value does not match its contents, marketplace payment records make the real transaction trivially checkable, penalties and seizure sit behind repeat offences, and any insurance claim on the parcel is capped at the value you wrote down. The parcel does not get cheaper by being described dishonestly; it gets riskier.

The boring strategy wins. Declare the price the buyer actually paid, supply the correct HS code for the product, and let the threshold fall where it falls — priced in, visible, and nobody surprised. GoatLabels stores customs items with description, declared value, origin country, and your HS code as saved templates, so declaring honestly is also the fast path: the second parcel of the same product to the same market is a template pick, not a form. And because the quote is all-in, a lane where thresholds make one carrier's stream cheaper than another's shows up as a visible price gap — which is the same reason a cheap label stays cheap across a border, not just inside one.

Where the threshold gets decided

Declare it once. Price the border before it prices your buyer.

A threshold belongs to the destination, so the only cheap place to handle one is before the label is bought. The order arrives however it arrives, Billy drafts the customs description, your saved template supplies the declared value, the origin country, and your HS code, and all four carriers come back with the landed cost inside one number each. The buyer learns what the border costs at checkout instead of at the door.

1
A cross-border order, however it arrived
The destination decides the rule
buyer_lyon

Will I have to pay anything when it arrives? The last parcel I ordered from abroad got held at the depot.

Store order
Ships across a border
Marketplace order
Different country, different line
Customs item drafted
Description
What is actually inside the box
Declared value
The price the buyer paid
Origin
Where the goods were made
HS code
Yours, carried on the template
Paste the order or drop a screenshot

Every parcel crossing a border is a declared item whether or not it is assessed. A threshold waives money, never paperwork, so the customs lines get filled in either way — and a low value never makes a permit or a restricted-goods rule optional.

2 Billy AI

Drafts the declaration, never invents the value.

Billy AI
  • Reads a pasted order or a screenshot into a shipment with its customs lines attached
  • Validates the destination address before anything leaves the prepaid balance
  • Carries description, declared value, origin, and your HS code from a saved template
  • Included on every plan, so declaring honestly is also the fastest way to declare
Declared. Validated. Landed cost shown.
3
Four landed costs, one purchase
Postal stream and express stream side by side
Paid from the prepaid wallet
Card, Apple Pay, Google Pay, ACH, or crypto
all-in
USPS
International label bought
Duties and taxes inside the number on covered lanes
all-in

Above the line a parcel stops being freight and becomes an entry, and somebody collects before the buyer gets the box. Deciding who that is, and what it costs, at quote time is the difference between a priced lane and a refused parcel.

The border does not care which channel sold it

One customs template, every storefront you sell through.

Shopify, Etsy, WooCommerce, and TikTok Shop sync into the To Ship queue, and a cross-border order from any of them is declared the same way: description, declared value, origin, HS code. The destination sets the threshold, not the platform — so one saved template serves an Etsy sale flying east and a Shopify sale crossing the nearest land border.

Via AItiles: paste a DM or a screenshot and the customs lines are drafted from it — no connector is needed to declare a parcel honestly.

Shopify logo Shopify
Etsy logo Etsy
WooCommerce logo WooCommerce
TikTok Shop logo TikTok Shop
Instagram logo Instagram AI Facebook logo Facebook AI
Amazon logo Amazon
eBay logo eBay
Show 15 more Show less
Squarespace logo Squarespace
Wix logo Wix
Walmart logo Walmart
Shopify Plus logo Shopify Plus Soon
Square logo Square
BigCommerce logo BigCommerce
Magento logo Magento
Zapier logo Zapier Soon
NetSuite logo NetSuite Soon
Ecwid logo Ecwid Soon
Temu logo Temu
Shein logo Shein Soon
ChannelAdvisor logo ChannelAdvisor Soon
SkuVault logo SkuVault Soon
Zoho Inventory logo Zoho Inventory Soon
What makes a border lane routine

Cross the line on purpose,
or clear under it on purpose.

A threshold is only a problem when it is discovered after purchase. Everything here exists to move that discovery to quote time.

One prepaid wallet,
every lane

Card, Apple Pay, Google Pay, ACH, and crypto top up one balance, and an international label leaves it as one all-in amount — postage, duties, and taxes together where the lane supports it, so your ledger shows what the border actually cost.

Wallet balance
$1,247.36 USD
AI

Customs lines drafted,
value stays yours

Billy drafts the customs description from a pasted order or a screenshot, and your saved templates carry declared value, origin, and the HS code you supply. The declared value is the price the buyer paid — the honest number is also the fastest one to reuse.

Billy LIVE
Where's the package to Maya?
It's in transit via UPS. Expected Friday, Aug 7.
UPS
1Z8923A6B05G4123456
In transit
Austin, TX → Dallas, TX
Ask Billy anything...

Landed cost at quote,
not at the doorstep

Duties and taxes surface inside the quoted number on covered lanes, which is where the de minimis line stops being trivia and becomes a price you can compare. A lane that crosses the threshold is priced as crossing it, before money moves.

Shipment summary
UPS Ground $12.49
Insurance $0.75
Fuel surcharge $0.32
Total $13.56

Postal stream or express stream,
quoted side by side

USPS rides the postal collection path; UPS, FedEx, and DHL broker their own entries. The same parcel is quoted across all four, so the collection mechanism — and its fees — is part of the comparison instead of a surprise attached to whichever carrier you habitually pick.

Compare rates
UPS UPS $12.48
FedEx FedEx $13.22
DHL DHL $14.10
USPS USPS $11.79
Duties & taxes paid

Customs in the API,
on every plan

Customs items and templates travel through the same REST API as domestic labels, with signed webhooks and unlimited calls on every plan — batch international lanes without re-keying a declaration per parcel.

POST /v1/shipments
{
"to": { "name": "Maya" },
"from": { "name": "Alex" },
"service": "ups_ground",
"label_format": "pdf"
}
Webhook delivered
GoatLabels mobile shipments queue showing international all-in prices
Billy drafting a customs description from a pasted order on mobile

Landed cost ready

CL-1042 · Lyon, FR

Declare from the packing table

The customs lines, filled in on a phone.

Nobody looks up a destination's valuation basis while holding a roll of tape, which is exactly why the declaration has to travel with the parcel instead of waiting for a desk. Template, declared value, and four landed costs all fit on the screen already in your hand.

Paste or snap the order — Billy pulls the buyer, the address, and what is in the box.
Pick the saved customs template and the description, origin, and HS code come with it.
The declared value is the price the buyer paid, entered once and reused, never trimmed downward.
USPS, UPS, FedEx, and DHL come back with duties and taxes inside each all-in number on covered lanes.
One-tap print to your phone's share sheet or a thermal printer over Wi-Fi, customs pages included.
Billy is included, not a paid tier

Ask what the border is going to add.

Hold the mic, say where the parcel is going and what is inside it, and Billy drafts the customs description, pulls the declared value off your saved template, and reads back what each carrier's all-in number comes to on that lane. It remembers the products you send abroad and the boxes you send them in, and it answers for the shipment afterwards — including where it has reached in the entry process. Included on every plan. This is the real product, not a render.

goatlabels.io/dashboard/shipments — Billy
Billy reading back an international parcel's customs detail and tracking history over the purchased labels list

Listening

"Has the Lyon parcel cleared customs yet?"

Cleared, out for delivery

CL-1042 · Lyon, FR · duties prepaid

Speaks plain English · drafts customs descriptions · reads the all-in landed cost back per carrier · included on every plan, never a pricier tier.

The threshold priced in, not discovered

One international parcel, four landed costs.

The same parcel quoted across every carrier at once, each column one all-in number with duties and taxes inside it. Whether the lane clears under the destination threshold or crosses it, the buyer-facing cost is decided at quote time instead of at the door.

US → FR 1.8 lbs 10×7×4 in
Cheapest all-in
USPS

USPS

Priority Mail Intl

10–15 days

$21.40

$0.00 of duties & taxes prepaid, not billed to your buyer

all-in · no surprises

FedEx

FedEx

Intl Connect Plus

3–5 days

$27.10

$8.40 of duties & taxes prepaid, not billed to your buyer

all-in · no surprises

DHL

DHL

Express Worldwide

1–2 days

$31.60

$8.40 of duties & taxes prepaid, not billed to your buyer

all-in · no surprises

Landed cost visible before purchase Declared value carried from your customs template Multi-currency display
Public API v1

Customs items, as a field on the shipment.

Description, declared value, origin country, and your HS code travel through the same REST call as a domestic label — so a catalogue selling into six markets is not six hand-typed declarations a day. JSON, one Bearer header, signed webhooks instead of polling, real idempotency keys, and unlimited calls on every plan.

Customs items post with the shipment — description, declared value, origin, HS code
Quote every carrier on the same international parcel and read the landed cost back in JSON
Signed webhooks instead of polling, so a customs or delivery event arrives as its own record
Real idempotency keys — a retried cross-border order never buys a second label
Read the API docs Get a free API key $0 on every plan
curl https://api.goatlabels.io/api/v1/shipments
POST /api/v1/shipments
Authorization: Bearer sk_live_…
Idempotency-Key: ord_8421

{
  "to": { "name": "Joyce", "city": "Berlin", "country": "DE" },
  "parcel": { "weight": 2.6, "weight_unit": "lb" },
  "service": "fedex_intl_priority"
}
Pricing that adds no border of its own

Two plans. No cross-border upcharge on either.

International labels are not a premium module here. Free covers 50 shipments a month with all four carriers, saved customs templates, and the API included; Pro is a flat monthly plan with unlimited shipments and cheaper label pricing. The only thing a border adds to your cost is whatever the destination itself charges.

Pro

Most popular
$40 / month
Unlimited shipments — every market, no monthly cap
Cheaper label pricing that scales down as your volume grows
Billy AI on Telegram — draft a customs description without opening the dashboard
API access still free and unlimited

Volume pricing

illustrative
less volume more volume

more volume → lower per-label rates

Free

$0 / forever

Fund a wallet, declare honestly, and pay per label whether the parcel crosses a line or not.

50 shipments a month, no monthly minimum to print
USPS, UPS, FedEx, and DHL quoted on the same international parcel
Customs items saved as templates — description, declared value, origin, HS code
Billy AI in the web app, unlimited — drafts the declaration from a pasted order
REST API with unlimited calls; fund by card, Apple Pay, Google Pay, ACH, or crypto

Billy is not an upsell

The assistant that reads an order into a draft, writes the customs description, and validates the destination before you spend anything runs unlimited in the web app on Free. Pro adds Billy on Telegram.

Web — every plan Telegram — Pro

API free on every plan

GET /api/v1/shipments

200 OK · plan: free

Unlimited calls on Free — still unlimited on Pro.

Bring the lane you ship most

On Pro we will work with you to beat the label rates you are already getting on your export lanes from

ShippoPirate ShipShipStation
No contracts No monthly minimum to print Start in seconds
USPS UPS FedEx DHL

Label prices are quoted live from USPS, UPS, FedEx, and DHL as one all-in number, with duties and taxes inside it on covered lanes, and that exact amount leaves your prepaid balance. Thresholds, valuation bases, and collection rules belong to each destination's customs authority — check the authority for your lane before pricing a catalogue around any of them. Full pricing details

Who a threshold actually catches out

The same box, the same value, and four different borders.

Same wallet, same customs templates, same four-carrier quote, whether you export twice a month or twice an hour. These are the four shapes of seller a destination threshold reaches first.

Sellers pricing a new lane

One catalogue, several borders

Landed cost

A headline threshold read once and applied everywhere is wrong in both directions — generous where the valuation basis excludes shipping, expensive where it does not. Quoting the lane with duties inside the number turns the question into a price you can put on a product page.

4 carriers per parcel duties inside the quote saved customs templates
goatlabels.io/dashboard/shipments
GoatLabels shipments queue showing international all-in prices with duties included

Makers whose parcels sit near the line

Borderline value, either side of it

A parcel priced just under a destination threshold can drift over it in transit on exchange rate alone. Treat those as either-side parcels, set the buyer's expectation accordingly, and let the quote show the landed cost rather than the hope.

Declared once, reused

Description, value, origin, and HS code straight off the template

Sellers asked the duty question in a DM

Answering before the parcel answers for you

will I get charged anything when it lands?
Landed cost quoted · duties prepaid · CL-1042

Anyone who has had a parcel refused at the door

The bill nobody warned the buyer about

DDP

duties prepaid at quote time, so the doorstep surprise never happens

De minimis thresholds, answered

What value counts toward a de minimis threshold?
It depends on the destination, and that is the whole trap. Some countries count the intrinsic value of the goods alone, others count goods plus shipping and insurance, and a few apply different bases to duty and to tax on the same parcel. The declared value on your customs form is converted at the rate in force when the parcel is assessed, so a borderline parcel can land on either side of the line on exchange rate alone.
Is de minimis the same for duty and for tax?
Usually not. Many destinations relieve duty up to one value while collecting consumption tax from a much lower value, or from the first unit of value with no relief at all. Treating one threshold as if it covered both is the most common reason a seller promises a buyer a duty-free delivery and the buyer still gets a tax bill at the door.
What happened to the US de minimis exemption?
The United States suspended its duty-free de minimis treatment for commercial imports by executive action, so low declared value no longer exempts an inbound parcel from duty. The dated policy block on this page carries the specifics and the source; check U.S. Customs and Border Protection for the current state before relying on it, because this is the fastest-moving fact on the page.
Can I split an order into two parcels to stay under a threshold?
Customs authorities are allowed to treat multiple parcels from the same sender to the same recipient arriving together as one consignment and assess them on the combined value. You also pay a second full shipping charge for the privilege, which usually costs more than the duty you were trying to avoid. Split for weight or packaging reasons, never as a customs strategy.
Does declaring a lower value work?
No, and it is the one mistake on this page with legal consequences. An understated value is a false customs declaration: authorities can reassess, fine, or seize, marketplace payment records make the real price easy to check, and any insurance claim on the parcel is capped at the value you declared. Declare what the buyer actually paid.
Real sellers, real words

Sellers who stopped losing parcels at the border.

A video took off and I had 80 TikTok Shop orders by morning. I printed every label from my phone on the bus to the post office.
E

Early customer · TikTok

TikTok Shop seller

TikTok Shop
I run my Etsy shop from the kitchen. The AI reads the order, picks the carrier, the label prints. That's the whole workflow now.
E

Early customer · Etsy

Etsy maker

Etsy
The API is what every shipping API pretends to be. Idempotency that actually works.
S

Sasha R.

Staff engineer, marketplace

API user
No monthly minimum to print. Borders included.

Price the border at checkout.
Not at the door.

Quote all four carriers with duties visible, declare the honest value from a saved template, and let the threshold fall where it falls — with nobody surprised.

Sign up in seconds. No card required. No monthly minimum to print.