EU parcel held or returned after 1st November? Check your product identifiers
If a parcel to an EU customer is held, returned or questioned after 1st November 2026, ask your carrier for the reason and check the product data. From that day every product sold to a consumer in the EU and shipped from outside the EU, in a parcel worth up to EUR 150, is declared to customs with up to three product identifiers, and customs start enforcing it. UPS and DHL say shipments without them can be delayed or returned, and FedEx asks for them on every shipment even though it says EU Member States are expected to support a temporary transition period until early 2027. What you can fix yourself is your product data, in your Shopify admin and in three steps.
What carriers say about missing identifiers
Your carrier, postal operator or customs agent files the customs declaration for your parcel, so it is the one that asks you for the identifiers. This is what four carriers say in their own pages, as read on 2nd November 2026. Each is a carrier's own page, not an official statement from customs.
FedEx
Its EU guide (information as of 30th October 2026) says the identifiers are mandatory from 1st November 2026. It says EU Member States are expected to support a temporary transition period until early 2027, in which shipments may continue to move if the identifiers are not available, that this must not be considered a postponement, and that customers should keep providing them for all applicable shipments without delay. It strongly recommends adding them now, to help ensure smooth clearance. In FedEx Ship Manager at fedex.com you give them in the shipping screens, and the Ship API takes them; on your own commercial invoice they go at the end of the item description, for example M-PID123456 NS-PID12AD3456 S-PID123456. Where there is no barcode, write NO in the S-PID, and never leave the field blank. FedEx also asks for the shipper's email and contact details, and the recipient's, so that it can contact you about missing or inaccurate identifiers; they become mandatory in FedEx Ship Manager from 21st November 2026. The installed FedEx Ship Manager, Ship Manager Server and Unified Specification Exchange support the identifiers from March 2027; until then they go on the commercial invoice or packing list.
Read on 2nd November 2026: EU guide, EU customs changes.
UPS
It says three product identifiers are required for each line item as of 1st November 2026, and that shipments arriving in the EU after 1st November without the required identifiers may be delayed, returned or incur a Pre-Release Notification Fee. For Ship API integrations it says to include them; for WorldShip, to use the latest version, which has the identifier fields; with Upload My Form, the commercial invoice must include them, with each type noted on every line; and on UPS.com and CampusShip the fields appear in the shipping flow when you complete the commercial invoice.
Read on 2nd November 2026: Adapting to EU de minimis changes.
DHL Express
Its page of 13th October 2026 (written for exporters in Hong Kong) lists what can follow missing, incomplete or inaccurate identifiers: requests for more information, clearance delays, physical inspections, post-clearance audits, or the shipment returned to origin. The identifiers go in the electronic shipment data when the shipment is created.
Read on 2nd November 2026: Prepare for the EU's new product identifier.
Royal Mail
It said it would begin requiring product identifier data for items posted from 26th October 2026. In Click & Drop, from 1st November 2026 every item in a shipment to an EU country declared as E-Commerce Goods needs a Product SKU and a Non-standardised Manufacturer ID; the standardised manufacturer ID is optional.
Read on 2nd November 2026: EU Trade Insights, Click & Drop help.
Carriers change these pages often. Check your own carrier's before you ship.
What you may see
- A request for the identifiers. Your carrier or customs agent can only use what you give it, and FedEx asks for your email so that it can ask about missing or inaccurate ones.
- Fields to fill in before you ship. FedEx has you give them in the Ship Manager shipping screens at fedex.com, through the Ship API or on the commercial invoice (the installed Ship Manager supports them from March 2027; until then they go on the commercial invoice or packing list). UPS says its Ship API integrations should include them, that the latest WorldShip has the fields, and that UPS.com and CampusShip show them when you complete the commercial invoice.
- A parcel that is delayed or sent back. UPS says shipments without the identifiers may be delayed, returned or incur a Pre-Release Notification Fee, and DHL lists delays and a return to origin among what can follow. FedEx says EU Member States are expected to support a temporary transition period until early 2027, where shipments may continue to move if the identifiers are not available, and that this is not a postponement.
Not every held parcel is a data problem: duty, VAT and fees can also need paying when a parcel is imported. FedEx's page, for example, says the recipient's email helps with the timely payment of duties, taxes and its own fees. Ask your carrier which one it is.
Check the five values on every product in the parcel
- M-PID, your SKU. The variant's SKU; every variant gets its own. None? Give it one.
- NS-PID, the maker's reference. The maker's or supplier's model or part number. PIDReady keeps it as an NS-PID barcode after the product barcode, or in the metafield custom.ns_pid when there is none. None? Ask the supplier; if you make the product, your own reference.
- S-PID, the barcode. The variant's barcode (EAN, UPC, GTIN or ISBN). None? The exception code Y081 (the word NO for FedEx).
- HS code. The HS code field of the variant. None? Ask the supplier or look it up.
- Country of origin. The country of origin field of the variant: where it was made, not where you ship from. None? Ask the supplier.
More on each one: the full guide to the EU product identifiers.
Fix it in three steps with PIDReady
- Scan your store. Install PIDReady from the Shopify App Store. It checks every variant for the five values customs need (SKU, maker's reference, barcode or the no-barcode exception, HS code and country of origin) and shows what is missing. Placeholders such as N/A, repeated SKUs and barcodes with a wrong check digit are flagged.
- Press “Fix everything I can”. One preview shows every safe fix before it is saved: SKUs made from product names, maker's codes your store already has, and ‘Made in’ and HS codes learnt from your own products. Then answer the few questions only you can answer, such as which products have no barcode. Every change can be undone for 30 days.
- Download your carrier file. Choose FedEx's layout or the universal file, which has a column for every code. In the universal file, a variant you have marked as having no barcode carries the exception Y081; in the FedEx file, a variant without a barcode gets the word NO. Give the file to your carrier or shipping app, or copy the values into its form.
Every fix is free, for any size of store. PIDReady works inside your Shopify admin: it does not read your orders and does not contact your carrier, so ask your carrier where it wants the data (its API, the commercial invoice or an upload). Want a first look before you install? The free Check my store counts the variants with an empty, placeholder or duplicate SKU from your store's public product list.
No time? We do it for you
Send us your Shopify product export and your suppliers' lists, and we fill in your EU product identifiers. You check a preview before anything is saved, and you can undo for 30 days. We fill in HS codes and countries of origin only from your own or your suppliers' data: we never choose them for you.
Done-for-you Small is $249 a year for up to 500 variants; Large is $349 a year for up to 3,000. Billed by Shopify, in US dollars, with PIDReady Pro included for 12 months.
Email us about setup How done for you works
Common questions
Why is my EU parcel held at customs after 1st November 2026?
There can be several reasons, and your carrier can tell you which one applies to your parcel. One is missing product identifiers: from 1st November 2026, customs start enforcing them for goods sold to EU consumers and shipped from outside the EU in parcels worth up to EUR 150. UPS and DHL say shipments without them can be delayed or returned, and FedEx asks for them on every shipment even though it says EU Member States are expected to support a temporary transition period until early 2027. Another is duty, VAT or fees that still need paying.
Which identifiers does my carrier need?
Customs ask for the same ones whichever carrier you use: the M-PID (your SKU), the NS-PID (the maker's reference) and, where one exists, the S-PID (the barcode), plus the HS code and the country of origin of each product. Carriers differ in where they want them and in how they mark a missing barcode. The full guide to the EU product identifiers
What do I send when a product has no barcode?
When a product has no S-PID, the declaration carries the exception code Y081. FedEx's EU guide asks for the word NO instead. Check with your carrier how it wants it marked. Read about the Y081 exception
Can I fix the data for a parcel that is already held?
You can fix your product data at any time: PIDReady fixes it in your store and gives you a file. For a parcel that is already held, ask your carrier what it needs to release or resend it, then send it the corrected data.
Does this apply to parcels worth more than EUR 150?
The Commission's guidance of 5th October 2026 limits the product identifiers to parcels with an intrinsic value not exceeding EUR 150. Your carrier's own form may still ask for them: Royal Mail's Click & Drop, for one, requires a Product SKU and a Non-standardised Manufacturer ID for every E-Commerce Goods item to an EU country. The EUR 2 handling fee, which has applied since 1st November 2026, applies whatever the parcel's value. The EUR 2 handling fee
Will PIDReady make sure my parcels clear?
No. PIDReady fixes your product data and prepares the file; how a carrier or customs handles a parcel is theirs to decide. Our guides are a plain-English summary of the published rules, not legal advice: your carrier or customs agent has the last word.
What does PIDReady cost?
Every fix is free, for any size of store: scan, “Fix everything I can”, bulk fixes, spreadsheet imports and carrier files. The paid plans add automatic fill: when you add a size or colour to a product, they copy its HS code and “Made in” country to it. See the plans
Can you fill the identifiers in for me?
Yes. Our done-for-you service fills in your EU product identifiers from your product export and your suppliers' lists. You check a preview before anything is saved and can undo for 30 days. We never choose HS codes or countries of origin for you. How done for you works
Check your catalogue
PIDReady is a Shopify app that checks every variant for the three identifiers, the HS code and the country of origin, helps you fill the gaps one by one or in bulk, and downloads a file for your carrier. The free plan does every fix, for any size of store.
Questions about the rule, app or no app? Email support@pidready.com: we reply within one working day.
More guides
Sources
- FedEx, Change to EU import rules: Product Identifiers (information as of 30th October 2026)
- FedEx, EU customs changes
- UPS, Adapting to EU de minimis changes
- DHL Express, Ship to the EU: prepare for the EU's new product identifier (13th October 2026)
- Royal Mail, EU Trade Insights
- Royal Mail Click & Drop, adding customs information when applying postage
- Dutch Customs, including product identifiers in your e-commerce declaration
- Commission Delegated Regulation (EU) 2026/1022 of 30th April 2026 (EUR-Lex). It was published in the Official Journal on 1st July 2026 with 30th June in its title; the Official Journal's corrigendum of 3rd July 2026 corrected that date to 30th April.
- Commission Delegated Regulation (EU) 2026/2152 of 21st September 2026 (EUR-Lex): the Union handling fee is EUR 2 per item. Published in the Official Journal on 22nd October 2026; it applies from 1st November 2026.
- European Commission, guidance on the temporary EUR 3 customs duty and the Union handling fee, version of 5th October 2026