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.

Products without a barcode: the Y081 exception

The third EU product identifier, the S-PID (customs data element C129), is a code that follows an international standard: a GTIN such as an EAN or UPC barcode, or an ISBN for books. Not every product has one. When none exists, the customs declaration carries the exception code Y081 instead, so you do not need to buy a barcode.

What to do, product by product

What each product's S-PID is, depending on its barcode
The product has…The S-PID is…In the declaration
A valid EAN, UPC or ISBNThat barcode.The barcode as the S-PID (C129).
A barcode with a wrong check digit, or a placeholder such as N/A or 0Not valid: fix it, or remove it.Nothing until it is fixed; then the barcode, or the exception.
No barcode (handmade, own brand, one-off)None exists.The exception code Y081. In FedEx's guide: NO in the S-PID column.

You do not need to buy a barcode for customs

The exception exists for products that have no standard identifier, such as handmade or own-brand goods. Record the barcode wherever the product has one, and note the products that have none, so your files can carry the exception.

How carriers ask for it

Carriers file the declaration for you, so they decide how you tell them. As of 2nd November 2026, FedEx's EU guide asks for the word NO in the S-PID column where there is no barcode. Check with your carrier how it wants products without a barcode marked. Dutch Customs' guidance says the same thing from the declaration's side: when no S-PID exists, the exception code Y081 is entered instead.

Barcodes that are wrong are worse than none

A barcode with a wrong check digit, or a placeholder such as N/A or 0, is not a valid identifier. Fix it, or remove it and declare the exception.

Doing it in Shopify

In Shopify the S-PID is the variant's barcode. PIDReady checks each barcode's format and check digit, and lets you tick "No barcode exists" on a variant. Its exports then carry Y081, or NO in the file laid out for FedEx.

Common questions

What is Y081?

The exception code customs use in a declaration when a product has no standardised identifier (S-PID), that is, no GTIN such as an EAN or UPC, and no ISBN.

Do I need a barcode to ship to the EU?

No. Not every product has one, and you do not need to buy one for customs. A product with no barcode is declared with the exception Y081 instead.

Is Y081 the same as NO in FedEx's guide?

They mean the same thing in different places. Y081 is the exception code in the customs declaration; as of 2nd November 2026, FedEx's EU guide asks for the word NO in its S-PID column where there is no barcode.

Do handmade or own-brand products need a barcode?

No. The exception exists for products with no standard identifier, such as handmade or own-brand goods. They still need their SKU (M-PID) and a manufacturer reference (NS-PID).

What if my barcode is wrong?

A barcode with a wrong check digit, or a placeholder such as N/A or 0, is not a valid identifier. Fix it, or remove it and declare the exception.

How do I mark products with no barcode in Shopify?

PIDReady lets you tick "No barcode exists" on a variant, or for many variants at once. Its carrier files then carry Y081, or NO in the file laid out for FedEx.

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