{"componentChunkName":"component---src-templates-simple-markdown-js","path":"/shipping/basics/eu-customs-changes/","matchPath":"","result":{"data":{"markdownRemark":{"html":"<h1 style=\"position:relative;\"><a href=\"#metapack-rest-api-guidance-eu-customs-changes\" aria-label=\"metapack rest api guidance eu customs changes permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"metapack-rest-api-guidance-eu-customs-changes\"></div>MetaPack REST API Guidance: EU Customs Changes</h1>\n<h2 style=\"position:relative;\"><a href=\"#1-eu-de-minimis-changes-effective-july-1-2026\" aria-label=\"1 eu de minimis changes effective july 1 2026 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"1-eu-de-minimis-changes-effective-july-1-2026\"></div>1. EU De Minimis Changes (Effective July 1, 2026)</h2>\n<p>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.</p>\n<h3 style=\"position:relative;\"><a href=\"#implementation\" aria-label=\"implementation permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"implementation\"></div>Implementation</h3>\n<p>Pass the shipment type in the <code class=\"language-text\">movementIndicator</code> field at the consignment level. Values are lowercase:</p>\n<table>\n<thead>\n<tr>\n<th>Movement Indicator Value</th>\n<th>Description / Use Case</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code class=\"language-text\">b2b</code></td>\n<td>Business-to-Business shipments</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">b2c</code></td>\n<td>Business-to-Consumer shipments</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">c2b</code></td>\n<td>Consumer-to-Business shipments</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">c2c</code></td>\n<td>Consumer-to-Consumer shipments</td>\n</tr>\n</tbody>\n</table>\n<h3 style=\"position:relative;\"><a href=\"#example-payload-snippet\" aria-label=\"example payload snippet permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"example-payload-snippet\"></div>Example Payload Snippet</h3>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"93622384045174400000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`{\n  &quot;movementIndicator&quot;: &quot;b2c&quot;\n}`, `93622384045174400000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-93622384045174400000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"movementIndicator\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"b2c\"</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n      </div>\n<h2 style=\"position:relative;\"><a href=\"#2-product-identifiers--compliance-required-november-1-2026\" aria-label=\"2 product identifiers  compliance required november 1 2026 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"2-product-identifiers--compliance-required-november-1-2026\"></div>2. Product Identifiers / Compliance (Required November 1, 2026)</h2>\n<p>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.</p>\n<p>In MetaPack REST API, product identifiers are passed directly within each product item inside the <code class=\"language-text\">compliance</code> object:</p>\n<table>\n<thead>\n<tr>\n<th>MetaPack REST Field</th>\n<th>Description</th>\n<th>Type / Enum</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code class=\"language-text\">itemRef</code></td>\n<td>Internal identifier of the trade item, for example the SKU (at the item level).</td>\n<td>string</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">compliance.manufacturerProductId</code></td>\n<td>The primary manufacturer identifier (GTIN, UPC, EAN, MPN, SKU).</td>\n<td>string</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">compliance.manufacturerProductIdType</code></td>\n<td>The type code corresponding to <code class=\"language-text\">manufacturerProductId</code>.</td>\n<td><code class=\"language-text\">\"gtin\"</code>, <code class=\"language-text\">\"ean\"</code>, <code class=\"language-text\">\"upc\"</code>, <code class=\"language-text\">\"isbn\"</code>, <code class=\"language-text\">\"mpn\"</code>, <code class=\"language-text\">\"sku\"</code>, <code class=\"language-text\">\"undefined\"</code></td>\n</tr>\n<tr>\n<td><code class=\"language-text\">compliance.manufacturerNsProductId</code></td>\n<td>An additional non-standard manufacturer part/model number.</td>\n<td>string</td>\n</tr>\n</tbody>\n</table>\n<blockquote>\n<p><strong>Note:</strong> Identifiers must be assigned per distinct product variant (color/size combination). Lot/batch numbers will be rejected.</p>\n</blockquote>\n<h3 style=\"position:relative;\"><a href=\"#complete-metapack-rest-api-json-example\" aria-label=\"complete metapack rest api json example permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"complete-metapack-rest-api-json-example\"></div>Complete MetaPack REST API JSON Example</h3>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"35328972304131432000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`{\n  &quot;movementIndicator&quot;: &quot;b2c&quot;,\n  &quot;attributes&quot;: {\n    &quot;incoterms&quot;: &quot;DDP&quot;\n  },\n  &quot;parcels&quot;: [\n    {\n      &quot;weight&quot;: {\n        &quot;value&quot;: 0.236\n      },\n      &quot;items&quot;: [\n        {\n          &quot;itemRef&quot;: &quot;8379892&quot;,\n          &quot;description&quot;: &quot;Test Product 1&quot;,\n          &quot;quantity&quot;: 1,\n          &quot;value&quot;: {\n            &quot;amount&quot;: 65.00\n          },\n          &quot;countryOfOrigin&quot;: &quot;GBR&quot;,\n          &quot;harmonisedCode&quot;: &quot;95134569&quot;,\n          &quot;compliance&quot;: {\n            &quot;manufacturerProductId&quot;: &quot;0123456789012&quot;,\n            &quot;manufacturerProductIdType&quot;: &quot;gtin&quot;,\n            &quot;manufacturerNsProductId&quot;: &quot;NS-PROD-001&quot;\n          }\n        }\n      ]\n    }\n  ]\n}`, `35328972304131432000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-35328972304131432000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"movementIndicator\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"b2c\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"attributes\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"incoterms\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"DDP\"</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"parcels\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"weight\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"value\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0.236</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"items\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token punctuation\">{</span>\n          <span class=\"token property\">\"itemRef\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"8379892\"</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Test Product 1\"</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"quantity\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"value\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"amount\"</span><span class=\"token operator\">:</span> <span class=\"token number\">65.00</span>\n          <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"countryOfOrigin\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"GBR\"</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"harmonisedCode\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"95134569\"</span><span class=\"token punctuation\">,</span>\n          <span class=\"token property\">\"compliance\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"manufacturerProductId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"0123456789012\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"manufacturerProductIdType\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gtin\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"manufacturerNsProductId\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"NS-PROD-001\"</span>\n          <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n      </div>\n<h2 style=\"position:relative;\"><a href=\"#carrier-readiness\" aria-label=\"carrier readiness permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"carrier-readiness\"></div>Carrier Readiness</h2>\n<p>Last updated: 30 September 2026</p>\n<p>These carriers are ready to accept the movement indicator and product identifier data described above:</p>\n<ul>\n<li>\nStarlinks\n</li>\n<li>\nUPS\n</li>\n</ul>\n<p>We're rolling out support to more carriers in stages, and we'll update this list as each one goes live.</p>\n<p>If your carrier isn't listed yet, you can start preparing your integration now by including the <code class=\"language-text\">movementIndicator</code> and <code class=\"language-text\">compliance</code> fields in your requests, so you're ready when support is added.</p>","headings":[{"value":"MetaPack REST API Guidance: EU Customs Changes","depth":1},{"value":"1. EU De Minimis Changes (Effective July 1, 2026)","depth":2},{"value":"Implementation","depth":3},{"value":"Example Payload Snippet","depth":3},{"value":"2. Product Identifiers / Compliance (Required November 1, 2026)","depth":2},{"value":"Complete MetaPack REST API JSON Example","depth":3},{"value":"Carrier Readiness","depth":2}]},"contentItem":{"data":{"lastModified":"2026-10-07T11:42:21.000Z","enableToc":null,"disableLastModified":null,"tocMaxDepth":null,"requestLogin":false}},"siteConfig":{"enableToc":true,"disableLastModified":false,"tocMaxDepth":4}},"pageContext":{"matchPath":"","id":"a2ad4f07-079e-573b-a559-a87d322bbc19__redocly content/shipping/basics/eu-customs-changes/","seo":{"title":"EU customs changes","description":"MetaPack REST API guidance for EU customs changes","image":"","keywords":"metapack, shipping, api, rest, europe, customs, de minimis, movement indicator, product identifiers","jsonLd":{"@context":"https://schema.org","@type":"Organization","url":"https://dev.metapack.com/","name":"Metapack Developer Documentation"},"lang":"en-GB","siteUrl":null},"pageId":"shipping/basics/eu-customs-changes.md","pageBaseUrl":"/shipping/basics/eu-customs-changes","type":"markdown","toc":{"enable":true,"maxDepth":4,"headings":[{"depth":1,"value":"MetaPack REST API Guidance: EU Customs Changes","id":"metapack-rest-api-guidance-eu-customs-changes"},{"depth":2,"value":"1. EU De Minimis Changes (Effective July 1, 2026)","id":"1-eu-de-minimis-changes-effective-july-1-2026"},{"depth":3,"value":"Implementation","id":"implementation"},{"depth":3,"value":"Example Payload Snippet","id":"example-payload-snippet"},{"depth":2,"value":"2. Product Identifiers / Compliance (Required November 1, 2026)","id":"2-product-identifiers--compliance-required-november-1-2026"},{"depth":3,"value":"Complete MetaPack REST API JSON Example","id":"complete-metapack-rest-api-json-example"},{"depth":2,"value":"Carrier Readiness","id":"carrier-readiness"}]},"data":{"title":"","seo":{"title":"EU customs changes","description":"MetaPack REST API guidance for EU customs changes","image":null,"keywords":"metapack, shipping, api, rest, europe, customs, de minimis, movement indicator, product identifiers","lang":"en-GB","jsonLd":{"@context":"https://schema.org","@type":"Organization","url":"https://dev.metapack.com/","name":"Metapack Developer Documentation"},"sitemap":{"changefreq":null,"priority":0.7,"lastmod":null}}},"catalogInfo":null,"link":"/shipping/basics/eu-customs-changes/","sidebarName":"__alternative-sidebar__-data-shipstation-metapack-dev-portal-shipping-sidebars.yaml","isLanding":false,"showPrevButton":null,"showNextButton":null,"apiVersions":null,"apiVersionId":null,"isDefaultApiVersion":null}},"staticQueryHashes":["1123603147","1302185487","1344209882","1398840060","1520077861","1975142765","2667623876","2950305614","3240152602","3743992808","561138138"]}