Shopify Customs Compliance: What an EU Compliance App Actually Does (2026)

---

Customs compliance is the part of ecommerce nobody enjoys — until a parcel gets held for 15 days, a customer demands a refund, or a carrier invoice lands with charges you can't explain. On Shopify, there is no "compliance switch" you flip on. It's a set of data decisions your store makes every day: the HS code on each product (get it right with a HS code lookup tool), the value you declare, the tax you collect, and the fees that show up at the border.

Starting November 1, 2026, those decisions cost more. The EU's flat duty on low-value parcels rises from €3 to €5 per declaration line. That makes compliance — done right, automatically — a margin issue, not a paperwork issue.

What "customs compliance" means for a Shopify store

For a store shipping into the EU, compliance is four separate jobs that most merchants don't realize are separate:

1. HS codes. Every product needs a customs classification (the HS6 level matters most for the new per-line duty rules). Wrong codes cause holds, storage fees, and re-declarations. 2. Duty estimation. Knowing what a parcel will cost to import before the customer checks out — the €3/€5 flat duty, plus VAT (IOSS if registered). 3. Declaration accuracy. What your carrier files at the border has to match what's true about the shipment. 4. Audit and reconciliation. After delivery, checking that what you were charged matches what the rules say you should pay.

Most sellers do none of these systematically. The border doesn't care.

The four jobs of an EU customs compliance app

JobWhat it doesWhy you need it in 2026
HS code managementAssigns and stores HS6 codes per product, validated against EU tariff dataThe €3/€5 duty is charged per declaration line — grouping by HS6 can legally cut fees by 73–80%
Duty estimationCalculates expected import charges (duty + VAT) per orderCustomers can't budget for invisible costs, and you can't decide who pays without the number
Declaration accuracyKeeps product data (codes, value, origin) clean before it reaches the carrierWrong declarations are the #1 cause of customs holds (5–15 days) and refunds
Audit & reconciliationCompares actual charges against the rules, order by orderThe €3→€5 change is a 67% increase — overcharging patterns don't fix themselves

A compliance app isn't one feature. It's whether those four jobs happen consistently, without you becoming a customs clerk.

What Shopify does — and doesn't — do natively

Shopify gives you useful plumbing: you can collect VAT at checkout with IOSS, add shipping and customs fields, and even store HS codes in product metafields. What Shopify does not do:

1. It doesn't calculate EU duty at checkout — duty is separate from VAT, and Shopify doesn't estimate it. 2. It doesn't validate your HS codes against EU tariff rules. 3. It doesn't audit what carriers actually charged you. 4. It doesn't group declaration lines to minimize the per-line duty.

The platform handles the store. The border needs a different layer.

How to evaluate a compliance app for your store

Before installing anything, run this checklist:

1. Does it manage HS6 codes per product? Not "AI guesses a code once" — maintained, editable, exportable classification. 2. Does it understand per-declaration-line charging? The €3/€5 duty is per line, not per order. Tools that ignore this will mislead you. 3. Does it handle IOSS separately from duty? VAT and duty are different regimes; an app that mixes them will break your numbers. 4. Can it audit existing orders? If it can't look at what you were charged and compare it against the rules, it's not compliance — it's a calculator. 5. Does pricing match your order volume? A per-order duty audit tool only pays for itself if it catches overcharges — check what the audit actually returns.

The real cost of doing compliance manually

Before you decide an app is unnecessary, price the manual version:

1. Time. A store with 200 SKUs needs 200 HS codes maintained, checked, and updated when tariff data changes. That's not a weekend task — it's an ongoing duty. 2. Error rate. Studies and carrier experience agree that seller-assigned codes are wrong a meaningful share of the time; each wrong code risks a hold (5–15 days), storage fees, or a re-declaration. 3. Unseen charges. Without reconciliation, you never know whether carriers charged the correct per-line duty. The €3→€5 increase is a 67% jump; a 10% overcharge rate on top of it is pure margin loss you can't see. 4. Audit risk. If customs audits your records and your classifications don't match what was declared, the fines land on you — not on the tool that let it happen.

Compliance isn't a feature you turn on once. It's a data discipline that has to run every day, and the cost of running it manually only grows as fees rise.

Where DutyRight fits

DutyRight is a Shopify app for EU duty audit and HS code management — built around the two rules that cost sellers real money in 2026: the per-declaration-line duty (€3 → €5 on November 1) and the HS6 grouping that legally reduces declaration fees. It audits existing orders for overcharges, keeps your product classifications accurate, and shows you what each EU order actually costs before and after delivery.

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.

Join the DutyRight waitlist →

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.