How to Pass the €3 EU Customs Fee to Customers (Shopify Setup Guide 2026)
If you're a Shopify seller shipping to the EU, you've now got a new cost line to deal with: the €3 customs fee on low-value parcels. And here's the trap most sellers fall into — they assume their IOSS setup handles it. It doesn't.
IOSS covers VAT at checkout. The €3 fee is a separate customs charge, collected at the border. Different layer, different rules, different payment.
So the real question is: how do you pass that €3 to your customer without breaking your IOSS setup? That's exactly what I'll show you — the three ways Shopify sellers actually do it, and which one you should pick.
What the €3 fee actually is (and who pays it)
Under the EU's 2026 customs reform (Regulation (EU) 2026/382), low-value shipments under €150 face a €3 charge per declaration — whether it's calculated per parcel or per declaration line depends on the carrier and the country you're shipping from. If the exact mechanism is still fuzzy, read €3 customs duty: per parcel or per item first.
The key thing to understand: the €3 is not VAT.
IOSS handles VAT at checkout. The €3 fee is a customs processing charge collected at the border. They are two separate layers — and you have to deal with both.
Which means someone eats that €3 on every EU order: you (margin), the customer (passed through), or a mix. Most sellers want it on the customer — here's how.
Why your IOSS setup won't collect it automatically
This is the #1 confusion. Sellers say: "I already have IOSS set up, so the €3 should be covered, right?" No.
IOSS (Import One-Stop Shop) is a VAT collection mechanism — if you're new to it, start with the IOSS guide for Shopify sellers. You charge EU VAT at checkout, remit it quarterly, and the parcel sails through customs without the buyer being charged import VAT. The €3 customs fee is a separate administrative charge that sits outside the IOSS flow.
On Shopify, this shows up as the classic symptom: your EU market has IOSS taxes configured, but no €3 is being collected at checkout. If your tax settings are on "Manual" or your duty collection is off, Shopify won't add the fee — it has nothing to do with IOSS at all.
Your 3 options for passing the €3 to customers
Option A — Shopify Markets "Collect duties and taxes"
Shopify's native duty collection. Here's the setup:
- Go to Settings → Markets → your EU market
- Enable "Collect duties and taxes" (duty collection)
- Shopify then calculates customs duties from the product's HS code at checkout, charged separately from VAT — so your IOSS setup is not disturbed
The catch: Shopify's duty engine is rate-based (a percentage per HS code). A flat €3 per parcel is not something it reliably adds on its own — unless Shopify has rolled out flat-fee collection for EU-bound parcels in your region. Before you rely on it, run a real test checkout to an EU address and check exactly what line items appear.
Option B — Fold the €3 into EU-market prices
The simplest thing that works today:
- Use per-market pricing for your EU market
- Increase EU prices so the €3 (or an average per-order amount) is built in
- Done — no platform dependency, nothing to break
Trade-offs: it's blunt. Multi-item orders pay roughly the same markup, and your EU prices look slightly higher. But it's instant, invisible to the customer, and you can adjust it the day automatic collection lands.
Option C — Fixed handling fee on EU shipping rates
If you want the fee visible at checkout:
- Open your EU-market shipping profiles
- Add a fixed handling surcharge (e.g. €3) on EU shipping rates
- Customers see a clear line item at checkout
Trade-offs: transparent, but be careful — if a customer orders 3 items in one shipment, you don't want to charge €3 three times. Apply it per order, not per item.
Which option should you pick?
| Option | Setup effort | Automatic? | Precision | Best for |
|---|---|---|---|---|
| A: Markets duties & taxes | Medium | Yes (if flat fee included) | High | Already using Markets, higher volume |
| B: €3 in EU prices | Low | No (built into price) | Medium | Launching fast, few SKUs |
| C: Shipping handling fee | Low | Yes (per order) | High (single item) | Want the fee visible to customers |
My recommendation: start with Option B today (it's the only one that can't break), test Option A in parallel, and switch to A the moment Shopify's duty calculation includes the flat fee in your region. Use C only if transparency matters more than simplicity.
Common mistakes that cost you money
1. Double-charging (the expensive one)
IOSS already collects VAT at checkout. If you add €3 on top of VAT — or worse, manually add VAT again — customers get hit twice and will refuse or return the parcel. The €3 is a customs fee layer only. Keep the two separate.
2. Trusting automatic collection without testing
"Collect duties and taxes" being enabled doesn't mean €3 appears at checkout. Always run a real test order to an EU address and inspect the line items. Manual tax settings especially — if your taxes are set to Manual, nothing gets collected automatically, no matter what's enabled.
3. Not verifying the €3 rules for your country
Per parcel vs per declaration line. Thresholds. Whether IOSS-registered shipments are exempt in your corridor. These vary by carrier and country — verify before you price it in. See per parcel vs per item for the breakdown.
4. Overpaying on declaration lines
The €3 fee is per declaration line in most cases — and most sellers list far more lines than necessary. Products sharing the same HS6 code can be grouped into a single line, legally. Stores doing this well cut their customs fees by up to 73%. See how to save €3 per declaration line.
How DutyRight helps
Passing the €3 to customers is only half the battle. The other half is not overpaying it — which happens when your products have wrong or missing HS codes — check your HS codes before you ship and your declarations carry more lines than they should.
DutyRight is a Shopify app that audits your product HS codes, spots incorrect or missing codes, and shows exactly how many declaration lines you could legally cut — and what that saves per order. Know your real €3 exposure before you decide what to pass on.
DutyRight is currently under Shopify review. Join the waitlist to get the App Store install link and your early-bird discount when we go live.
Key takeaways
- The €3 fee is a customs charge, not VAT — your IOSS setup won't collect it
- Three ways to pass it on: Markets duty collection, €3 baked into EU prices, or a shipping handling fee
- Start with price-based (Option B) — it can't break; upgrade to Markets collection when Shopify includes the flat fee
- Always test a real EU checkout, and never double-charge on top of IOSS VAT
- Cut your own exposure first: correct HS codes and HS6 grouping reduce how many €3 lines you pay (see the €3 rule explained)
The €3 fee is here to stay. The sellers who handle it cleanly — pass it on correctly, don't double-charge, and optimize their declaration lines — are the ones keeping their EU margins intact.