Starting November 1, 2026, the EU requires product identifiers on shipments to consumers (i.e. non-B2B) entering the EU. Here's what's changing, whether it affects your shipments, and how to add the new information in Shippo.
What's changing
The EU has been tightening customs requirements for low-value imports throughout 2026. On July 1, 2026, the EU removed its duty-free threshold for low-value imports and introduced a flat customs duty on qualifying low-value B2C parcels.
Starting November 1, 2026, a second requirement takes effect: EU customs requires product identifiers for each item in a qualifying non-B2B shipment, regardless of the shipment's value. Without this information, customs can delay, hold, or return the package. This requirement applies at any value, even though most affected shipments fall under €150.
| Note: Shippo doesn't calculate, charge, or collect any customs duties or handling fees related to this change. Those are determined and collected by the carrier and EU customs. |
Does this apply to my shipments?
This requirement applies when all of the following are true:
- The shipment originates outside the EU and is going to an EU country.
- The recipient is a consumer , not a business.
- The shipment's purpose is Merchandise (a sale of goods).
- The item isn't in an exempt product category.
If you only ship business-to-business (B2B), or you don't ship merchandise into the EU from outside it, this change doesn't affect your shipments.
New fields you'll need
- SKU: Your own product code for the item. This field already existed in Shippo, but it's now required for qualifying EU shipments.
- Manufacturer product code: The code assigned by the item's manufacturer or supplier. This stays the same no matter who sells the item, and it's different from your own SKU. It's required unless the item is marked exempt.
- Standardized product code: A GTIN, EAN, or UPC barcode number, if the item has one. This field is optional. Leave it blank if the product doesn't have a standardized code.
- Shipping to: A new customs option where you indicate whether the shipment is going to a Consumer or a Business. Business (B2B) shipments don't trigger this requirement.
If you're not sure where to find your manufacturer's product code, check with your supplier or manufacturer directly, since it's not something Shippo can provide.
Exemptions
You can mark an individual customs item as exempt from the product identifier requirement. Once marked exempt, the manufacturer product code becomes optional for that item.
This is a self-declared exemption. Shippo doesn't verify eligibility, so it's on you to confirm your item qualifies. Exemptions apply per item, so a single order can include a mix of exempt and non-exempt items.
Current exempt categories include:
- Unprocessed agricultural and perishable goods
- Handmade and artisanal goods
- Antiques, collectibles, artwork, stamps, and coins
- Medical devices, medicinal products, and over-the-counter pharmaceuticals
These categories are based on current carrier guidance and may change, so double-check with your carrier if you're unsure whether your item qualifies.
How to add these fields in the web app
When you create a customs declaration for a qualifying shipment, you'll see a banner letting you know the EU now requires additional information on your customs items.
Any item missing required information shows a red "Missing info" flag, and you won't be able to continue to the next step until it's resolved.
To fix a flagged item:
- Click the pencil icon on the item to open the Edit Customs Item panel.
- Enter the SKU and manufacturer product code, and the standardized product code if you have one.
- If the item qualifies, check the exemption box instead of entering a manufacturer product code.
- Save your changes.
Once every item has the required information (or is marked exempt), the "Customs items are missing info" message clears and you can continue creating your label.
How to add these fields via the API
These fields are part of the customs declaration and customs item objects on the /customs-declaration endpoint:
- sku_code: your product SKU. This field already existed, but it's now used for EU compliance.
- manufacturer_code: the manufacturer's product identifier.
- manufacturer_standard_code: the standard the manufacturer code follows (for example, GTIN, EAN, or UPC).
- eu_exempt_category: marks an item as exempt from the requirement.
- recipient_is_business (on the customs declaration): set this to true for B2B shipments, which makes the identifier fields optional.
For a qualifying shipment, include sku_code and manufacturer_code on every non-exempt customs item. For B2B shipments, set recipient_is_business: true.
Timeline for API users:
- Now through October 31, 2026: These fields are live in the API, and nothing gets rejected yet, so this is a good window to update and test your integration.
- Starting November 1, 2026: Qualifying shipments missing sku_code or manufacturer_code on a non-exempt item will fail at creation. The validation error names the specific item and field that need fixing.
Additional Requirements for FedEx BYOA customers
If you use your own FedEx account, rather than Shippo's carrier account, and ship on FedEx's legacy SOAP integration, qualifying EU-bound shipments won't be able to include the new fields. Label purchases on that path will be rejected starting November 1, 2026.
The good news: most FedEx BYOA accounts have already moved to FedEx's newer REST integration. Earlier this year, FedEx required everyone with their own FedEx account to verify that account, either through the Shippo web app or the API, by requesting a verification code (sent via SMS, phone, or email) or by providing details from a recent FedEx invoice. If you completed that verification, your account is already on the REST integration and ready for these EU changes, no further action needed.
If you're not sure whether you completed that verification, contact Shippo Support and we can confirm your account's status.
A few other things worth knowing about that verification process:
- If you manage multiple FedEx accounts, each one needed to go through verification individually.
- Verification didn't change your negotiated FedEx rates or authorized account services.
- If you're a platform whose users connect their own FedEx BYOA accounts, you needed to enable this verification flow in your own UI so your users could complete it. If you haven't done that yet, your users with unverified FedEx accounts will run into the same SOAP-related block described above for EU shipments, on top of broader FedEx account issues. Contact Shippo Support if you need help getting that set up.
Limitation for Elements users
If you use Shippo Elements to buy labels inside a partner platform's dashboard, note that Elements doesn't yet support these new EU fields.
Starting November 1, 2026, you won't be able to buy labels for EU-bound shipments through Elements. Labels to every other destination continue to work as they do today. EU-bound label purchases in Elements are expected to return in early 2027, and we'll let you know once that's available.
In the meantime, you can buy EU-bound labels directly at apps.goshippo.com, where you'll add the SKU and manufacturer product code for each item (or mark it exempt), following the web app steps above. Labels purchased this way still update your order status back in your platform.
Carrier support
Carrier support for these new fields varies and is still being finalized in some cases:
- UPS and DHL Express support the new product identifier fields, including the exemption declaration and the business/consumer indicator.
- FedEx supports these fields on its REST-based integration. See the FedEx note above if you connect your own FedEx account.
- USPS, Canada Post, and Australia Post guidance is still being finalized. We'll update this article as more details become available.
Some carriers or lanes may become temporarily unavailable for qualifying EU shipments if they can't yet support the new requirements. If that affects one of your shipments, you'll see a message when getting rates or creating your label.
Common questions
Why don't I see rates for a carrier on my EU shipment?
If a carrier can't yet support the new product identifier fields, it won't return rates for a qualifying EU shipment. Other carriers that do support the fields will still show rates.
What's the difference between my SKU and the manufacturer product code?
Your SKU is your own internal code for the item. The manufacturer product code comes from the item's manufacturer or supplier and stays the same no matter who sells the product.
Do these changes affect shipments to Northern Ireland or other EU-adjacent territories?
We're still confirming how this requirement applies to certain territories. We'll update this article once that's finalized.
This article will be updated as we get further guidance from carriers and the EU. If you have questions about your specific shipments, contact Shippo Support.