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.

The cost side: Who pays at the border?

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.

The new €2 EU handling fee

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

  • 3 identical mugs (€60) = 1 declaration line. €3 duty plus €2 fee = €5.
  • Mug, T-shirt, and hat (€90) = 3 declaration lines. €9 duty plus €6 fee = €15.

Shipments valued over €150: standard duty plus €2 fee per declaration line (the €3 duty doesn’t apply)

  • 5 identical T-shirts (€250) = 1 declaration line. Standard duty for the product plus €2 fee.
  • Jacket (€200) and shoes (€100), €300 in total = 2 declaration lines. Standard duty for each product plus €4 fee.

The data side: What the PID rule requires

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.

Where catalogs break down

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.

Test before it's mandatory

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.

Your pre-November 1 checklist

A few weeks is enough if you start now.

  1. Audit EU-bound products. Flag every item missing an M-PID, S-PID, or NS-PID, and confirm each variant has its own set.
  2. Fill the S-PID gaps first. Track down GTINs, EANs, UPCs, or ISBNs for products that have them. Create a unique NS-PID for those that don't.
  3. Go bulk, not manual. Check your order management or ecommerce platform for bulk export and import. Export your product list, fill in the PID columns, and import it back instead of editing one product at a time. This step happens in the software you already use, such as ShipStation, Shopify, or your marketplace of choice.
  4. Choose your DDP setup. Decide whether GlobalPost Plus or GlobalPost Plus Duties and Taxes Included fits your EU orders, and get it in place before the deadline.
  5. Clean up your customs data. Check that every item has an accurate HS code, product description, and country of origin. The €2 fee and €3 duty are both calculated per declaration line, so clean data keeps your costs predictable.

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.