# Set up product identifiers for EU shipments
URL: https://support.starshipit.com/articles/1790827200001-set-up-product-identifiers-for-eu-shipments
Canonical: https://support.starshipit.com/articles/1790827200001-set-up-product-identifiers-for-eu-shipments
Markdown: https://support.starshipit.com/articles/1790827200001-set-up-product-identifiers-for-eu-shipments.md
Updated: 2026-10-29

> For the complete documentation index, see [llms.txt](https://support.starshipit.com/llms.txt).

> See how each courier uses product identifiers for EU shipments and how to add them through your platform, Product Catalogue, CSV or API.

If you ship goods from outside the EU to EU customers, product identifiers help customs and your courier identify the specific products being imported and support product safety and compliance checks. They identify the exact product or variant on each order item, alongside your usual customs details such as HS code, country of origin and item value.

Add these identifiers to your products or order items in Starshipit to send them with your courier's customs data. The tables below explain what each identifier means, how each courier uses it and how to import it from your platform.

## Understand the three identifiers

Product identifiers identify the specific product or variant. HS codes identify the type of goods, and **Manufacturer Code (MID)** identifies the manufacturer or supplier.

| Identifier | What to enter | Example |
| --- | --- | --- |
| **Merchant Product ID** | Your product code. Most supported couriers use **SKU** when this field is blank. | `TEE-NAVY-M` |
| **Manufacturer Product ID** | The product code assigned by the manufacturer or brand owner. Enter it separately, even if it matches your SKU. | `STYLE-240-M` |
| **Standardised Product ID** | A recognised identifier such as GTIN, EAN, UPC or ISBN. Couriers that support the Barcode fallback can use **Barcode** instead. | The product's EAN |

Use the code for the specific variant you are shipping. An internal warehouse barcode is not necessarily a recognised standardised identifier.

## How each courier uses identifiers

In the table, **then SKU** or **then Barcode** means Starshipit uses that value when the dedicated product ID field is blank. **Not sent** means the dedicated field is not included as that courier's product identifier.

| Courier | Merchant identifier | Manufacturer identifier | Standardised identifier | When identifiers are sent |
| --- | --- | --- | --- | --- |
| **DHL Express** | Merchant Product ID, then SKU | Manufacturer Product ID | Standardised Product ID, then Barcode | With the customs declaration. Barcode fallback is on by default. |
| **FedEx** | Merchant Product ID, then SKU | Manufacturer Product ID | Standardised Product ID, then Barcode | Shipments from outside the EU to EU consumers; excludes returns and business recipients. |
| **UPS** | Merchant Product ID, then SKU | Manufacturer Product ID | Standardised Product ID, then Barcode | Sales of goods from outside the EU to EU consumers; excludes returns. |
| **<span id="check-asendia-identifiers" style="scroll-margin-top: 100px">Asendia</span>** | Merchant Product ID, then SKU | Manufacturer Product ID | Standardised Product ID, then Barcode | Direct Asendia shipments from outside the EU to EU consumers; excludes returns and Parcelpoint powered by Asendia. |
| **DHL eCommerce Asia Pacific** | SKU is sent separately; Merchant Product ID is not used | Manufacturer Product ID | Standardised Product ID, then Barcode | Shipments to EU destinations. |
| **SEKO** | Merchant Product ID, then SKU | Manufacturer Product ID | Standardised Product ID, then Barcode | With shipment customs items that have a positive item value. |
| **<span id="check-parxl-identifiers" style="scroll-margin-top: 100px">Parxl</span>** | Not sent as a product ID; SKU is sent separately | Manufacturer Product ID, sent as **NS-PID** | Not sent | Whenever Manufacturer Product ID is populated, including non-EU destinations. |
| **<span id="check-australia-post-identifiers" style="scroll-margin-top: 100px">Australia Post MyPost Business</span>** | Merchant Product ID, then SKU, in the customs SKU field | Not sent | Not sent | Shipments to EU destinations. No separate identifier setting is needed. |
| **Australia Post eParcel** | Merchant Product ID, then SKU, in the customs SKU field | Not sent | Not sent | EU destinations use Merchant Product ID when populated. Other destinations use SKU. |

**Manufacturer Product ID never falls back to SKU or MID.** For DHL eCommerce Asia Pacific and Parxl, enter the manufacturer's product code explicitly.

For **DHL Express**, **Use barcode as Standardised Product ID** in the courier's advanced settings controls the Barcode fallback. It is enabled by default; turn it off if your Barcode contains an internal warehouse code. A populated Standardised Product ID is still sent.

For **FedEx**, at least a SKU or Merchant Product ID is needed to send the product identifier details. If neither Standardised Product ID nor Barcode is populated, Starshipit supplies FedEx's required unavailable value automatically. Leave your own product data blank rather than entering a placeholder.

### Identifier length limits

| Courier | Limit | What happens if the value is longer |
| --- | --- | --- |
| **DHL Express** | 35 characters per identifier | Only the first 35 characters are sent. |
| **UPS** | 100 characters per identifier | Surrounding spaces are removed and only the first 100 characters are sent. |
| **Asendia** | 30 characters per identifier, including SKU and Barcode fallbacks | Surrounding spaces are removed. Shorten an overlong value before printing. |
| **DHL eCommerce Asia Pacific** | 50 characters for manufacturer and standardised identifiers, including Barcode fallback | Surrounding spaces are removed. Shorten an overlong value before printing. |
| **SEKO** | 30 characters for the dedicated Merchant Product ID; 255 for manufacturer and standardised identifiers, including Barcode fallback | Surrounding spaces are removed. Shorten an overlong value before printing. |
| **Australia Post MyPost Business and eParcel** | 20 characters in the customs SKU field | Surrounding spaces are removed and only the first 20 characters are sent. |

Keep truncated values distinct, especially when product codes share a long prefix.

## Choose how to add identifiers

You can add identifiers directly from the platforms below, or use Product Catalogue to supply them by SKU for orders imported from other platforms.

| Platform or method | What Starshipit imports | How to set it up |
| --- | --- | --- |
| **Shopify Classic and Shopify Enhanced** | All three IDs from product or variant metafields. A populated variant value takes priority for each ID. | Enable **Import EU product identifier metafields** under **Settings > Integrations > Shopify > Advanced > Field Mapping**. Use the `custom.merchant_product_id`, `custom.manufacturer_product_id` and `custom.standardised_product_id` metafields. Follow [Shopify identifier setup](/articles/90200000000206-import-optional-data-from-shopify#eu-product-identifier-metafields). |
| **Adobe Commerce (Magento 2)** | `manufacturer_sku` into **Manufacturer Product ID**; `upc` into **Barcode** for courier fallback. | Uses fixed product-attribute mappings with no separate switch. The purchased variant's manufacturer code takes priority, with parent fallback when blank. Barcode comes from the purchased variant only. Follow [Adobe Commerce attribute setup](/articles/213430403-connect-adobe-commerce-magento-2-to-starshipit#import-manufacturer-codes-and-barcodes). |
| **Peoplevox** | All three IDs from your selected item attributes. | Map each **Import … Product ID from** setting to **ItemType > Attribute 1–15**. Each defaults to **Do not import**. Values are imported with despatched order items. Follow [Peoplevox identifier mapping](/articles/360000934795-connect-peoplevox-to-starshipit#map-product-identifiers). |
| **Brightpearl** | Product **Barcode**, which supported couriers can use as the standardised identifier. | Use Product Catalogue to supply the three dedicated IDs by matching SKU. Follow [Brightpearl connection setup](/articles/360000907716-connect-brightpearl-to-starshipit). |
| **Other connected platforms** | All three IDs from matching **Product Catalogue** entries. | Save the IDs against each SKU and enable catalogue population during order import, as described below. |
| **Order CSV** | All three IDs on order items. | Use the order CSV template's identifier columns or map them in your CSV import settings. |
| **Product Catalogue CSV** | All three IDs on catalogue products. | Use the Product Catalogue CSV template. Its standardised-ID column is named **Standardised Manufacturer Product ID**. |
| **Order API and Product API** | All three IDs on order items or catalogue products. | Send the API fields listed below. |
| **Manual entry in UI 2.0** | All three IDs on catalogue products or individual order items. | Follow the steps below. |

Shopify and Adobe Commerce identifier imports apply to newly imported orders. Peoplevox mappings apply when despatched item data is sent. Saving source values or import settings does not backfill earlier orders or populate Product Catalogue.

### API fields

| API field | Starshipit field |
| --- | --- |
| `merchant_product_id` | **Merchant Product ID** |
| `manufacturer_product_id` | **Manufacturer Product ID** |
| `standardised_product_id` | **Standardised Product ID** |

Send these fields on each order item through the order API, or on each catalogue product through the Product API. See [Sync product data with Product Catalogue](/articles/14700000001007-sync-product-data-with-product-catalogue) for catalogue API setup.

## Add identifiers to Product Catalogue

Use Product Catalogue to maintain identifiers in one place for products you ship regularly, including products imported from platforms without dedicated identifier mappings.

1. In **UI 2.0**, open **[Products](https://next.starshipit.com/products)** and find the SKU used on your orders.
2. Use the **settings cog** to show **Merchant Product ID**, **Manufacturer Product ID** and **Standardised Product ID** if the columns are hidden.
3. Enter the identifiers for each product, using the courier table above to decide which fields to fill.
4. Save your changes.
5. Go to **Settings > [Product Catalogue](https://next.starshipit.com/settings/product-catalogue)** and enable **Enable Product Catalogue for order import**.
6. Choose whether catalogue values fill missing fields or overwrite existing order data, then save. See [Configure Product Catalogue settings](/articles/1781620000002-configure-product-catalogue-settings).

The catalogue SKU must match the order item's SKU. Saving catalogue values does not update orders already imported. To update those orders, [apply Product Catalogue to existing eligible orders](/articles/1792513200001-apply-product-catalogue-to-existing-orders), or edit their items directly.

## Add identifiers to an individual order

1. Open an unprinted order in **UI 2.0** and go to **Items**.
2. Show the product identifier columns if they are hidden.
3. Enter the identifiers required for each item, using the courier table above.
4. Save the order.

## Check an order before shipping

Open a representative unprinted order after importing or updating it. Compare each item's identifiers with your source data and the courier table, including SKU or Barcode fallbacks and length limits.

If a value is missing or different, check the source field or mapping, matching catalogue SKU, and whether Product Catalogue fills missing values or overwrites imported data. Correct the order item and its source so future imports use the right value.

For a Parxl missing NS-PID error, correct **Manufacturer Product ID** on the affected item. Entering SKU or MID alone does not supply NS-PID.

Keep the product description, HS code, country of origin and item value complete. Product identifiers do not replace these customs fields. Starshipit does not validate every required identifier before label creation, so a successful label does not confirm that all customs details are complete.

## FAQs

<!-- faq:start -->

<!-- faq:question -->Is a product PID the same as a receiver PID?<!-- /faq:question -->

No. PID means **Product ID** in this guide: merchant and manufacturer PIDs identify the goods you are shipping. A receiver's PID or national ID identifies the person receiving the shipment. See [Receiver tax numbers](/articles/9133191385-receiver-tax-numbers) for those details.

<!-- faq:question -->Do these product IDs cover EUDR requirements?<!-- /faq:question -->

No. **EUDR** means the **EU Deforestation Regulation**, which has separate requirements for the products in its scope. Entering merchant, manufacturer or standardised product IDs in Starshipit does not establish EUDR compliance. Check the [European Commission's EUDR guidance](https://environment.ec.europa.eu/topics/forests/deforestation/regulation-deforestation-free-products_en) for the products and obligations that apply to your business.

<!-- faq:question -->What if a product does not have a standardised identifier?<!-- /faq:question -->

Leave **Standardised Product ID** blank if no recognised identifier exists. Check that **Barcode** does not contain an internal code that could be used as a fallback. Do not invent a GTIN or enter placeholder values such as `NA` or `NO` in your product data. Merchant and manufacturer identifiers may still be required.

<!-- faq:question -->Can the merchant and manufacturer identifiers be the same?<!-- /faq:question -->

Yes, if the code genuinely identifies the product in both systems, such as a brand selling its own products. Enter it in **Manufacturer Product ID** as well; Starshipit does not automatically copy SKU into that field.

<!-- faq:end -->

## Related articles

- [Add and manage products in the Product Catalogue](/articles/1781620000001-add-and-manage-products-in-the-product-catalogue)
- [Sync product data with Product Catalogue](/articles/14700000001007-sync-product-data-with-product-catalogue)
- [Set up MID codes for international shipments](/articles/13720206390671-set-up-mid-codes-for-international-shipments)
