AI Summary - 20-sec read - Reviewed by experts
- On 1 July 2026 the EU removed its 150-euro duty-free threshold on imported parcels and replaced it with a flat 3-euro customs duty on low-value consignments - charged per distinct product type (HS6 code) in the box. Any brand shipping into the EU is affected, including non-EU D2C sellers.
- The absolute amount is small; the problem is where it lands. A fixed 3-euro duty is a large slice of a 20-euro order and almost nothing on a 500-euro one, so it taxes exactly the low-value, high-volume orders D2C runs on - and a mixed bundle is charged per product type, so three items can mean nine euros.
- This is a margin and data problem, not a courier one. Three numbers now have to be right per order: the HS classification of every SKU, the duty-inclusive (DDP) price shown at checkout, and the duty recorded against the order so you can reconcile it - and you cannot reclaim the 3-euro duty if the customer returns the goods.
- The clean fix lives in your product and order systems: HS code and country of origin as product attributes, a landed-cost figure feeding checkout, and duty captured per order line in the ERP - so pricing, filing, and returns all read from one source instead of a spreadsheet.
- Short on time? We wire HS codes, landed cost, and duty capture into your product records and Odoo so your EU pricing and reconciliation come out of the system you already run. Book a free call.
Short on time? Book a free call.
As of 1 July 2026, the EU has scrapped its 150-euro duty-free threshold and replaced it with a flat 3-euro customs duty on every low-value parcel entering the bloc - and it is charged per distinct product type in the shipment, not per parcel. For a D2C brand sending 20-euro and 30-euro orders to customers in Germany or France, that is a brand-new fixed cost sitting on your cheapest, most frequent orders. The duty itself is not the hard part. The hard part is that your pricing, your checkout, and your reconciliation now depend on data most brands never had to capture - and getting it wrong shows up as either eroded margin or parcels refused at the door.
What changed on 1 July 2026
Under EU rules until 30 June 2026, any consignment worth 150 euros or less came in free of customs duty. That exemption is gone. In its place, Council Regulation (EU) 2026/382 introduces a transitional flat customs duty of 3 euros on each low-value consignment, and it defines the charge per item - where "item" means each distinct product classification (an HS6 subheading) in the box. A parcel with one product type carries 3 euros of duty; a parcel with three different product types carries nine.
This flat rate is a stopgap. It runs until 1 July 2028, when the EU expects its new customs data platform for e-commerce to be live and ordinary tariff rates - based on each product's full classification, and in many cases higher than 3 euros - to apply instead. Several member states are also adding their own per-parcel handling charges on top, and a separate EU-wide handling fee has been proposed for later in 2026 with the amount still to be set. VAT has not changed: if you were collecting it through the Import One-Stop Shop (IOSS), you still are. What is new is the duty, and the data burden that comes with it.
The part that catches sellers out: it is per product type, not per parcel
Read the definition again, because it is where the cost quietly multiplies. The duty is levied on each distinct HS6 subheading in a shipment. So a customer who buys a single 25-euro candle pays you one 3-euro duty. A customer who buys your 45-euro gift set - a candle, a bar of soap, and a greeting card, three different classifications - triggers three. Your upsell just tripled the duty on the order. For any brand whose growth playbook is "raise average order value by adding items," the reform interacts directly with the exact behaviour you have been optimising for.
Not sure what the new EU duty does to your real order economics?
We model it against your actual order mix - single items versus bundles, by destination - and show you where the 3-euro-per-type duty quietly eats margin, so you can reprice or repackage before it does. No pitch, reply in 2 hrs, no card needed, NDA on request.
Get a free auditWhy this is a margin problem, not a shipping one
A courier can collect the duty for you; no software makes it disappear. The reason it stings is arithmetic. A fixed charge is regressive against order value: 3 euros is fifteen percent of a 20-euro order and half a percent of a 600-euro one. D2C - especially in beauty, supplements, accessories, and apparel basics - lives in the 15-to-40-euro range, which is precisely where a flat duty does the most damage. A brand that ships thousands of low-value EU orders a month has just acquired a new per-order cost that scales with its best-selling, most-repeated purchases.
You have three ways to absorb it, and all of them are decisions, not defaults: raise EU prices and risk conversion, swallow the duty and lose margin, or restructure how orders are packed and priced so the duty falls where it hurts least. You cannot make that choice sensibly without knowing, per order, what the duty actually is - which is a data question your systems have to answer.
The three numbers your systems now have to get right
Turn the rule into requirements and three data points have to be correct on every EU order:
- The HS classification of every SKU. The duty is defined by HS6 code, so an accurate, complete classification per product is no longer a nice-to-have for the logistics team - it decides how many 3-euro charges a parcel attracts and, from 2028, the full tariff. Getting product data right is the foundation, a point we made in cross-border tariffs hinge on your product data; this reform makes it non-optional for EU shipping.
- The landed cost shown at checkout. If the duty is a surprise the courier collects at the door, a share of customers refuse delivery - and a refused parcel is a double loss, because you eat the return leg and the duty you cannot reclaim. Showing a duty-inclusive (DDP) price at checkout keeps the promise the customer paid for. That means a landed-cost figure computed live from the cart's contents and destination, not a flat guess.
- The duty recorded against the order. Because you cannot reclaim the 3-euro duty when goods are returned, every EU order needs its duty captured as a line you can see, sum, and reconcile - for margin reporting, for returns handling, and for the day finance asks what cross-border duty actually cost last quarter.
Where this lives in your stack
None of this is a checkout plugin you switch on. It is three connected pieces of operational data, and the clean place to solve it is where the rest of your product and order truth already lives.
First, HS code and country of origin become first-class product attributes, stored per SKU alongside price and weight. That is a natural job for a product information management layer, and the same structured-attribute discipline an Odoo ERP implementation brings to the rest of your catalogue. Classify once, reuse on every order.
Second, a landed-cost calculation turns those attributes plus the destination into a duty figure the storefront can show. The concept is the one brands already use for inbound landed cost on imported goods, pointed the other way - at the parcel going out. Wired through your Shopify and Odoo link, the cart knows the contents, the system knows the classifications, and the customer sees a duty-paid price.
Third, the order record carries the duty. Your inventory and order system stores what duty applied, so reconciliation and returns are reports rather than reconstructions. This is the same principle behind automating GST and tax compliance: the number should be generated by the system that holds the transaction, never re-keyed from it.
The EU duty is small per parcel and large across a year - and invisible until you measure it.
We build HS classification, live landed cost, and per-order duty capture into your product records and Odoo, so your EU pricing is right at checkout and your reconciliation is a report, not a rebuild. Reply in 2 hrs, NDA on request.
Book a free callTakeaways
- From 1 July 2026 the EU's 150-euro duty-free threshold is gone; a flat 3-euro duty applies to low-value parcels, charged per distinct product type (HS6), until full tariffs arrive in 2028.
- It is regressive: 3 euros is a heavy slice of a 20-euro order and almost nothing on a large one, so it taxes D2C's low-value, high-volume orders hardest - and bundles are charged per product type.
- Three numbers must be right per EU order: HS classification of each SKU, a duty-inclusive (DDP) price at checkout, and the duty recorded against the order for reconciliation.
- You cannot reclaim the 3-euro duty on returns, so surprise duty collected at the door turns refusals into double losses - the return leg plus the sunk duty.
- Solve it in your product and order systems - HS code and country of origin as attributes, live landed cost feeding checkout, duty captured per order - not in a spreadsheet.
The D2C cut: who is most exposed
The reform does not hit every brand equally. Four profiles should model it this week. Low-AOV brands - beauty minis, supplements, socks, phone accessories - because the flat duty is the biggest share of their order value. Bundlers, because per-HS6 charging multiplies duty on exactly the multi-item orders they push. Subscription boxes, where a curated mix of product types can carry several duties every single month, per subscriber. And multi-channel sellers whose EU orders arrive from a website, a marketplace, and wholesale at once - each channel needs the same classification and landed-cost logic, or the numbers disagree. If your growth has been built on cheap, frequent, multi-item EU orders, you are the case study this rule was written around. The back-office-first pattern is the same one behind the EU withdrawal-button mandate: the visible rule is simple, and the compliant, profitable version of it is a data build.
Where to start without over-engineering
You do not need a customs platform by Friday. Start with three moves. Switch your EU shipping to a duty-paid (DDP) basis now, so customers stop being ambushed at the door and your refusal rate does not spike. Classify your top EU-selling SKUs properly - the handful that make up most of your European volume - so the majority of your orders carry a correct, defensible duty, and extend to the long tail after. And model your bundles: for each multi-item offer, count the distinct product types and decide whether the duty math still works, or whether a single-classification pack serves the customer just as well for less. Do those three and you have covered most of the exposure with a fraction of the effort - and you are ready for the larger changes, the EU handling fee later in 2026 and full tariffs in 2028, before they arrive rather than after.
Frequently asked questions
Does the EU 3-euro duty apply to non-EU sellers?
Yes. The duty is levied on the goods entering the EU, not on the seller's location, so a D2C brand shipping from India, the UK, the US, or anywhere outside the bloc to an EU customer is in scope. If your parcel crosses into the EU and the consignment is worth 150 euros or less, the flat 3-euro-per-product-type duty applies from 1 July 2026, regardless of where you are based.
Is the 3-euro duty charged per parcel or per item?
Per distinct product type. The rule defines the charge on each separate HS6 classification in the shipment, so a parcel containing one type of product carries one 3-euro duty and a parcel containing three different product types carries three. This is why bundles and mixed orders need modelling - their duty is not a single flat 3 euros.
Do I still charge VAT through IOSS?
Yes, VAT is unchanged. If you were collecting EU VAT on low-value consignments through the Import One-Stop Shop, you continue to. The 2026 reform adds a customs duty that did not exist below 150 euros before; it does not replace or remove the VAT obligation. The two are separate lines a compliant order now has to account for.
What happens after 2028?
The flat 3-euro duty is transitional. It runs until 1 July 2028, when the EU expects its e-commerce customs data platform to be operational and standard tariff rates - based on each product's full classification and often higher than 3 euros - to apply to low-value imports. The data you put in place now for the flat duty is the same data those higher, classification-based duties will require, so the work is not throwaway.
The EU's de minimis reform is one more 2026 rule that looks like a customs headline and is really a data-and-margin problem. The 3 euros is trivial to pay and expensive to ignore, because it lands on your cheapest orders and depends on product and order data most brands never captured. Classify your SKUs, price EU orders duty-paid at checkout, and record the duty where the order lives - inside the ERP and product records you already run - and the reform becomes a line you manage rather than a margin leak you discover at quarter-end. If you want that built - HS classification, live landed cost, and per-order duty capture wired through your Odoo and Shopify integration - our team does exactly this. Book a free call and we will tell you honestly what the new EU duty is costing your real order mix, and how much of it is fixable in your systems.
Founder and CEO of Braincuber. Has scoped and shipped 500+ Odoo, AI, and cloud projects for US mid-market and global brands. Takes every founder call personally — no SDR layer between buyers and the people building the system.
