The EU's New €3 Customs Duty (2026): What Shopify IOSS Sellers Must Fix Before Customs Holds Your Parcels

Short version: Since 1 July 2026, the EU no longer waives customs duties on low-value imports. Every item under €150 shipped into the EU now carries a €3 customs duty, and accurate HS codes, current tariff rates and a compliant commercial invoice are no longer optional — verify each code with a tariff code checker. Get any of them wrong and your parcel gets held, your carrier slaps you with storage and return fees, and your customer asks for a refund. Here is what to fix before your next shipment — and how to catch the risk before it costs you.

Why this hurts more in 2026 than ever before

For years, sellers shipping to EU customers used the low-value duty exemption: goods with an intrinsic value of €150 or less entered the EU without customs duty. That changed on 1 July 2026.

Under Council Regulation (EU) 2026/382, the exemption was eliminated and replaced with a temporary flat customs duty of €3 per item on low-value consignments (intrinsic value ≤ €150). It applies from 1 July 2026 until 1 July 2028 — per item, per tariff line, for every low-value B2C import from outside the EU.

That sounds small. It is not. The €3 itself is the cheapest part of getting it wrong. What actually costs you money is what happens around it:

  • Customs re-classifies your product under a different HS code than the one you declared → duty recalculated, parcel held.
  • Your commercial invoice is incomplete → customs can't clear it → storage fees start ticking.
  • The wrong or missing HS code makes Shopify's checkout estimator default to $0 duties → the buyer was never charged → you eat the difference or the parcel gets returned.
  • Every held parcel means carrier storage fees, return shipping, a refund, and a customer who never comes back.

Pain point #1: wrong (or missing) HS codes — the $0-duties trap

The HS code (for the EU: the CN8 code) tells customs what your product is and what duty applies. Get it wrong and the consequences cascade:

  • Checkout miscalculation. When a product has a missing or incorrect HS code, Shopify's duties estimator can default to $0 import charges. The buyer is never charged at checkout. Later, customs assesses the real duty — and someone has to pay it. Not sure how to find the right code? Our free HS code lookup guide covers the official tools.
  • Customs re-classification. Even if you declared a code, destination customs can apply a different HS code when your parcel crosses the border. Different code = different duty = delay, adjustment, or a supplementary charge.
  • Fines and post-clearance demands. With structural errors, customs can issue a post-clearance demand for the difference — and in repeated cases, penalties on top.

The fix is not "pick a code once and forget it." It's a maintained, EU-specific CN8 classification checked against your product data — ideally before the parcel leaves your warehouse.

Pain point #2: outdated country-specific tariff rates

EU customs duty is not one number. It varies by product type and destination country — and the rates change. A static spreadsheet you built in January is wrong by October.

Add the 2026 regulation on top: the €3 flat fee applies per item, but normal ad-valorem duties still apply above certain thresholds and for many categories, and the exact treatment differs by member state's application of the new rules. If your rates are stale, you are flying blind — estimating at checkout, hoping the carrier doesn't come back with a different figure.

What sellers should actually run: a live tariff check per SKU per destination country, so the number you show at checkout and the number customs applies match.

Pain point #3: manual commercial invoices — slow, error-prone, expensive

Every EU customs declaration needs a commercial invoice with the right product description, HS code, value, and origin. Doing that by hand, spreadsheet by spreadsheet: takes time you don't have at scale, produces typos and mismatched values that customs will notice, and creates a paper trail problem when you ship 50+ orders a day.

Automated, compliant invoice generation is table stakes in 2026 — and it should be one click from the product data you already have in Shopify, not a manual re-entry of the same fields.

Pain point #4: no pre-shipment tariff risk audit

Most sellers only discover a classification or rate problem after the parcel is stuck in customs — when the cost is already sunk. The missing step is a pre-shipment audit: check your product's tariff risk before it leaves your store, so problems surface in your dashboard instead of in a customs warehouse.

  • Reactive: parcel held → carrier invoice for storage → customer refund → lost margin
  • Proactive: SKU flagged pre-shipment → fix the code → parcel clears in hours

What one incident actually costs (beyond the €3)

Customs holds are rarely a single fee. A typical incident compounds:

CostWhat it is
Storage feesCarrier/customs warehouse charges while your parcel sits (daily)
Return shippingThe parcel comes back to you — you pay freight both ways
RefundThe customer paid, never received, claims a refund
Lost customerOne bad experience; they do not reorder

For low-value shipments the per-incident cost typically lands between €30 and €50 — and one mistake can easily exceed a full year of what proactive tariff tooling costs. For a store shipping hundreds of parcels a month, a single systemic error (one wrong product category across your whole catalog) multiplies that across every affected order.

What to fix today (a practical checklist)

  1. Audit your HS/CN8 codes. Every active product needs one — checked against an EU-maintained CN8 library, not guessed. Flag anything you manually typed in from memory.
  2. Verify your rates per destination. Don't rely on one EU-wide number. Your checkout estimate must match each destination country's tariff treatment.
  3. Automate your commercial invoices. One click, generated from existing Shopify product data, always compliant.
  4. Add a pre-shipment risk check. A dashboard that tells you before shipping which SKUs carry tariff risk — instead of finding out when customs holds them.
  5. Re-check after policy changes. The 2026 €3 duty and the 2028 expiry date are scheduled changes; your tools should be maintained, not static.

One more thing to understand: how the €3 is actually charged — per parcel or per item? — and how HS6 grouping cuts those charges legally.

How DutyRight helps IOSS sellers get this right

DutyRight is a Shopify app purpose-built for merchants shipping to the EU under the €150 IOSS rules — from €3/month.

  • Pre-screen your Shopify catalog against a maintained EU CN8/HS library, and get told about mismatches before they reach customs
  • Country-specific tariff calculation for IOSS shipments (parcel value < €150), matched to the destination member state
  • One-click commercial invoice generation for customs declarations — no manual spreadsheets
  • Roadmap: order-level tariff audit (V2) — free for waitlist members

DutyRight is currently under Shopify review. There's no demo or test version yet — you're reserving your spot and your early-bird discount. The App Store install link arrives by email when we go live.

Join the waitlist →

FAQ

What is the EU €3 customs duty?

Since 1 July 2026, the EU charges a temporary flat customs duty of €3 per item on low-value imports (intrinsic value ≤ €150) from outside the EU, replacing the previous duty exemption. It applies until 1 July 2028 (Council Regulation (EU) 2026/382).

Does the €3 duty apply per order or per item?

Per item / per tariff line in the consignment. A parcel with two items is charged €3 twice (€6 total) — but products sharing the same HS6 code can be grouped into one line, as explained in our HS6 grouping guide.

What is the IOSS €150 threshold?

Under the Import One-Stop Shop scheme, you can collect and remit EU VAT at checkout for consignments with an intrinsic value not exceeding €150 (excl. VAT and shipping). Above €150, import VAT and customs duties apply and are typically collected by the carrier — which often means delays and refused deliveries. See the full IOSS guide for Shopify sellers.

Why did my buyer pay $0 duties but I got a customs bill?

Almost always a missing or incorrect HS code on the product, which makes Shopify's checkout estimator default to $0. Fix the HS code; the estimate corrects itself.

Can customs re-classify my product with a different HS code?

Yes. Destination customs authorities can apply a different HS code than declared. This changes the duty and can cause holds or supplementary charges.

What is a commercial invoice, and why does customs need it?

It's the document accompanying the parcel that states product description, HS code, value and origin. Incomplete or inaccurate invoices are a leading cause of customs holds and storage fees.

How much does a held parcel actually cost?

A typical incident (storage + return shipping + refund + lost customer) lands between €30 and €50 — often more than a year of proactive tariff tooling.

What is DutyRight, and is it available now?

DutyRight is a Shopify app for EU IOSS sellers: HS/CN8 pre-screening, country-specific tariff calculation, one-click commercial invoices, and a roadmap order-level tariff audit. It's under Shopify review — you can join the waitlist for the launch link and an early-bird discount.

This article is for informational purposes. Tariff estimations are reference only; final customs classification and duty are determined by local EU customs authorities.

About the data in this guide

Every figure in this article is checked against the official EU sources listed on the About & data sources page (Regulation (EU) 2026/382, the TARIC and Commission guidance). Spot an error or a broken link? Email support@eur3duty.com and we'll correct it.

Before Nov 1: get your HS6 groups right

From November 1, every declaration line to the EU costs €5 (€3 duty + €2 Union Handling Fee), and multi-line orders stack. DutyRight builds the exact HS6 grouping your store needs — join the waitlist and get the free checklist plus early-bird access when we launch.

Join the DutyRight waitlist →

Early-bird discount for waitlist members · No spam, unsubscribe anytime.