Supply Chain Action Points
Read this first — the conclusion, and the moves to make:
- Before 15 November, pull the top 20 baskets by order count and write the declared commodity-code count beside each one; treat anything above two codes as a margin problem and re-price or re-bundle it this quarter.
- Ask your broker in writing, by 10 November, what the charge unit is on a multi-code order and whether the fee is refunded on a consumer return, and get the answer before the first invoice rather than after the first dispute.
- Put the product identification code into the checkout flow as a required field by 30 November so it is captured at order creation, not added by the warehouse at handover.
- Compute the fee as a percentage of price for your ten cheapest baskets and stop selling direct from outside the bloc any basket where it exceeds 30 per cent of the goods value.
- Model the cost at 2 euros rather than 5 from 2028 onward, and model it at 5 for the next eight quarters only, so no three-year plan assumes either the duty or the fee is permanent.
- For any basket that survives, move the stock into an EU warehouse this quarter; a parcel that ships domestically is not an import and does not carry the fee at all.
From 1 November every item in a parcel sent directly to an EU consumer from outside the bloc carries a 2 euro Union handling fee, on top of the 3 euro duty introduced in July: 5 euros per declared customs category on goods that entered duty free until this year. It is charged per item, not per parcel, so an order spanning several tariff classifications pays more than once, and it is permanent and reviewed every two years, unlike the duty that runs to July 2028.
The Analysis
From 1 November every item in a parcel mailed from outside the bloc to an EU consumer carries a 2 euro Union handling fee, and it lands on top of the 3 euro duty that came in during July. Five euros per declared customs category, on goods that entered duty free until this year. The charge is per item and not per parcel, which means an order spanning several tariff classifications pays more than once. The duty runs to July 2028. The fee is permanent and gets reviewed every two years. Behind it sits a flow of nearly six billion small parcels into the EU in 2025, about 93 per cent of them from China, and a 64 per cent fall in import volume after the July levy. Same day, low-value parcels also have to declare a product identification code.
The first thing to look at is not the two euros. It is the thing the two euros is charged on, because that is where the money actually moves. Read the announcement in English and it says per item. Read it in the Chinese version and it says per category, not per piece. Those are two different units and only one of them can be right. For a customs broker the answer is not ambiguous at all: the unit of charge is the declaration line, and a line is a commodity code with a value and a quantity attached. Six t-shirts in one code is one line. Six items across four codes is four lines. So when the release says a multi-category order pays more than once, it means the invoice is driven by how many codes you put on the entry, not by how many parcels you tender and not by how many pieces are in the box.
That distinction decides everything downstream, so let me put a number on it. A three-category order pays five euros three times, which is fifteen, not five. A customer who buys a phone case, a cable and a charger in one checkout is not one parcel to this rule, they are three lines, and the difference between five and fifteen is not a rounding item on a fourteen euro basket. Assume an average order of 14 euros and 2.4 declared categories, which is a shape most marketplace baskets actually have. The fee comes to 12 euros. That is 86 per cent of the goods value, added at the border, on top of postage. Nothing in the flow has changed except the paperwork, and the paperwork has just become the largest line in the order.
Which explains the 64 per cent. A fee that size does not nudge behaviour, it removes it. Take the nearly six billion parcels that entered in 2025, about 93 per cent of them from China, which is roughly 5.6 billion, and apply a 64 per cent fall and you are left with a bit over two billion. That is not a market adjusting, it is a market being deleted at the low end. And the shape of what got deleted tells you what the instrument actually does. It is a flat charge on a variable value, so it is regressive by construction. Five euros on a 120 euro order is 4 per cent. Five euros on a 12 euro order is 42 per cent. The fee does not tax cheap goods more on purpose; it taxes them more because it is fixed and they are not. The result is the same either way: the low-value basket stops working and the mid-value basket absorbs it.
There is no floor under it either, and this is the detail that kills the sample trade. The old de minimis logic meant small values slipped under a threshold. This instrument has no threshold. A two euro item pays five euros, which is 250 per cent of the goods value. A five euro item pays 100 per cent. Whatever you thought the floor of your range was, the floor has moved up to the point where the cheapest thing you can profitably mail is no longer cheap. Pull your own catalogue and mark the price at which the fee stops being smaller than your gross margin. For most multi-code baskets it is not where people expect.
Then take the break-even and be blunt about it. If you want the fee to sit at 15 per cent of price or less, a 2.4-code basket at five euros a line means 12 euros of fee, which means an 80 euro price. Not 14. Not 20. Eighty. That is the number the rule is quietly asking for, and it explains why the surviving part of the market looks like branded, higher-ticket, single-code goods and why the long tail of cheap accessories went quiet. Nothing was banned. The arithmetic simply priced a segment out of existence and did it in one line of a legal text.
Now the document chain, because that is where this breaks for the operator and where almost nobody has looked. Four links, and any one of them failing turns a five euro line into a held shipment. The commodity code has to be right, because the code is the charge unit and a wrong code is both a wrong fee and a wrong declaration. The product identification code now has to be on the low-value parcel from the same day, which means the data has to be captured at order creation and not at handover to the carrier.
The importer of record has to be named, and for direct-to-consumer mail that is usually a platform or a carrier acting as declarant, which means the party who owes the fee is often not the party who set the price. And the fee has to be collected, which for a consumer parcel means either at checkout or at delivery, and each choice has a different failure mode: collect at checkout and you need the code before payment, collect at delivery and you get refused parcels and a returns cost you did not model.
Notice that the identification code runs on the same unit logic as the fee, and that is not a coincidence. If the code is per item and the item means the declaration line, then a five-line parcel needs five codes, not one, and the data burden scales with basket complexity exactly as the charge does. This is the part of the change that no commercial team has budgeted, because it does not appear as money. It appears as a field that has to be populated at order creation, validated before payment, and passed to the carrier in a message format that half the mid-size platforms do not currently emit. Build that and the fee is a pricing decision. Miss it and the fee is a customs hold, which costs more than five euros and takes longer than a week to clear.
Here is the part I would put in front of a board. The unit of charge is the line, so consolidation is not a strategy. Most operators hear a per-item fee and reach for the obvious answer, which is to ship fewer, bigger parcels. It does nothing. Three categories consolidated into one parcel still pay three times, because the charge follows the declaration and not the box. Split them into three parcels and you still pay three times. The only lever the rule leaves you is the number of commodity codes on the entry, and there are exactly two honest ways to reduce it: sell baskets that sit in one code, or hold stock inside the bloc so the parcel is no longer an import. Everything else is postage arithmetic dressed up as tax planning.
And the lever has a trap in it that nobody mentions, so let me say it plainly. If the code count is the tax base, somebody in your company will eventually propose merging two codes to save five euros. Do that only where the goods genuinely belong in one code, because the saving is five euros and the exposure is a misclassification, which is a penalty plus a retroactive correction plus a broker who now reads every line you file. Five euros is not worth a classification argument. The right answer is to design baskets that are honestly single-code, not to describe multi-code baskets as single-code and hope the scanner agrees. I have watched operators win the five euros and lose the year.
Who actually owes the money is the other thing to settle before the first invoice. For direct-to-consumer mail the importer of record is usually the platform, the postal operator or a carrier acting as declarant, which means the party legally liable for the fee is frequently not the party that set the retail price and not the party that chose the commodity code. In practice the cost gets pushed back through the commercial agreement within a month or two, and the pushing is where the disputes live. Get the liability sentence into your carrier contract in writing, and get it there before 1 November rather than after the first batch of invoices arrives with a line nobody expected.
On the second of those, Ingrid Voss made the point in her reading of the July phase that this fee is drafted as a customs processing instrument rather than a trade measure, and that drafting is why it outlives the duty it sits on. That is the sentence to keep. The three euro duty has a date, July 2028. The two euro fee has no end date and a review every two years, which means the version of this cost you should model is not five euros, it is two, and it is two forever. Anyone building a three-year plan on five euros is modelling a temporary state as permanent. Anyone assuming the whole thing lapses in 2028 is doing the opposite and will be wrong in the more expensive direction.
Layered, it looks like this. A single-code seller shipping one product line gets hit once and can absorb it by moving the price point up a bracket. A multi-code seller gets hit per code and cannot, because the basket is the product. A seller with stock already inside the EU is not touched by the fee at all, since the parcel is no longer an import, and that is the whole reason the warehousing question has moved from a cost decision to a compliance decision this quarter. And the 93 per cent concentration matters at the industry level rather than the firm level: an entire export model built on many small, cheap, multi-code baskets was the exact shape this instrument was designed to make uneconomic, and the 64 per cent is the receipt.
Worth saying out loud that the text names nobody. There is no country in it, no origin test, no listed operator, and it applies to every parcel from outside the bloc with perfect even-handedness. It also lands on a flow that is 93 per cent one origin. Both things are true at once, and the second is not written anywhere in the instrument. That is the pattern worth learning from, because it is cheaper and more durable than a targeted measure: write a rule about declaration structure, let the trade profile do the targeting, and you never have to defend the targeting. The 64 per cent shows it worked. The absence of a named party shows it was engineered to work that way.
Timing, because there are four dates and people keep collapsing them into one. The fee applies from 1 November, on parcels entering from that date, so anything already in the air on the first is a question for your broker and not a question for the internet. The product identification code requirement starts the same day, which means the data change is the urgent one and the money change is the visible one. The duty expires in July 2028. The fee review lands on a two-year cycle from November, so the first realistic date at which the fee could change is late 2028, after the duty has already gone. Four dates, and the one that decides your pricing is the last one.
The counterfactual worth arguing about is the design. Had the fee been per parcel, consolidation would have been the whole game and every operator in the market would have spent the quarter merging shipments. Had it been a percentage, the low-value segment would have survived and the revenue would have been smaller. The drafters chose a flat charge per declaration line, which is the version that raises the most money from the segment that files the most lines, and it is also the version that cannot be gamed by logistics. That is not an accident. It is the only design that survives contact with an industry that is very good at repackaging.
There is a delivery-term question hiding inside all this, and it is the one that decides who eats the fee. Sell delivered duty paid and the five euros per line is yours, so it goes into the price and into your conversion rate. Sell delivered at place and the consumer meets the charge at the door, which for a 12 euro basket means a refusal, a return leg, and a refund on a sale you already paid the outbound fee for. Both models worked while the charge was zero, which is why nobody has a rule for this. The operators who come out of the next two quarters intact will be the ones who moved to duty paid and repriced in the same week, rather than the ones who kept the headline price and discovered the refusal rate in January.
Walk one order through the border and the shape becomes obvious. A shopper buys three items, four pieces, 14 euros, three codes. The entry is three lines, so the fee is 15 euros on top of the 3 euro duty per line, which is another 9, so 24 euros of charge on a 14 euro order. The carrier acting as declarant pays it, invoices the seller under the commercial agreement, and the seller discovers that the basket which cleared a 22 per cent margin at 5 euros of charge now clears nothing at 24. No single step in that chain is unreasonable. That is what makes it hard to argue with and easy to miss.
So what does this ticket look like on Monday. Take your top twenty baskets by order count and write the declared category count next to each one. Anything above two is now a margin problem and not a logistics problem. Then take your ten cheapest baskets and compute the fee as a percentage of price; anything over 30 per cent is a product that should not be sold direct from outside the bloc any more, and the honest options are to raise the price, bundle it into a higher-value basket, or move the stock. Then fix the data: the product identification code has to exist at order creation, which means a field in the checkout flow and not a spreadsheet in the warehouse.
One more thing nobody has asked yet, and it will be the expensive one. The note does not say what happens to the fee when the consumer returns the goods. If it is not refunded, a 30 per cent return rate on a five euro fee structure turns into a cost that appears in no forecast, because the fee was collected on a sale that later reversed and the goods come back as a return rather than an import. Ask your broker for that answer in writing before the first invoice, not after the first dispute. Two euros is a small number. The number of times you pay it is not.
One thing you can do that is not defence. The fee is reviewed every two years, which means there is a consultation before each review, and a consultation is a place where a documented number from an operator carries more weight than a position paper from an association. Your own refusal rate, your own fee-to-price ratios, your own lost order volume are the evidence that a per-line charge has a design problem. Nobody in Brussels can compute those from the aggregate, because the aggregate only shows that volume fell 64 per cent and does not show why. Collect the data anyway, from now, even if you never send it, because the same numbers are what you need to price the next iteration of the rule if the review moves the wrong way.
And the cold part. Six billion parcels, ninety-three per cent from one country, sixty-four per cent gone in four months, and the debate is still about whether two euros is a lot. It is not a lot. It is just charged more often than anyone counted, on the one line in the file that nobody in the commercial team has ever read.
↑ Back to the key points