EU product identifiers are three codes that identify each item on a customs declaration for shipments into the European Union. Starting November 1, 2026, every item in a business-to-consumer (B2C) shipment into the EU 27 countries needs all three, at any order value. ShipHero stores them on each product and sends them to supported carriers when you create an eligible label.
Important
After November 1, 2026, EU customs can reject declarations with missing or incorrect product identifiers. Carriers can delay or return those parcels and may charge fees. Add the data for every EU-bound product before that date.
Before You Begin
- Required user role permission: You need Product > Edit permission or an Admin user role to change product details.
- Data to gather: Collect a manufacturer part number and a barcode for every product you ship to the EU. Manufacturer part numbers usually come from supplier paperwork such as purchase orders, commercial invoices, or carton labels.
ShipHero Does Not Fill In EU Product Identifiers
ShipHero stores your EU product identifiers and passes them to supported carriers. It does not fill in the three fields on your products, including pullling the information from your store. Enter them yourself. ShipHero sends your values as entered, so you are responsible for making sure they are correct.
Related articles: Customs Requirements for Products Shipping Internationally and How to Set Up EU and UK eCommerce VAT and OSS in ShipHero.
Table of Contents
- EU Product Identifier Fields in ShipHero
- How to Add EU Product Identifiers to Products
- Carriers That Receive EU Product Identifiers From ShipHero
EU Product Identifier Fields in ShipHero
ShipHero has three EU product identifier fields on every product, and all three are required for EU-bound items. Each answers a different question, so do not copy one value into more than one field.
| Field | What to enter | If the field is blank |
|---|---|---|
| Merchant Product ID (M-PID) | Your own product reference, usually the SKU. | ShipHero sends the product SKU. |
| Non-Standard Manufacturer Product ID (NS-PID) | The manufacturer's or supplier's own part number. It is not a barcode. There is no exception code, so every EU-bound product needs a value. | ShipHero sends nothing. It does not copy the SKU. |
| Standard Manufacturer Product ID (S-PID) | The standard barcode: a GTIN, EAN, UPC, or ISBN with 8, 12, 13, or 14 digits. If you confirm the product has no standard code, enter Y081. | ShipHero uses the GTIN value stored on the product, then the UPC value. If neither exists, it sends nothing. |
EU Product Identifier Entry Rules
- Format: Enter one value per field, up to 70 characters. Use letters, digits, and the symbols - . / _ only.
- No placeholders: Do not enter N/A, TBC, or none. Leave the field blank instead.
- S-PID cleanup: ShipHero removes spaces, hyphens, and other symbols from the S-PID and changes letters to capitals. It rejects anything that is not 8, 12, 13, or 14 digits, or Y081.
- Y081: Y081 is the official EU code for "no standard identifier exists." Use it only after you confirm the product has no barcode. A blank S-PID means the code is unknown, not that none exists. When a product has Y081 and a stored GTIN or UPC, ShipHero uses Y081.
How to Add EU Product Identifiers to Products
You can add EU product identifiers to a product in ShipHero from the product page, Bulk Edit, a Bulk Edit CSV, or the Public API. Pick the method that fits how many products you have and whether each needs different values. For all other product fields, see How to Edit Products in ShipHero.
Edit EU Product Identifiers on One Product
- Go to Inventory > Products and open the product.
- Click the pencil icon in the Details section.
- In the Edit Product pop-up, scroll to Merchant Product ID, Non-Standard Manufacturer Product ID, and Standard Manufacturer Product ID, and enter a value in each.
- Click Update.
To clear a value, delete the text in the field and click Update.
Apply the Same EU Product Identifiers to Several Products With Bulk Edit
Use Bulk Edit when one value fits many products, such as Y081 on products with no barcode.
- Go to Inventory > Products and check the products you want to update.
- Click Bulk Edit in the Bulk Manage section.
- In the Bulk Edit pop-up, scroll to the three EU product identifier fields and enter a value in the field you want to change.
- Click Process.
The pop-up warns: "Please keep in mind that this will change the values for all selected products."
Add Different EU Product Identifiers to Many Products With a Bulk Edit CSV
Use the Bulk Edit CSV when each product needs its own values. The Download Products file ends with three columns: Merchant Product ID, Non-Standard Manufacturer Product ID, and Standard Manufacturer Product ID.
- Go to Inventory > Bulk Edit to open the Product Bulk Manage page.
- In the Download Products section, select a warehouse and click Download Products.
- Fill in the three columns for each SKU, then save the file as a CSV. Share the file with your merchant or supplier if they hold the data.
- In the Upload Products section, select a warehouse, click the plus button next to Upload products to choose your CSV, and click Upload.
- Select the batch in the Batches section and confirm its status changes to Processed.
Keep the column headers exactly as downloaded, because headers are case-sensitive. Follow How to Use the Bulk Edit CSV Upload for Products for all other file rules.
Add EU Product Identifiers Through the ShipHero Public API
The Public API product create and update mutations accept all three fields, and product queries return them. Use the API when you sync product data from an ERP, a product information system, or a supplier feed.
Carriers That Receive EU Product Identifiers From ShipHero
ShipHero sends EU product identifiers when you create a label for a shipment to one of the 27 EU countries from an address outside the EU, at any order value. Rate quotes do not include them. When ShipHero cannot find a value, it leaves that identifier out and still creates the label, so the parcel can be held at the EU border.
| Carrier | EU product identifier support |
|---|---|
| FedEx | Supported. A product with Y081 goes to FedEx as "NA". |
| Sendcloud | Supported on Sendcloud API v3 only. A product with Y081 goes to Sendcloud as Y081. |
| API carriers | Supported for the Generate Label Webhook. Values ShipHero cannot find are sent as null. A product with Y081 goes out as Y081. |
| DHL eCommerce | Supported for labels created through the DHL eCommerce Label API v4 connection. DHL has no field for Y081, so ShipHero leaves the S-PID out. |