Skip to content

EU Product Identifiers: M-PID, NS-PID and S-PID From November 1

October 28, 2026. From November 1, 2026, EU customs requires product identifiers for each item sold online from outside the EU to customers in the EU: the merchant code assigned by the seller, marketplace or platform (M-PID), the manufacturer's code (NS-PID) and, where one exists, a standard barcode such as an EAN, UPC or GTIN (S-PID). The requirement sits in Commission Delegated Regulation (EU) 2026/1022, the Commission's guidance limits it to goods worth €150 or less, and enforcement starts in four days, at the end of a voluntary period that runs from July 1 to October 31. Shopify says that from November 1 it will not sell a Shopify Shipping or Managed Markets label for an EU parcel worth €150 or less while an item is missing them.

EU product identifiers M-PID, NS-PID and S-PID, required from November 1, 2026 for items sold from outside the EU to EU customers

Key numbers

ItemNumber
Product identifiers mandatory fromNovember 1, 2026
Voluntary period (no sanctions, per the Commission)July 1 to October 31, 2026
Identifiers per product (most) (M-PID and NS-PID always; S-PID where it exists)3
Value covered, per the Commission guidance€150 or less
Customs codes (Y081 flags a missing barcode)C127, C128, C129
Valid GTIN length for a Shopify Custom barcode8, 12, 13 or 14 digits
HS chapters with an administrative tolerance (unprocessed agricultural and perishable goods)1 to 15
Temporary EU customs duty (consignments up to €150)€3 per item
Union handling fee from November 1, 2026 (any value, distance sales)€2 per item
Hypothetical three-item parcel, EU charges before VAT (each item in a different tariff line)€15

Regulation text, Commission guidance (version of 5 October 2026), Finnish Customs, Shopify and eBay pages read on 28 October 2026; the parcel charge is our arithmetic.

What the EU now requires

  1. Three identifiers, defined in law. Article 1 of the regulation defines the merchant product identifier as one "assigned by an online seller, marketplace or platform", and the two manufacturer identifiers as codes "assigned by a manufacturer, producer or product supplier": one that "does not rely on" internationally recognised standards and one that "relies on" them.
  2. Per item, not per parcel. The annex note says the M-PID, the NS-PID and, "if it exists for the item", the S-PID "shall be provided for each item". Article 1(61) defines an item as goods in a consignment sharing "the same tariff classification, description" and, where it is given, origin. Goods in different tariff lines are separate items, and where two products share one item line the guidance says the identifiers of each product are reported.
  3. Mandatory from November 1, voluntary since July 1. Article 2(3) applies point (2)(a) and (b) of the annex, the notes that add the identifiers, from 1 November 2026, and lets operators send the data voluntarily from July 1. The Commission's guidance of October 5, 2026 says no sanction could be imposed during the voluntary period and that "Effective enforcement starts from 1 November 2026."
  4. The €150 ceiling comes from the guidance. The guidance applies the rule to "goods sold in distance sales of imported goods with an intrinsic value not exceeding EUR 150", says the Commission "is in the process of amending Annex B" to state that, and says business-to-business flows are "in principle not concerned". The note in the regulation as published does not carry the ceiling. eBay told its sellers on September 28 that the rule applies "regardless of item value", and Finnish Customs says identifiers are obligatory "for all consignments as of 1 November 2026". The guidance itself says it "does not constitute a legally binding act".
  5. The goal is better controls. The Commission's June 8 announcement says identifiers help customs "detect and block unsafe or non-compliant goods", and the guidance calls them a first step, to be followed by more product data requirements once the EU Customs Data Hub for e-commerce is deployed from July 2028.

This is general information, not legal advice.

The three identifiers and their customs codes

C127 to C129 are customs document codes, and Y081 is an additional reference code that flags a missing barcode. The codes are from the Commission guidance and Finnish Customs' notice, updated October 5.

IdentifierWho assigns itCustoms codeWhen it is requiredTypical example
M-PID (merchant)The online seller, marketplace or platformC127AlwaysYour Shopify product variant, an eBay listing ID
NS-PID (non-standardised manufacturer)The manufacturer, producer or supplierC128AlwaysModel number, part number, style code
S-PID (standardised manufacturer)The manufacturer, producer or supplier, under an international standardC129Where one existsEAN, UPC, GTIN, ISBN
No S-PID existsFlagged in the customs data (in Shopify, a product setting)Y081Only when the item has no standard barcodeA product with no GTIN, EAN, UPC or ISBN

The guidance says the M-PID and NS-PID are required "in all cases, with no exception" and that the three are "by definition and by design" different. It calls a manufacturer that uses its barcode as its part number an "exceptional" case, in which C128 and C129 carry the same code. Shopify and eBay both let the standard barcode stand in for the NS-PID, and Shopify's last fallback for the NS-PID is the variant ID, the same value it uses for the M-PID. Each identifier also has to refer to exactly one variant: same brand, size, colour and packaging.

How Shopify fills them in

The Shopify changelog entry of October 24 and its Help Center page set out how the admin maps your product data to the three codes:

  1. M-PID: "The product variant's ID is used, so you don't need to add anything."
  2. S-PID: a barcode saved with the GTIN, EAN, UPC or ISBN type. A barcode saved as Custom also counts when it is a valid GTIN of 8, 12, 13 or 14 digits. If the item has no standard barcode, you turn on "Has no standardized identifier" in the Shipping section's More details card, which customs reads as Y081.
  3. NS-PID: a barcode with the NS-PID type holding the manufacturer's model number, part number or style code; the changelog adds that "You can also use your own product code or SKU." If there is none, Shopify falls back to the standard barcode, then any other barcode, then the SKU, then the variant ID.
  4. Labels: from November 1, a label for a parcel worth €150 or less cannot be bought while an item lacks a standard barcode or the no-barcode declaration. You can fix it on the label page under Edit customs declaration, and what you enter for a linked product is saved back to it.

Goods with lighter rules, and goods without

The guidance sets an administrative tolerance for some goods, provided they are classified under listed commodity codes: unprocessed agricultural and perishable goods in chapters 1 to 15, listed handmade and artisanal goods, and antiques, collectibles, art, stamps and coins under headings 9701 to 9706. These are "deemed administratively to comply" when the text "M-PID" is declared in C127 and "NS-PID" in C128. Shopify says it uses HS codes to identify exempt products and applies the exemption for you, that you cannot mark a product exempt yourself, and it does not say what it sends to customs for those items.

Outside the listed codes, the guidance says second-hand, refurbished, custom, personalised and print-on-demand goods "shall comply". It asks for the original product's identifier on a second-hand good and says the identifier of the underlying textile "should be provided" for "a textile personalised with an individual logo or name", which matters for print-on-demand stores that ship from outside the EU.

This is general information, not legal advice.

Bar chart of EU charges on a hypothetical parcel worth 150 euros or less from November 1, 2026, each item in a different tariff line: 5 euros for one item, 10 for two, 15 for three and 20 for four, before VAT.
Our arithmetic on the Commission guidance of 5 October 2026. Source: taxation-customs.ec.europa.eu, October 2026

EU charges on a parcel from November 1

The identifiers arrive on the same date as the €2 Union handling fee. The Commission's customs reform page says: "From 1 November 2026, the EU will apply the €2 Union handling fee." The guidance says the fee applies per item, like the temporary €3 customs duty on goods in consignments up to €150 (from July 1, 2026 to July 1, 2028), but "irrespective of the items' value". Our explainer on the €2 handling fee and our July report on the €3 duty cover both charges. For a hypothetical parcel worth €150 or less, with each product in a different tariff line:

Items in the parcel€3 duty€2 handling feeEU charges before VATIdentifier entries (most)
1€3€2€53
2€6€4€106
3€9€6€159
4€12€8€2012

The last column counts an M-PID, an NS-PID and an S-PID per item (Y081 replaces the third where no barcode exists). Carrier and broker charges are not included. If you are choosing between collecting duties at checkout and leaving them to the customer, our note on Shopify's duty settings is the related reading.

What it means for operators

Shopify's help page says a parcel missing identifiers "can be held or rejected at customs" and that you might be charged return-to-origin fees. With four days left, we would work through it in this order:

  1. Find the EU-bound variants with no barcode and fill them in bulk; Shopify says you can import a CSV file or use the bulk editor.
  2. Add the manufacturer's part or model number as an NS-PID barcode wherever one exists. Shopify accepts your own code or SKU, but the guidance says the three identifiers differ by design, so we would not rely on the variant ID fallback. If unsure, ask your customs broker.
  3. Turn on "Has no standardized identifier" only for items that truly have no barcode. Shopify says that once it is on, no S-PID is sent for that item even if one is saved.
  4. Check HS codes. Shopify's help page says the HS code decides whether an item is exempt, and you cannot mark an exemption by hand.
  5. Ask your 3PL, carrier or broker how the identifiers should reach them if you buy labels outside Shopify, as Shopify advises. On eBay, where the listing ID is the M-PID, add the manufacturer part number and any GTIN, EAN, UPC or ISBN to your listings.

For a catalog with hundreds of variants and no barcodes, this is a data job: matching supplier spreadsheets to variants and importing them. Our Shopify developers can take on that clean-up as part of our e-commerce services, and our Shopify app reviews compare the apps merchants run their stores on. This is general information, not legal advice.

Need your Shopify catalog ready for EU customs?

We design, build, and run it for you, integrated with the tools you already use. Free audit in 24 hours.

Get Your Free Audit

Frequently Asked Questions

From November 1, 2026, EU customs requires them for each item sold to EU customers from outside the EU (the Commission guidance limits this to goods worth €150 or less). The M-PID is assigned by the online seller, marketplace or platform, the NS-PID is a code from the manufacturer, producer or supplier such as a model or part number, and the S-PID is a standard barcode such as an EAN, UPC, GTIN or ISBN, where one exists. Customs reads them under codes C127, C128 and C129.

On November 1, 2026. Delegated Regulation (EU) 2026/1022 lets operators send them voluntarily from July 1, 2026, and the Commission's guidance says no sanction could be imposed during that voluntary period and that effective enforcement starts on November 1.

The Commission's guidance of October 5, 2026 limits the rule to goods with an intrinsic value not exceeding €150 and says Annex B is being amended to state that. The published regulation text does not carry the ceiling, eBay told sellers the rule applies regardless of item value, and Finnish Customs says all consignments, so we suggest adding identifiers to every product you ship to EU customers. This is general information, not legal advice.

Shopify's help page says it can be held or rejected at customs and you might be charged return-to-origin fees. From November 1, Shopify will not sell a Shopify Shipping or Managed Markets label for an EU parcel worth €150 or less while an item lacks a standard barcode or the no-barcode declaration.

Declare that no standardised identifier exists, which customs reads as code Y081; in Shopify the setting is "Has no standardized identifier" in the product's Shipping section. You still need the M-PID and the NS-PID, which the Commission guidance says are required in all cases.

The Commission's guidance says the requirement applies mainly to goods imported to customers in the EU (B2C) and that business-to-business flows are in principle not concerned. This is general information, not legal advice.

Free Strategy Audit

Ready to put this to work?

Join 200+ businesses already scaling with AI and automation. Get your free audit and a custom roadmap within 48 hours.

Website & marketing performance analysis
AI & automation opportunity mapping
Custom growth roadmap with ROI estimates
Delivered within 48 hours, 100% free
200+
Clients served
48hr
Turnaround
100%
Free, no strings

Get Your Free Audit

Takes 30 seconds. No credit card required.

Prefer to chat?

WhatsApp us