MetaPack REST API Guidance: EU Customs Changes

1. EU De Minimis Changes (Effective July 1, 2026)

The European Union has removed the €150 duty-free threshold. Qualifying B2C shipments valued at €150 or less, originating outside the EU and shipped to an EU member state, are subject to a flat €3 customs duty per unique HS code. B2B shipments (where the recipient is VAT-registered) remain exempt.

Implementation

Pass the shipment type in the movementIndicator field at the consignment level. Values are lowercase:

Movement Indicator Value Description / Use Case
b2b Business-to-Business shipments
b2c Business-to-Consumer shipments
c2b Consumer-to-Business shipments
c2c Consumer-to-Consumer shipments

Example Payload Snippet

Copy
Copied
{
  "movementIndicator": "b2c"
}

2. Product Identifiers / Compliance (Required November 1, 2026)

Starting November 1, 2026, every product item in a B2C shipment to the EU—regardless of value—must carry product identification data so customs authorities can identify the precise items being imported.

In MetaPack REST API, product identifiers are passed directly within each product item inside the compliance object:

MetaPack REST Field Description Type / Enum
itemRef Internal identifier of the trade item, for example the SKU (at the item level). string
compliance.manufacturerProductId The primary manufacturer identifier (GTIN, UPC, EAN, MPN, SKU). string
compliance.manufacturerProductIdType The type code corresponding to manufacturerProductId. "gtin", "ean", "upc", "isbn", "mpn", "sku", "undefined"
compliance.manufacturerNsProductId An additional non-standard manufacturer part/model number. string

Note: Identifiers must be assigned per distinct product variant (color/size combination). Lot/batch numbers will be rejected.

Complete MetaPack REST API JSON Example

Copy
Copied
{
  "movementIndicator": "b2c",
  "attributes": {
    "incoterms": "DDP"
  },
  "parcels": [
    {
      "weight": {
        "value": 0.236
      },
      "items": [
        {
          "itemRef": "8379892",
          "description": "Test Product 1",
          "quantity": 1,
          "value": {
            "amount": 65.00
          },
          "countryOfOrigin": "GBR",
          "harmonisedCode": "95134569",
          "compliance": {
            "manufacturerProductId": "0123456789012",
            "manufacturerProductIdType": "gtin",
            "manufacturerNsProductId": "NS-PROD-001"
          }
        }
      ]
    }
  ]
}

Carrier Readiness

Last updated: 30 September 2026

These carriers are ready to accept the movement indicator and product identifier data described above:

  • Starlinks
  • UPS

We're rolling out support to more carriers in stages, and we'll update this list as each one goes live.

If your carrier isn't listed yet, you can start preparing your integration now by including the movementIndicator and compliance fields in your requests, so you're ready when support is added.