PIDReadyInstall free on Shopify

Updated . A plain-English summary of the published rules, not legal advice: your carrier or customs agent has the last word.

EU product identifiers (M-PID, NS-PID, S-PID) for Shopify stores

The EU product identifiers are up to three codes for each product in a parcel: the M-PID (your own product code, in Shopify the SKU), the NS-PID (the manufacturer's reference) and the S-PID (a standard barcode such as a GTIN, or the exception Y081 when there is none). From 1st November 2026 every product you send to a shopper in the EU from outside the EU in a parcel worth up to EUR 150 is declared to customs with them. Here is what each one is, where it lives in your Shopify store and what to do before the deadline.

Who needs them

Stores that sell to consumers in the EU and ship from outside it, for example from the UK, the United States or China: what the European Commission calls distance sales of imported goods. The requirement covers parcels worth up to EUR 150: the Commission's guidance of 5th October 2026 says so, and the Commission is amending the rule's annex to make it explicit. Sales between businesses are in principle not concerned. Your carrier, postal operator or customs agent files the customs declaration, so they will ask you for the identifiers. Parcels that stay inside the EU have no import declaration.

Key dates

The three identifiers

The five codes on every variant you ship
On your productCustoms call itIn Shopify
Your product code
Your own code for the product.
M-PIDThe variant's SKU. Every variant gets its own.
The maker's reference
A model or part number from whoever makes the product. If you make it, it is yours.
NS-PIDAn NS-PID barcode, after the product barcode (a variant metafield when there is none).
The barcode
An EAN, UPC or ISBN, when the product has one.
S-PIDThe variant's barcode. No barcode? The declaration carries the exception Y081.
The customs (HS) code
What the product is. The first six digits are the same worldwide.
HS codeThe HS code field on each variant.
Made in
Where the product was made, not where you ship it from.
OriginThe country of origin field on each variant.

When one line of a declaration groups several different products, the identifiers of each product are reported.

Examples: what goes where

Three products from a made-up demo store: what each identifier is
ProductM-PID (your SKU)NS-PID (the maker's reference)S-PID (the barcode)
Stoneware mug, bought from a supplierMUG-SAGOC-MG-01, the supplier's model number2009871000254
Oak chopping board, made by youOAK-CB-SMAOC-CB-01, your own reference: you are the makerNone: the exception Y081
Brass desk lamp, bought from its manufacturerLAMP-BR-01BR-DL-220, the manufacturer's model number2009871000049

Demo data, not real products. Your own values come from your products and suppliers.

How they appear in the customs declaration

The declaration carries each identifier in its own data element: C127 for the M-PID, C128 for the NS-PID and C129 for the S-PID. When no S-PID exists, the exception code Y081 is entered instead (Dutch Customs' guidance sets this out). You do not fill in the declaration yourself: your carrier or customs agent does, from what you give them.

HS code and country of origin

Customs also need each product's HS code and country of origin. The HS code classifies the product (its first six digits are the same worldwide) and customs use it to group the goods in a parcel into items for the EUR 3 duty and the EUR 2 handling fee. The country of origin is where the product was made, not where you ship it from. Shopify has a field for each on every variant. Read more: HS codes for Shopify stores and country of origin on Shopify.

The EUR 2 handling fee and what counts as an item

Since 1st November 2026, the EU also charges a Union handling fee of EUR 2 per item on these imports (Commission Delegated Regulation (EU) 2026/2152 of 21st September 2026). Unlike the product identifiers and the EUR 3 duty, it applies whatever the parcel's value, and it is not temporary: on a parcel worth up to EUR 150 it comes on top of the EUR 3 duty. An item is the goods in a parcel that share the same tariff classification, description and, where it is declared, country of origin: two identical pens are one item, a pen and a notebook are two. The duty and the fee are charged per line of the customs declaration, whatever the quantity. Your carrier or customs agent has the last word on how this applies to your parcels. Worked examples.

Getting ready in Shopify

  1. Give every variant its own SKU.
  2. Record the manufacturer's reference for every variant: the maker's model or part number, your own reference if you make the product, or the barcode.
  3. Add the barcode wherever the product has one and check its digits. Note the products that have none, so your files can carry the exception Y081.
  4. Fill in the HS code (at least 6 digits) and the country of origin for every variant.
  5. Ask your carrier or shipping platform how it wants to receive the identifiers: through its API, on the commercial invoice or in an upload file.

The same list, with a step for each: checklist for Shopify stores. A spreadsheet to collect the values: free CSV template.

What carriers have published so far

As of 2nd November 2026: FedEx has an EU guide with a header for each identifier and asks for NO where there is no barcode; UPS says where each of its tools takes the identifiers; DHL Express takes them in the shipment data; Royal Mail Click & Drop asks for a Product SKU and a Non-standardised Manufacturer ID for each item. Shipmondo took the three identifiers through its API when we last looked (25th September 2026). Check with yours, as this is changing quickly. Carrier by carrier.

All the guides

Common questions

When do EU product identifiers become mandatory?

On 1st November 2026. From that day, products sold to consumers in the EU and shipped from outside the EU in parcels worth up to EUR 150 are declared with up to three product identifiers, and customs start enforcing it. They could be given voluntarily from 1st July 2026.

What is a product identifier in EU customs?

A code that tells customs which product is in a parcel. There are up to three: the M-PID (your own product code), the NS-PID (the manufacturer's reference) and the S-PID (a standard barcode, such as a GTIN).

What does PID mean in shipping?

PID is short for product identifier. In the EU customs rule it comes in three forms: M-PID, NS-PID and S-PID.

Do I need a barcode to ship to the EU?

No. Not every product has one. When no standard barcode exists, the declaration carries the exception code Y081 (FedEx asks for the word NO in its S-PID column). Read about the Y081 exception

Who files the customs declaration?

Your carrier, postal operator or customs agent files it, so they will ask you for the identifiers. What to send your carrier

Does the rule apply to parcels that stay inside the EU?

No. Parcels that stay inside the EU have no import declaration, so the rule does not apply to them. Sales between businesses are in principle not concerned either.

Do the identifiers apply to parcels worth more than EUR 150?

The Commission's guidance of 5th October 2026 says the requirement applies to parcels with an intrinsic value not exceeding EUR 150. The EUR 2 handling fee is the part that applies whatever the parcel's value. The EUR 2 handling fee

What are the new EU customs rules for 2026?

Since 1st July 2026 a temporary customs duty of EUR 3 per item applies to parcels worth up to EUR 150, until 1st July 2028. From 1st November 2026 the product identifiers are required, and a Union handling fee of EUR 2 per item has applied since that day (Commission Delegated Regulation (EU) 2026/2152). The 2026 changes on one timeline

Is Delegated Regulation 2026/1022 dated 30th April or 30th June 2026?

30th April 2026. The Regulation was published in the Official Journal on 1st July 2026 with 30th June in its title; a corrigendum published on 3rd July 2026 corrected the date, in the title and in the signature, to 30th April.

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

See all guides

Sources