GoatLabelsGoatLabels
Twenty-seven markets. Three tax routes.

Shipping to the EU: the three VAT collection routes


Pick the route, then make the label agree with it.

Every EU-bound parcel is taxed from the first euro, but collection splits three ways: through a marketplace's IOSS number, through your own IOSS registration, or at the buyer's door with a carrier fee on top. The label and customs declaration must match the collection route you chose.

Four carriers into the EU, one declaration standard

USPS, UPS, FedEx, and DHL all feed the same unified EU customs data model — the carrier picks the speed, the IOSS route decides who collects the tax.

UPSFedExDHLUSPSDHL: international
Three routesMarketplace, own IOSS, or door.
Number attachedIOSS rides the customs data.
Route declaredLabel and tax story agree.

One declaration per SKU, reused across 27 markets

Description, declared value, origin, and your HS code saved as customs templates — the EU takes one setup, and the setup is stored, not retyped.

VisaMastercardAmerican ExpressApple PayGoogle PayBitcoinEthereumTether (USDT)
Saved templatesSame SKU, same paperwork.
Prepaid walletCard, Apple Pay, ACH, crypto.
All-in quoteTax portion visible inside.

Updated

Why is there no VAT-free floor in the EU anymore?

For years, small parcels into Europe slipped under a value floor below which nobody assessed anything, and a generation of sellers built habits on it. The EU abolished that VAT exemption in a single reform: every commercial parcel entering the union is now liable for VAT from the first euro of declared value. Customs duty followed in 2026: the old duty relief for low-value parcels was replaced by a flat duty per item category, so a small parcel now owes both. The low-value line survives as the ceiling for the checkout-collection scheme this page is about. The exact figures and dates sit in the dated block below.

The reform's real content was not the tax; it was the plumbing. If every parcel owes VAT, collecting it parcel-by-parcel at the border would bury both the customs services and every buyer's doorstep in fees. So the EU built a route for the tax to be collected where the sale happens — at checkout — and carried to the border as data instead of as a doorstep transaction. That route is the Import One-Stop Shop, and every US seller shipping to the EU is on one of three versions of it, whether they chose deliberately or not.

Should I use a marketplace's IOSS number or my own?

The first two routes collect at checkout and differ only in whose registration does the work. On a marketplace, the platform is the deemed supplier for qualifying consignments: it charges the buyer VAT at the rate of the buyer's country, remits it under its own IOSS number, and that number must travel with your parcel's customs data. You register nothing — but you also cannot opt out, and your declaration has to carry the marketplace's arrangement correctly for the parcel to clear as already-taxed. Selling on Etsy, this is the machinery humming underneath every EU order; the shipping side of those orders is covered on shipping labels for Etsy.

Selling from your own website, the same checkout-collection privilege requires your own IOSS registration — one number, obtained once, covering all member states, with monthly remittance of what you collected. It is genuinely one setup for the whole union, but it is accounting overhead with a fixed cost in attention, which is why the honest advice for a seller doing a handful of direct EU orders a month is often route three instead. The threshold question is volume: enough direct EU orders to make a monthly filing routine, and the number pays for itself in doorstep experience.

What happens when VAT is collected at the door?

The default route — no IOSS anywhere in the chain — still works. The parcel arrives, the destination country assesses VAT on it, and the delivering carrier or postal operator advances the tax, then bills your buyer for it plus a clearance fee before handing the parcel over. The fee is the sting: it is fixed or semi-fixed, so on a small order it can exceed the tax itself, and it lands on a buyer who believed they had already paid in full. Some buyers pay it grudgingly. Some refuse, and a refused EU parcel comes back across the Atlantic with return charges attached — package returned to sender covers who pays for that. Route three is not wrong; it is simply the route where the border's costs become your buyer's problem, and it should be a choice you make with open eyes rather than a default you fell into. Prepaying the charges yourself is the other way out — the DDP-versus-DDU decision, covered on the customs guide.

How do I make the declaration match the IOSS route?

The three routes fail in one shared way: a declaration that tells a different story than the checkout did. An IOSS number is not printed on the parcel — it travels in the electronic customs data ahead of it, which means the label workflow that generates your customs data is where the route is actually implemented. A marketplace sale must carry the marketplace's number; a direct IOSS sale must carry yours, mistyped by nobody; a route-three parcel must carry none. Get the data wrong and the failure modes are concrete: already-taxed parcels taxed again at the door, or over-ceiling parcels carrying a number that cannot apply, held while the border reconciles the contradiction. GoatLabels keeps the declaration itself accurate the same way on every lane — customs items with description, declared value, origin, and your HS code, saved as per-SKU templates so the paperwork that cleared last month ships identically this month. Billy drafts the plain-word description from a pasted order; the value and code remain yours, because they are the seller's legal statements. The form, field by field, is customs forms for small parcels.

What changes from one EU country to another?

The unified machinery is real: one registration or one marketplace arrangement, one customs data standard, one declaration discipline, and your parcel clears the same way into Portugal as into Finland. What the union did not harmonise is the percentage and the pavement. VAT rates are national, and checkout collection charges the buyer's country's rate, so the same item carries different tax to different buyers by design. And the final mile belongs to national posts and local courier operations whose delivery habits differ far more than their customs handling does — signature culture, locker networks, redelivery patience. Quoting USPS, UPS, FedEx, and DHL against each EU order catches both kinds of variation at once. It is the same argument cheap shipping labels makes for domestic parcels, sharpened by the fact that international quotes diverge harder. One setup covers the paperwork; the quote still deserves to be per-parcel. For the largest single market, the Germany-specific details are on shipping to Germany from the US.

The three routes side by side — verified against European Commission IOSS guidance on 2026-08-15

RouteWho collectsWhat the declaration carriesWhat the buyer seesWhen it applies
Route one: marketplace IOSSThe marketplace, at checkout, as deemed supplier under its own IOSS registrationThe marketplace's IOSS number travels in the electronic customs data with your honest description and valueNothing at the door — tax was in the checkout totalMarketplace sales under the scheme's value ceiling
Route two: your own IOSSYou, at checkout, remitting monthly through one EU registration that covers all member statesYour IOSS number in the customs data; a missing or mistyped number means double taxation at the doorNothing at the door when the data is rightDirect sales under the ceiling, once volume justifies the accounting
Route three: collection at the doorThe border — the delivering carrier or postal operator advances the VAT and bills the buyer, plus a clearance feeNo IOSS data; description and value drive the assessmentA doorstep bill of tax plus fee, and the option to refuse the parcelAny consignment over the ceiling, and under-ceiling direct sales where the seller has no IOSS

Dated figures, all in one place.Checked 2026-10-21 against the European Commission and the Council of the EU: the EU abolished its low-value VAT exemption on 1 July 2021, so VAT applies from the first euro of declared value, and IOSS covers consignments of up to €150 intrinsic value. Above €150, IOSS cannot apply and VAT and duty are assessed at the border. Below it there is no longer any customs-duty relief: since 1 July 2026 a flat €3 customs duty applies to each item (goods sharing a tariff classification, description and, where applicable, origin) in a consignment sold to an EU consumer, under any VAT scheme, with a narrow exception for preferential-origin goods declared without IOSS, scheduled to run until 1 July 2028. The Commission's guidance of 5 October 2026 also describes a separate €2 per-item Union handling fee, expected from 1 November 2026. National VAT standard rates span roughly 17% to 27% across member states (checked 2026-08-15), applied by the buyer's country. Carrier and postal clearance fees on route three are set nationally and per operator. Sources: European Commission, €3 customs duty, Commission guidance, 5 October 2026, Council of the EU, 11 February 2026, and European Commission, low value consignments. Re-checked every 6 months by the named review owner recorded with this page; the EU customs reform is still moving, so verify before building a checkout on these figures.

One EU order, one route, one label

Pick the route once. Attach it to every single order.

An IOSS number is never printed on a parcel — it travels ahead of it in the electronic customs data, which means the label workflow is where an EU tax route stops being a policy and becomes a fact. This is that loop: the order arrives with its channel, Billy drafts a description twenty-seven customs services can classify, the route's data is attached, and four carriers are priced before the wallet moves.

1
The EU order, and which route it is on
Marketplace, your own, or the door
instagram buyer

can you ship the linen tablecloth to Ghent? 9000, Belgium

Shopify
Your own checkout — your route
TikTok Shop
Marketplace — its registration travels
Customs items on the shipment
Description
A linen tablecloth, in plain words
Declared value
The price actually paid — yours to state
Country of origin
Where it was made
Route data
The number that must not be mistyped
Paste the order or drop a screenshot

Twenty-seven destinations share one declaration standard, so the form does not change between Lisbon and Helsinki. What changes is the buyer's country — which sets the rate charged at checkout, and which national network knocks on the door.

2BillyBilly AI

One description that clears in every member state.

Billy AI
  • Drafts a specific, plain-word description from a pasted order — a linen tablecloth, never homewares
  • Validates the address against the destination country's own format before money moves
  • Leaves the declared value and the HS code with you, because the route's ceiling turns on the value you declare
  • Included on every plan, so a store testing four EU markets pays nothing extra to draft them
Described. Validated. Route attached.
3
One label, twenty-seven markets
A national post or a courier, per order
Paid from the prepaid wallet
Card, Apple Pay, Google Pay, ACH, or crypto
all-in
USPS
Label and customs form purchased
Declaration saved against the SKU
all-in

The failure mode here is a declaration telling a different story than the checkout did — a route number missing, mistyped, or attached to a consignment it cannot cover. Saving the declaration per SKU takes the improvisation out of the half you control.

The channel decides whose registration travels

Every storefront, and the tax arrangement each one brings with it.

Shopify, Etsy, WooCommerce, TikTok Shop, Amazon, eBay, Squarespace, Wix, Walmart, Square, BigCommerce, Magento, and Temu sync into one To Ship queue. For the EU that queue is carrying two different tax stories side by side: a marketplace order rides the platform's registration, a direct order rides yours or none at all. Same box, same declaration discipline, a different number in the customs data.

Shopify logoShopify
Etsy logoEtsy
WooCommerce logoWooCommerce
TikTok Shop logoTikTok Shop
Amazon logoAmazon
eBay logoeBay
Squarespace logoSquarespace
Wix logoWix
Walmart logoWalmart
Shopify Plus logoShopify PlusSoon
Square logoSquare
BigCommerce logoBigCommerce
Magento logoMagento
Zapier logoZapierSoon
NetSuite logoNetSuiteSoon
Ecwid logoEcwidSoon
Temu logoTemu
Shein logoSheinSoon
ChannelAdvisor logoChannelAdvisorSoon
SkuVault logoSkuVaultSoon
Zoho Inventory logoZoho InventorySoon
Patreon logoPatreon
What an EU label needs

The route is a tax decision.
The label is where it becomes real.

IOSS lives or dies in the customs data your label workflow generates. Everything below exists to make that data accurate, reusable, and priced honestly before the wallet moves.

One prepaid wallet
for all 27 markets

Card, Apple Pay, Google Pay, ACH, and crypto fund one balance that buys labels to Munich, Madrid, and Milwaukee alike. No monthly plan underneath on Free, so an EU experiment that sells four parcels costs exactly four parcels.

Wallet balance
$1,247.36USD
AI

Billy drafts the
clearable description

Paste the order and Billy writes the specific item description EU customs data classifies on the first pass — a linen tablecloth, not homewares. Declared value and HS code stay yours: they are legal statements, and the scheme ceiling turns on the value you declare.

BillyBillyLIVE
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...

The door bill,
visible pre-purchase

Where the service supports DDP, an EU quote is one all-in number with the taxes-and-duties portion broken out inside it, so route three's doorstep economics are on screen before you commit to them. What you approve is exactly what leaves the balance.

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

Postal stream and
couriers, same screen

USPS hands to national posts with their locker networks and letterbox reach; UPS, FedEx, and DHL clear and deliver on their own networks. The four diverge harder on transatlantic parcels than on anything domestic, which is why this lane rewards a per-order quote.

Compare rates
UPSUPS$12.48
FedExFedEx$13.22
DHLDHL$14.10
USPSUSPS$11.79
Duties inside the quote where DDP applies

IOSS-ready data
over the REST API

Customs items ride the same shipment objects the dashboard uses, on unlimited calls with signed webhooks, so your checkout can pass the route's tax data and generate the matching declared label in code — with per-SKU customs templates applied automatically.

POST /v1/shipments
{
"to": { "name": "Maya" },
"from": { "name": "Alex" },
"service": "ups_ground",
"label_format": "pdf"
}
Webhook delivered
GoatLabels mobile queue showing an EU parcel with its customs items attached
Billy drafting an EU customs description from a pasted order on mobile

Declared label ready

Ghent, BE · route data attached

Twenty-seven markets, one thumb

One setup for the union. One phone for the parcels.

The paperwork does not change from Porto to Tallinn, and that is precisely what makes an EU order shippable from a phone: the declaration is stored against the product, the validator knows the destination country's address format, and, where the service supports DDP, the taxes-and-duties portion sits inside the quote.

Paste the order and Billy drafts a description that clears in any member state.
The address is validated against the destination country's own format before you pay.
Four all-in prices side by side, with the tax portion broken out inside each one.
The SKU's saved declaration attaches itself, so the Belgian order reuses the Spanish one's paperwork.
One tap prints the label and the customs form, to the share sheet or a thermal printer.
Billy is included in all twenty-seven markets

Ask about one parcel in a queue spanning a continent.

A store selling into the EU ends up tracking parcels across a dozen national networks with a dozen delivery habits — a locker here, a letterbox there, a neighbour somewhere else. Ask out loud and Billy finds the shipment and reads its status back, so a buyer in Ghent gets an answer without you first working out which network is holding it. Included on every plan. This is the real product, not a render.

goatlabels.io/dashboard/shipments — Billy
Billy reading back an EU shipment's tracking history over the purchased labels list

Listening

"Where is the Ghent parcel now?"

Out for delivery

Ghent, BE · with the national carrier

Speaks plain English · finds the parcel whichever national network has it · included on every plan, never a pricier tier.

One parcel, four carriers

The same box to Berlin, priced with the tax inside.

An EU-bound parcel quoted across the postal stream and the couriers at once, each column one all-in number with the taxes-and-duties portion inside it where the service supports DDP, so route three's doorstep bill can be a number you saw before buying, not a surprise your buyer reports. Figures are an illustrative example, not a live quote.

US → DE (Berlin)2.1 lbs11×8×4 in
USPS

USPS

Priority Mail Intl

7–12 days

$33.80

$7.10 of taxes & duties shown inside the total

all-in · route three priced honestly

Cheapest all-in
FedEx

FedEx

Intl Connect Plus

3–6 days

$31.40

$7.80 of taxes & duties shown inside the total

all-in · route three priced honestly

DHL

DHL

Express Worldwide

1–3 days

$43.90

$8.60 of taxes & duties shown inside the total

all-in · route three priced honestly

Declaration matches the IOSS routeAccepted void → credit back to your walletAll-in quote per carrier
Public API v1

The route is a field. Send it with the shipment.

An EU tax route lives or dies as a value in the electronic customs data, and a value is exactly the sort of thing that should never be retyped by a human at the end of a packing session. Pass it with the shipment, attach the customs items, buy — REST, JSON, one Bearer header, unlimited calls on every plan including Free.

Customs items on the shipment object, carrying the description, declared value, origin, and HS code
The route's tax data passed with the order, so a number is never mistyped at packing time
Signed webhooks for tracking events across national carriers, instead of polling each one
Real idempotency keys and an OpenAPI 3.1 spec, with unlimited calls on Free
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 for twenty-seven markets you are still testing

One wallet for the union. No per-market plan.

Selling into the EU means a few parcels each to a lot of different countries, which is the shape a monthly plan handles worst. Customs items, per-SKU declarations, and all four carriers are on the free plan, so an experiment in four member states costs the postage on the parcels it sends and nothing else.

Pro

Most popular
$40/ month
Unlimited shipments — for the market that finally took off
Unlimited address validation
Billy AI on Telegram Telegram logo — check a parcel on a national network without opening the dashboard
API access still free and unlimited

Rate by plan

illustrative
FreePro

Pro: one flat monthly plan, unlimited shipments

Free

$0 / forever

Four parcels to four countries this month, and nothing owed for the twenty-three you did not reach.

50 shipments a month, no monthly fee
Customs items and per-SKU saved declarations, reused across every member state
USPS, UPS, FedEx, and DHL rate-shopped on every EU parcel, wherever in the union it lands
Billy AI in the web app — drafts a description that clears in any member state, unlimited use
REST API with unlimited calls; fund by card, Apple Pay, Google Pay, ACH, or crypto

Billy is not an upsell

The assistant that drafts one description clearing in any member state — a linen tablecloth, not homewares — runs on Free, unlimited, in the web app. Pro adds Billy on Telegram.

Web, every planTelegram logoTelegram, Pro

API free on every plan

GET /api/v1/shipments

200 OK · plan: free

Unlimited calls on Free — still unlimited on Pro.

Compare on your own invoice

Put a real parcel through and compare the side-by-side rate against what that label costs you on

ShippoPirate ShipShipStation
No contractsNo per-country pricingStart in seconds
USPSUPSFedExDHL

Label prices are quoted live from USPS, UPS, FedEx, and DHL as one all-in number, with the taxes-and-duties portion shown inside it where the service supports DDP. The scheme's rules, the national rates, and each operator's clearance fee belong to the authorities and carriers that set them; the dated block above names the source. Full pricing details

One union, twenty-seven doorsteps

The paperwork is harmonised. The pavement is not.

What the EU standardised was the declaration. What it left national is the rate your buyer pays and the network that delivers — which is why the route is a store-level decision and the carrier stays an order-level one.

Makers reaching the EU through a marketplace

Etsy logo The platform's registration travels

Nothing to register

The lightest version of Europe for a small US seller: the platform collects at checkout under its own arrangement, and your obligation narrows to a declaration that carries it correctly and a parcel that turns up.

27 markets, one declaration standard declaration saved per SKU tax portion inside the quote
goatlabels.io/dashboard/shipments
GoatLabels shipments queue showing EU parcels quoted across four carriers

Stores with real direct-to-EU volume

Shopify logoWooCommerce logo One registration, monthly filing

Direct volume is where registering into the scheme starts paying for its own accounting: one number covering every member state, and buyers who are never met at the door by a bill they did not agree to.

Route and declaration agree

The number in the customs data matches what the checkout did

Instagram logo

Sellers quoting Europe from a DM

Instagram logoMessenger logo A direct sale with no platform behind it

do you ship to Belgium? what would it cost?
Four carriers quoted · tax portion shown

Sellers watching which market actually works

Shopify logoWooCommerce logo National networks, national habits

1

prepaid balance behind every member state you have ever shipped to

Shipping to the EU, answered

What is IOSS and do I need my own number?
The Import One-Stop Shop is the EU scheme that lets VAT on lower-value parcels be collected at checkout and remitted through a single registration covering all member states. Whether you need your own number depends on your channel: marketplace sales ride the marketplace's IOSS, so most small sellers never register. Your own number only becomes worth its accounting overhead when you have real direct-to-EU volume from your own website — below that, letting the border collect on direct orders is legitimate, just harsher on the buyer experience.
Does Etsy collect EU VAT on my orders?
For qualifying lower-value consignments, yes — as a deemed supplier the marketplace charges the buyer VAT at checkout and remits it under its own IOSS registration, and your parcel must travel with that marketplace's IOSS data attached. Practically, that means using the customs workflow the marketplace feeds or making sure its number rides your label data. What the marketplace never takes over is the declaration itself: description, value, and origin are still yours to get right.
Why did my buyer pay a fee on delivery anyway?
Almost always one of two mismatches. Either the parcel exceeded the scheme's value ceiling, so checkout collection could not apply and the border assessed it normally — VAT, any duty, and the carrier's clearance fee. Or the sale was IOSS-collected but the number never made it into the electronic customs data, so the border had no way to know the tax was paid and collected it again. The first is a rules boundary; the second is a data defect, and it is fixable on your side.
Can I ship to every EU country with one setup?
Yes — that is the point of the scheme. One IOSS registration, or one marketplace's, covers all member states, and the customs declaration format is unified. What varies country to country is the VAT rate applied at checkout, which follows the buyer's country, and the last-mile behaviour of each national post. The paperwork does not change from Lisbon to Helsinki; the percentage and the doorstep experience do.
What happens if my declaration does not match the IOSS route?
The border acts on the data it has. A parcel declared without an IOSS number for a sale that was IOSS-collected gets taxed a second time at the door, and your buyer eats it or refuses the parcel. A declared value above the scheme's ceiling with an IOSS number attached voids the checkout collection and reverts to border assessment. Route and declaration are one decision made in two places — make them agree per order, not per store default.

The rest of the international-lane series:Canada,the UK,Australia,Germany,Japan, andMexico — and the declaration every lane starts from, oncustoms forms for small parcels.

Real sellers, real words

What sellers say once one setup covers the whole union.

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 logo 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 logo Etsy
The API is what every shipping API pretends to be. Idempotency that actually works.
S

Sasha R.

Staff engineer, marketplace

API user
Free up to 50 shipments a month. One setup for the union.

Choose your route once.
Quote every parcel fresh.

Enter one real EU order, see all four carriers priced with the tax portion inside, and save the declaration as a template that covers all twenty-seven markets.

No card required. Customs templates on every plan.

Updated