From November 1, B2C shipments into the EU worth up to €150 need product identifiers, and a new €2 handling fee applies to every B2C parcel.
Last Updated Oct 22, 2026 – 6 min read
Three EU changes are reshaping cross-border shipping this year. Two decide what you pay. One decides whether your parcel gets through.
The first took effect July 1, when the EU ended its de minimis exemption and added a flat €3 duty on low-value B2C shipments. Two more arrive November 1. B2C shipments to the EU valued up to €150 need product identifiers (PIDs) for each item, and every B2C parcel, at any value, faces a new €2 handling fee. Here’s what to know about all three, and how to set up your EU shipping so none of them slows you down.
Every EU-bound parcel now raises a question: who covers duties and taxes?
With Delivered Duty Unpaid (DDU), your customer pays at delivery. That means a charge request before they can collect the package. Now that a duty applies to nearly every low-value B2C shipment, those requests show up more often. Some customers refuse the parcel, and it comes back to you. The new handling fee (below) is non-refundable once the parcel has been declared to customs, so a refused DDU parcel can mean charges with no sale to cover them.
With Delivered Duty Paid (DDP), you cover duties and taxes, and your customer pays nothing at the door. Not sure which fits your business? The DDP vs. DDU guide breaks down the tradeoffs.
GlobalPost Plus is a DDP solution where you pay taxes after the shipment ships, via a post shipment billing adjustment. Your customer gets a smooth delivery, and you settle up afterward.
GlobalPost Plus Duties and Taxes Included is a fully landed solution, available to select countries. You pay duties and taxes when you buy the label, so your costs are settled before the parcel leaves.
Both keep surprise fees away from your customer, and both work best when your shipment data is complete. That's where the November 1 PID rule comes in.
From November 1, the EU is expected to introduce a €2 handling fee on goods sold online to consumers and shipped into the EU. It covers the cost of customs processing.
Which shipments are affected. Every B2C online sale shipped into the EU from outside it, regardless of value, including parcels over €150. B2B shipments aren’t affected.
How the charges are calculated. Both the €2 handling fee and the €3 duty are calculated per line of the customs declaration, not per parcel and not per unit. A line groups goods that share the same tariff classification (HS code), description, and, where declared, country of origin. Whether a line holds one unit or ten, the charge applies once. Every different product on the declaration is its own line and is charged separately.
Accurate HS codes, product descriptions, and country of origin (manufacturer) on each item in your customs information help keep your costs predictable.
Shipments valued up to €150: €3 duty plus €2 fee per declaration line
Shipments valued over €150: standard duty plus €2 fee per declaration line (the €3 duty doesn’t apply)
From November 1, EU customs requires PIDs for every item in a B2C shipment valued up to €150. Parcels over €150 don’t need PIDs, but the €2 handling fee still applies to them.
Each item needs two of three identifiers. Here's how they break down:
M-PID (Merchant Product ID): always required. This is your own product identifier, usually your SKU.
S-PID (Standardized Product ID): required when one exists. It's a globally recognized manufacturer product identifier such as a GTIN, EAN, UPC, or ISBN. Most branded and retail products already have one. This is required only where it exists.
NS-PID (Non-Standardized Product ID): the fallback when there's no S-PID. Picture a seller who makes custom, hand-knit sweaters and sells them on Shopify. There's no manufacturer code to look up, so an NS-PID fills the gap. If you are the maker of the sold goods, your internal product identifier or model number would be provided in this required field. It can look a lot like your SKU, but it must be unique. For example, if your SKU is 1254839, your NS-PID might be 1254839A.
In short: every item needs an M-PID, plus an S-PID if it has one, or an NS-PID if it doesn't.
Most product catalogs weren't built for this level of detail, and the gaps tend to show up in the same places.
Style-level identifiers. PIDs must be set per variant. A t-shirt in three colors and four sizes is 12 distinct products, and each needs its own set. One ID for the whole style won't clear.
Batch and lot codes. Customs rejects identifiers set at the batch or lot level. These are common in warehouse systems, so they're easy to reuse by mistake.
Missing S-PIDs on resold goods. If you sell other brands' products, the barcode data may not be in your catalog yet. Pulling it together can take time, so start early.
PIDs have been accepted on a voluntary basis since July 1, with no penalty for shipping without them. That gives you a free test window.
Enter your product data now, run a few real EU shipments, and see what comes back. Gaps you find today cost you nothing. The same gaps in November could mean held or rejected parcels.
A few weeks is enough if you start now.
A few related details are still being finalized on the EU's end. This guidance will be updated once they're confirmed.
Sellers who treat November 1 as a data project, not a last-minute form, will clear customs with the least friction. Get your EU shipments ready for what's next. Start with GlobalPost today.
Disclaimer: This is not legal or tax advice and is not a guarantee of customs clearance outcomes, duty amounts, or fees. Please consult your advisors for guidance specific to your business.