From November 1st, every item you ship into the EU must carry three additional product identifiers on its customs declaration. You most likely already have two of them. Here is how to add the one you probably don't.
What’s changing?
The European Union is introducing a new customs requirement under Commission Delegated Regulation (EU) 2026/1022. Every item sold into the EU must be declared with three separate product identifiers that enable EU customs authorities to trace an item back to both the seller and the manufacturer.
- This new requirement applies to all 27 EU countries, and to every shipment regardless of value. There is no low-value exemption.
- It applies per product, not per order. A five-item order will require five sets of identifiers.
- You provide the product identifiers in Shopify. FlavorCloud sends them to the carrier and puts them on the customs paperwork.
What we need from you
Your product SKU: Already done
Merchant Product Identifier (M‑PID)
We use the SKU already associated with each variant. No action on your part is needed.
Manufacturer product reference: Needs to be done
Non-Standardised Manufacturer Product Identifier (NS‑PID)
This is a code defined by the product manufacturer, not the merchant. This is the key field that needs new data, and it’s required for every product variant with no exceptions.
Standardised product code: Confirm either way
Standardised Manufacturer Product Identifier (S‑PID)
An EAN, UPC, GTIN or ISBN, where the product has one. If it doesn't have one, choose None as the code type. You cannot leave this field blank.
How to get started
1. Create the fields in your Shopify store
These fields don't exist by default. You create them in Settings › Custom data. Create four metafield definitions, three on Variants and one on Products:
|
Create it on |
Namespace and key |
Name it |
Type |
|
Variants |
flavorcloud.ns_manufacturer_pid |
Manufacturer product reference |
Single line text |
|
Variants |
flavorcloud.std_manufacturer_pid |
Standardised product code |
Single line text |
|
Variants |
flavorcloud.std_manufacturer_pid_type |
Type of standardised code |
Single line text, list of choices: |
|
Variants |
flavorcloud.merchant_pid |
Merchant PID override |
Single line text |
The namespace and key must match exactly. Shopify generates a key from the name you type, so open Advanced options when you create each definition and set the namespace to flavorcloud and the key to the value in the table. If the entries are not identical, we will not be able to find your data and your products will report as not ready.
Additionally, choose Single line text, never a number type, because a number type will drop leading zeros. Create the manufacturer product reference on both Variants and Products, so you get the bulk-fill shortcut in step 3.
Creating them as definitions rather than ad-hoc metafields will make the fields appear in the variant editor, in Shopify's bulk editor, and in your CSV exports, which is how you will actually fill them.
2. Find your manufacturer references
This value comes from your supplier rather than from your own systems. It is usually on:- The purchase order or commercial invoice from your supplier
- The product spec sheet or tech pack
- The carton or case label on inbound stock
If you manufacture your own products, your own internal product code will suffice. It's fine for it to be the same as your SKU in that case, as long as you're confirming that deliberately rather than copying it in to fill the box.
3. Add them in bulk, not one at a time
Manufacturer references are usually shared across sizes and colours of the same style. Set the reference on the product and every variant of it inherits the value e.g. 200 styles in 8 sizes means 200 entries, not 1,600. Only set it on an individual variant where the manufacturer explicitly references each size separately.
For large catalogues, use Shopify's bulk editor, or export your products to CSV, fill the column in a spreadsheet, and re-import it.
4. Add standardised codes, or confirm there aren't any
If a product carries an EAN, UPC, GTIN or ISBN, enter it and pick the matching type from the dropdown. Enter the code exactly as printed, including any leading zeros.
If a product has no such code, leave the code field empty and set the type to None. EU rules require the absence of a code to be explicitly declared, so we need you to confirm it rather than infer it from a blank field. Once you have, we’ll make that declaration for you.
Do not invent a code and do not copy in the SKU. A wrong code is a false customs declaration, and a confirmed "no code" is entirely lawful.
What happens if you leave a field blank
|
If this field is empty |
What happens from 1 November |
|
Manufacturer product reference |
Your EU shipments for that product will be stopped. There is no exception for this field. |
|
Standardised product code |
Nothing. We declare that the product has no standardised code, which is permitted and normal. |
|
Standardised product code |
Not a valid declaration. We cannot state that a code is absent unless you have told us it is, so the product reports as not ready. |
Never type "N/A", "none" or "TBC" into the manufacturer product reference. A placeholder passes our checks and then travels onto a customs declaration as though it were real.
Quick rules
- One value per field. No lists, no separators, no notes like "see supplier sheet". Each field must contain exactly one identifier.
- Ensure the Product ID lengths fit within the max character limits in the table below. We’ve shared the character limits by carrier in the table below. Values that exceed these limits can be rejected so ensure none of your IDs exceed them.
- Type it exactly. Capitals, hyphens and leading zeros all matter. We pass the value through unchanged apart from trimming spaces at the ends. Copy and paste directly wherever possible to avoid typos.
- Plain characters only. Letters, digits, hyphens, full stops, slashes and underscores. Avoid pasting from formatted documents, which can bring invisible characters with it.
Field reference
For anyone setting these up through the API or a CSV import, here are the exact field names and accepted formats. All keys are from the flavorcloud namespace.
|
Field |
Key |
Required? |
Max |
Allowed |
Example |
Never enter |
|
Merchant PID override |
merchant_pid |
Almost never; only if your listing ID differs from the SKU |
70 |
As below |
44821567 |
A copy of the SKU |
|
Manufacturer product reference |
ns_manufacturer_pid |
Yes, on every EU-bound variant |
70 |
Letters, digits, and - . / _ plus interior spaces |
MX-2024-BLK-L |
N/A, TBC, a list, prose |
|
Standardised product code |
std_manufacturer_pid |
Always. Either the code with its type, or type NONE to confirm there is no code |
14 |
Code: 8, 12, 13 or 14 digits, or 10 characters ending X. |
EAN13 |
The SKU; an invented code; a stripped leading zero |
Use a text type on every one of these definitions, never a number type since a number type will drop leading zeros, turning a valid code into an invalid one.
Before 15th October
We’re working with every FlavorCloud merchant to prepare them for compliance by the November 1st deadline. Therefore, we’re targeting October 15th to have all of these steps complete:
- The four fields are created in Shopify, with the exact namespace and keys
- Every variant you ship to the EU has a SKU
- Every one of those has a manufacturer product reference
- Standardised codes added where the product has one, and the type set to None where it doesn't
- No placeholders like "N/A" anywhere in the manufacturer reference field
- Readiness report in the FlavorCloud app shows no remaining gaps
Questions about a specific product or a bulk upload? Contact your FlavorCloud account manager.