1<!DOCTYPE html><html dir="ltr" lang="en-US"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Digital Product Passport (DPP) | OpenEPCIS Docs | OpenEPCIS - an open-core, GS1-conformant EPCIS implementation.</title>
1<script type="importmap">{"imports":{"#entry":"/_nuxt/zW0iHF-Y.js"}}</script>
1<style id="nuxt-ui-colors">@layer theme{:root,:host{--ui-color-primary-50:var(--color-openepcis-50,);--ui-color-primary-100:var(--color-openepcis-100,);--ui-color-primary-200:var(--color-openepcis-200,);--ui-color-primary-300:var(--color-openepcis-300,);--ui-color-primary-400:var(--color-openepcis-400,);--ui-color-primary-500:var(--color-openepcis-500,);--ui-color-primary-600:var(--color-openepcis-600,);--ui-color-primary-700:var(--color-openepcis-700,);--ui-color-primary-800:var(--color-openepcis-800,);--ui-color-primary-900:var(--color-openepcis-900,);--ui-color-primary-950:var(--color-openepcis-950,);--ui-color-secondary-50:var(--color-blue-50,oklch(97% .014 254.604));--ui-color-secondary-100:var(--color-blue-100,oklch(93.2% .032 255.585));--ui-color-secondary-200:var(--color-blue-200,oklch(88.2% .059 254.128));--ui-color-secondary-300:var(--color-blue-300,oklch(80.9% .105 251.813));--ui-color-secondary-400:var(--color-blue-400,oklch(70.7% .165 254.624));--ui-color-secondary-500:var(--color-blue-500,oklch(62.3% .214 259.815));--ui-color-secondary-600:var(--color-blue-600,oklch(54.6% .245 262.881));--ui-color-secondary-700:var(--color-blue-700,oklch(48.8% .243 264.376));--ui-color-secondary-800:var(--color-blue-800,oklch(42.4% .199 265.638));--ui-color-secondary-900:var(--color-blue-900,oklch(37.9% .146 265.522));--ui-color-secondary-950:var(--color-blue-950,oklch(28.2% .091 267.935));--ui-color-success-50:var(--color-green-50,oklch(98.2% .018 155.826));--ui-color-success-100:var(--color-green-100,oklch(96.2% .044 156.743));--ui-color-success-200:var(--color-green-200,oklch(92.5% .084 155.995));--ui-color-success-300:var(--color-green-300,oklch(87.1% .15 154.449));--ui-color-success-400:var(--color-green-400,oklch(79.2% .209 151.711));--ui-color-success-500:var(--color-green-500,oklch(72.3% .219 149.579));--ui-color-success-600:var(--color-green-600,oklch(62.7% .194 149.214));--ui-color-success-700:var(--color-green-700,oklch(52.7% .154 150.069));--ui-color-success-800:var(--color-green-800,oklch(44.8% .119 151.328));--ui-color-success-900:var(--color-green-900,oklch(39.3% .095 152.535));--ui-color-success-950:var(--color-green-950,oklch(26.6% .065 152.934));--ui-color-info-50:var(--color-blue-50,oklch(97% .014 254.604));--ui-color-info-100:var(--color-blue-100,oklch(93.2% .032 255.585));--ui-color-info-200:var(--color-blue-200,oklch(88.2% .059 254.128));--ui-color-info-300:var(--color-blue-300,oklch(80.9% .105 251.813));--ui-color-info-400:var(--color-blue-400,oklch(70.7% .165 254.624));--ui-color-info-500:var(--color-blue-500,oklch(62.3% .214 259.815));--ui-color-info-600:var(--color-blue-600,oklch(54.6% .245 262.881));--ui-color-info-700:var(--color-blue-700,oklch(48.8% .243 264.376));--ui-color-info-800:var(--color-blue-800,oklch(42.4% .199 265.638));--ui-color-info-900:var(--color-blue-900,oklch(37.9% .146 265.522));--ui-color-info-950:var(--color-blue-950,oklch(28.2% .091 267.935));--ui-color-warning-50:var(--color-yellow-50,oklch(98.7% .026 102.212));--ui-color-warning-100:var(--color-yellow-100,oklch(97.3% .071 103.193));--ui-color-warning-200:var(--color-yellow-200,oklch(94.5% .129 101.54));--ui-color-warning-300:var(--color-yellow-300,oklch(90.5% .182 98.111));--ui-color-warning-400:var(--color-yellow-400,oklch(85.2% .199 91.936));--ui-color-warning-500:var(--color-yellow-500,oklch(79.5% .184 86.047));--ui-color-warning-600:var(--color-yellow-600,oklch(68.1% .162 75.834));--ui-color-warning-700:var(--color-yellow-700,oklch(55.4% .135 66.442));--ui-color-warning-800:var(--color-yellow-800,oklch(47.6% .114 61.907));--ui-color-warning-900:var(--color-yellow-900,oklch(42.1% .095 57.708));--ui-color-warning-950:var(--color-yellow-950,oklch(28.6% .066 53.813));--ui-color-error-50:var(--color-red-50,oklch(97.1% .013 17.38));--ui-color-error-100:var(--color-red-100,oklch(93.6% .032 17.717));--ui-color-error-200:var(--color-red-200,oklch(88.5% .062 18.334));--ui-color-error-300:var(--color-red-300,oklch(80.8% .114 19.571));--ui-color-error-400:var(--color-red-400,oklch(70.4% .191 22.216));--ui-color-error-500:var(--color-red-500,oklch(63.7% .237 25.331));--ui-color-error-600:var(--color-red-600,oklch(57.7% .245 27.325));--ui-color-error-700:var(--color-red-700,oklch(50.5% .213 27.518));--ui-color-error-800:var(--color-red-800,oklch(44.4% .177 26.899));--ui-color-error-900:var(--color-red-900,oklch(39.6% .141 25.723));--ui-color-error-950:var(--color-red-950,oklch(25.8% .092 26.042));--ui-color-neutral-50:var(--color-slate-50,oklch(98.4% .003 247.858));--ui-color-neutral-100:var(--color-slate-100,oklch(96.8% .007 247.896));--ui-color-neutral-200:var(--color-slate-200,oklch(92.9% .013 255.508));--ui-color-neutral-300:var(--color-slate-300,oklch(86.9% .022 252.894));--ui-color-neutral-400:var(--color-slate-400,oklch(70.4% .04 256.788));--ui-color-neutral-500:var(--color-slate-500,oklch(55.4% .046 257.417));--ui-color-neutral-600:var(--color-slate-600,oklch(44.6% .043 257.281));--ui-color-neutral-700:var(--color-slate-700,oklch(37.2% .044 257.287));--ui-color-neutral-800:var(--color-slate-800,oklch(27.9% .041 260.031));--ui-color-neutral-900:var(--color-slate-900,oklch(20.8% .042 265.755));--ui-color-neutral-950:var(--color-slate-950,oklch(12.9% .042 264.695));--ui-color-openepcis-50:var(--color-openepcis-50,);--ui-color-openepcis-100:var(--color-openepcis-100,);--ui-color-openepcis-200:var(--color-openepcis-200,);--ui-color-openepcis-300:var(--color-openepcis-300,);--ui-color-openepcis-400:var(--color-openepcis-400,);--ui-color-openepcis-500:var(--color-openepcis-500,);--ui-color-openepcis-600:var(--color-openepcis-600,);--ui-color-openepcis-700:var(--color-openepcis-700,);--ui-color-openepcis-800:var(--color-openepcis-800,);--ui-color-openepcis-900:var(--color-openepcis-900,);--ui-color-openepcis-950:var(--color-openepcis-950,)}:root,:host,.light{--ui-primary:var(--ui-color-primary-500);--ui-secondary:var(--ui-color-secondary-500);--ui-success:var(--ui-color-success-500);--ui-info:var(--ui-color-info-500);--ui-warning:var(--ui-color-warning-500);--ui-error:var(--ui-color-error-500);--ui-openepcis:var(--ui-color-openepcis-500)}.dark{--ui-primary:var(--ui-color-primary-400);--ui-secondary:var(--ui-color-secondary-400);--ui-success:var(--ui-color-success-400);--ui-info:var(--ui-color-info-400);--ui-warning:var(--ui-color-warning-400);--ui-error:var(--ui-color-error-400);--ui-openepcis:var(--ui-color-openepcis-400)}}</style><style>.docs-mobile-nav-shell[data-v-bc4ec493]>div{height:auto;box-shadow:none;border-right:0;padding-block:0}</style><style>.docs-prev-next[data-v-4e7d76de]{border-top:1px solid var(--ui-border);grid-template-columns:1fr 1fr;gap:.75rem;margin-top:2.5rem;padding:1.5rem;display:grid}.docs-prev-next-link[data-v-4e7d76de]{flex-direction:column;gap:.25rem;min-width:0;display:flex}.docs-prev-next-dir[data-v-4e7d76de]{text-transform:uppercase;letter-spacing:.06em;color:var(--ui-text-muted);align-items:center;gap:.25rem;font-size:.75rem;display:flex}.docs-prev-next-title[data-v-4e7d76de]{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.docs-prev-next-link:hover .docs-prev-next-title[data-v-4e7d76de]{text-decoration:underline}</style><style>.splitpanes{width:100%;height:100%;display:flex}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging .splitpanes__pane{-webkit-user-select:none;user-select:none;pointer-events:none}:has(.splitpanes--dragging){-webkit-user-select:none;user-select:none;pointer-events:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical .splitpanes__pane{will-change:width;transition:width .2s ease-out}.splitpanes--horizontal .splitpanes__pane{will-change:height;transition:height .2s ease-out}.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes--vertical>.splitpanes__splitter{cursor:col-resize;min-width:1px}.splitpanes--horizontal>.splitpanes__splitter{cursor:row-resize;min-height:1px}.default-theme.splitpanes .splitpanes__pane{background-color:#f2f2f2}.default-theme.splitpanes .splitpanes__splitter{box-sizing:border-box;background-color:#fff;flex-shrink:0;position:relative}.default-theme.splitpanes .splitpanes__splitter:after,.default-theme.splitpanes .splitpanes__splitter:before{content:"";background-color:#00000026;transition:background-color .3s;position:absolute;top:50%;left:50%}.default-theme.splitpanes .splitpanes__splitter:hover:after,.default-theme.splitpanes .splitpanes__splitter:hover:before{background-color:#00000040}.default-theme.splitpanes .splitpanes__splitter:first-child{curs
1or:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme .splitpanes--vertical>.splitpanes__splitter,.default-theme.splitpanes--vertical>.splitpanes__splitter{border-left:1px solid #eee;width:7px;margin-left:-1px}.default-theme .splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme.splitpanes--vertical>.splitpanes__splitter:before{width:1px;height:30px;transform:translateY(-50%)}.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme .splitpanes--vertical>.splitpanes__splitter:after,.default-theme.splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme .splitpanes--horizontal>.splitpanes__splitter,.default-theme.splitpanes--horizontal>.splitpanes__splitter{border-top:1px solid #eee;height:7px;margin-top:-1px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme.splitpanes--horizontal>.splitpanes__splitter:before{width:30px;height:1px;transform:translate(-50%)}.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:after,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}</style><style>.docs-panes-shell{height:calc(100vh - 4rem)}@media (width>=1024px){body.docs-route-active{overflow:hidden}html:has(body.docs-route-active){overflow:hidden}}.docs-center-scroll{height:100%;overflow-y:auto}.docs-pane-fallback-side{width:18%;overflow-y:auto}.docs-center-scroll pre{color:#0f172b;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;margin:1rem 0;padding:1rem 1.25rem;font-size:.875rem;line-height:1.6;overflow-x:auto}.dark .docs-center-scroll pre{color:#e5e7eb;background-color:#0b1220;border:1px solid #1f2937}.docs-center-scroll:where(p,li,td,th)>code{background-color:#0f172b0d;border:1px solid #0f172b14;border-radius:.25rem;padding:.1em .35em;font-size:.875em}.dark .docs-center-scroll:where(p,li,td,th)>code{background-color:#ffffff0f;border:1px solid #ffffff14}.docs-splitpanes.splitpanes--vertical>.splitpanes__splitter{border-left:1px solid var(--color-gray-700,#374151);cursor:col-resize;background:0 0;width:6px;position:relative}.docs-splitpanes.splitpanes--vertical>.splitpanes__splitter:before{content:"";background:0 0;transition:background .15s;position:absolute;inset:0 1px}.docs-splitpanes.splitpanes--vertical>.splitpanes__splitter--dragging:before,.docs-splitpanes.splitpanes--vertical>.splitpanes__splitter:hover:before{background:var(--color-blue-500,#3b82f6);opacity:.4}</style><style>.diagram-figure[data-v-dfe71d6b]{flex-direction:column;align-items:center;gap:.5rem;margin:1.25rem auto;display:flex}.diagram-img[data-v-dfe71d6b]{width:100%;height:auto}.diagram-caption[data-v-dfe71d6b]{color:var(--color-gray-500,#6b7280);text-align:center;font-size:.75rem}</style><style>.dark .diagram-img--light,.diagram-img--dark{display:none}.dark .diagram-img--dark{display:block}</style><link rel="stylesheet" href="/_nuxt/entry.BUfgxozd.css" crossorigin><style>@layer base{:where(.i-custom\:open-epcis){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-1297 -178 75 75' width='75' height='75'%3E%3Cpath d='m -1259.8131,-173.06125 c -15.8054,1.69162 -28.3655,14.34637 -30.0441,30.27104 h 26.3702 c 0.7895,-1.60102 2.0851,-2.90526 3.6739,-3.70172 z m 7.2294,0 v 26.57216 c 1.5883,0.79581 2.8813,2.09832 3.6711,3.69888 h 26.3701 c -1.6787,-15.92561 -14.2349,-28.58062 -30.0412,-30.27104 z m -37.2735,37.55499 c 1.6774,15.92593 14.2379,28.57958 30.0441,30.27104 v -26.57216 c -1.5892,-0.79552 -2.8845,-2.0974 -3.6739,-3.69888 z m 40.9446,0 c -0.7896,1.6013 -2.0828,2.90331 -3.6711,3.69888 v 26.57216 c 15.8071,-1.69026 28.3637,-14.34417 30.0412,-30.27104 z' fill='black' /%3E%3C/svg%3E")}:where(.i-lucide\:arrow-left){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m12 19l-7-7l7-7m7 7H5'/%3E%3C/svg%3E")}:where(.i-lucide\:arrow-right){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 12h14m-7-7l7 7l-7 7'/%3E%3C/svg%3E")}
1:where(.i-lucide\:chevron-down){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 9l6 6l6-6'/%3E%3C/svg%3E")}:where(.i-lucide\:copy){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='14' height='14' x='8' y='8' rx='2' ry='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-lucide\:menu){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 5h16M4 12h16M4 19h16'/%3E%3C/svg%3E")}:where(.i-lucide\:moon){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401'/%3E%3C/svg%3E")}:where(.i-lucide\:sun){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/g%3E%3C/svg%3E")}}</style><link rel="preload" as="fetch" crossorigin="anonymous" href="/docs/digital-product-passport/_payload.json?_b=650e2294-bf1c-423d-b8ce-581a2ceadc20"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/zW0iHF-Y.js"><link rel="preload" as="font" crossorigin href="/fonts/Verdana.ttf"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/43SDRlTf.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CJOrt7RF.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DzEf6c3d.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/8h4OWWiK.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/D-HMWAU_.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BujKp7DX.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BHLAgWmv.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/FBRWFZIN.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CrYIxIlV.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BdYw1Xaq.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DQrR-yuc.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/HclGiUj8.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CgiraYKn.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DDtKfZOr.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DQ983h8h.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DxuqPU12.js">
1<link rel="modulepreload" as="script" crossorigin href="/_nuxt/DN0i4l6O.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Nm9D3669.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Dd_uD5pT.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BKBzoff9.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CL6scTFQ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BDNMzG2s.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CrmkmYrd.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/IiweBInR.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DWEoD8ZB.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Dj0G993r.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DHihWhf5.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B5CiBJIK.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DtDOYScg.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/80UagrpZ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BQGXZ-XF2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/C6kwAApV2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DtjE3Ukq2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BfmniPAC2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Deg89TG72.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BQMNgvMw2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Bng2rRDf.js">
1<link rel="modulepreload" as="script" crossorigin href="/_nuxt/gaeZhMQW2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/2RTlmUpT2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BLC6mk3y2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/5NF0VqmD.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/D7PxYVLV2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DPJREeqN2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/KjrI7Y7m2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/fUugPfkd2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CFSuHYmb2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BgFpjhxP2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BsNIMFRX2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CLHIAQz32.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Dgcny1932.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Dsm7acSY.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/mrM3dsHh.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BXyWNuV3.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BTbc2EKu.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B3Yu8tAs.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BTI6xwxH.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/ByBpLDHU.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DYn0p7vH.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/8Ldq5fFr.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DCYlk-bR.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CtlQyJ5g.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CeSQnHxX.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B9zvRfAB.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DODZ7keF.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DOVquImQ.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/gbj7i9AI.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Dc8hNYHL.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DUWYbtwt.js">
1<link rel="modulepreload" as="script" crossorigin href="/_nuxt/Oyro1cHP.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DHkZr6km.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B_wV8NK3.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/tAef0wT82.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B_60FId6.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Bn4gTyaE.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/P9aYIdIt.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CRtfrTkS.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CpjcsgHU.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BQpv55Br2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BJy2KwpS.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/yjV57GeB.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/40gk1AdB.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B8hauT3n.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/COqyhTaj.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BtLlUbOS.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/D-ezJmIh2.js">
1<link rel="modulepreload" as="script" crossorigin href="/_nuxt/B9ewMeEX.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DKUj2dRK2.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/V9IKeVu32.js">
1<script type="module" src="/_nuxt/zW0iHF-Y.js" crossorigin></script>
1<link rel="prefetch" as="script" crossorigin href="/_nuxt/DFUCAxAp2.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/BcDfr2gr2.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DMrn2l-o2.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/9bea6uSF2.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/ComRwyoX.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/CzSd8EqL2.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/7GFIrYgi2.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DzQGYy8z2.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DX69GDmU2.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/WWRhtdKf.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/DDR_LN_l.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/VYaHqVzm.js"><link rel="icon" type="image/x-icon" href="/icons/openepcis-ico.ico"><meta property="og:type" content="article"><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1"><link rel="alternate" type="text/markdown" href="/docs/digital-product-passport.md"><link id="i18n-can" rel="canonical" href="https://openepcis.io/docs/digital-product-passport"><meta property="og:url" content="https://openepcis.io/docs/digital-product-passport"><meta id="i18n-og-alt-en" property="og:locale:alternate" content="en"><meta name="description" content="Introduction to Digital Product Passport and how EPCIS enables product traceability for DPP compliance."><meta name="author" content="benelog GmbH & Co. KG"><meta property="og:title" content="Digital Product Passport (DPP)"><meta property="og:description" content="Introduction to Digital Product Passport and how EPCIS enables product traceability for DPP compliance."><meta property="og:site_name" content="OpenEPCIS"><meta property="og:locale" content="en_US"><meta property="og:image" content="https://openepcis.io/img/og/og-background.png"><meta property="og:image:width" content="1418"><meta property="og:image:height" content="802"><meta property="og:image:alt" content="Digital Product Passport (DPP)"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Digital Product Passport (DPP)"><meta name="twitter:description" content="Introduction to Digital Product Passport and how EPCIS enables product traceability for DPP compliance."><meta name="twitter:image" content="https://openepcis.io/img/og/og-background.png"><meta name="keywords" content="Digital Product Passport, DPP, EU Regulation, EPCIS, sustainability, traceability, circular economy, product lifecycle">
1<script>"use strict";(()=>{const o=window,e=document.documentElement,c=["dark","light"],s=getStorageValue("localStorage","nuxt-color-mode")||"system";let r=s==="system"?f():s;const l=e.getAttribute("data-color-mode-forced");l&&(r=l),i(r),o["__NUXT_COLOR_MODE__"]={preference:s,value:r,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(t){const a=""+t+"",n="";e.classList?e.classList.add(a):e.className+=" "+a,n&&e.setAttribute("data-"+n,t)}function d(t){const a=""+t+"",n="";e.classList?e.classList.remove(a):e.className=e.className.replace(new RegExp(a,"g"),""),n&&e.removeAttribute("data-"+n)}function u(t){return o.matchMedia("(prefers-color-scheme"+t+")")}function f(){if(o.matchMedia&&u("").media!=="not all"){for(const t of c)if(u(":"+t).matches)return t}return"light"}})();function getStorageValue(o,e){switch(o){case"localStorage":try{return window.localStorage.getItem(e)}catch{return null}case"sessionStorage":try{return window.sessionStorage.getItem(e)}catch{return null}case"cookie":try{return getCookie(e)}catch{return null}default:return null}}function getCookie(o){const c=("; "+window.document.cookie).split("; "+o+"=");if(c.length===2){const s=c.pop();return s?s.split(";").shift():null}}</script>
1</head><body class="docs-route-active"><div id="__nuxt" class="isolate"><!--[--><!--[--><!--[--><!--[--><!--[--><a href="#main-content" class="skip-link">Skip to content</a><header class="sticky top-0 z-50 w-full bg-openepcis-section/95 dark:bg-openepcis-section/95 backdrop-blur-lg transition-colors"><div class="flex items-center justify-between w-full h-16 px-4 md:px-8"><a href="/" class="flex items-center group" title="Home" aria-label="Go to homepage"><img src="/img/openepcis-logo.svg" alt class="h-15 w-15 block transition-transform group-hover:scale-105" draggable="false"><span class="text-openepcis font-extrabold text-xl">OpenEPCIS</span></a><div class="hidden lg:flex flex-1 justify-center"><!--[--><!----><!----><nav data-slot="root" aria-label="Main navigation" class="relative flex gap-1.5 [&>div]:min-w-0 items-center justify-between" data-orientation="horizontal" dir="ltr" data-reka-navigation-menu><!--[--><!--[--><!--]--><!--[--><!--[--><div style="position:relative;"><ul data-slot="list" class="isolate min-w-0 flex items-center" data-orientation="horizontal"><!--[--><!--[--><li data-menu-item data-slot="item" class="min-w-0 py-2"><!--[--><!--[--><a href="/" data-reka-collection-item data-slot="link" class="group relative w-full flex items-center gap-1.5 font-medium text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-primary/25 before:inset-x-px before:inset-y-0 text-muted hover:text-highlighted hover:before:bg-elevated/50 before:transition-colors data-[state=open]:text-highlighted data-[state=open]:before:bg-elevated/50 px-4 py-2 rounded-md transition data-active:bg-slate-200 dark:data-active:bg-slate-700 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-mdi:home shrink-0 group-hover:text-default transition-colors group-data-[state=open]:text-default size-5 mr-1 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkLabel" class="truncate text-openepcis"><!--[-->Home<!--]--><!----></span><!----><!--]--><!--]--></a><!----><!--]--><!----><!--]--></li><li data-menu-item data-slot="item" class="min-w-0 py-2"><!--[--><!--[--><a href="/docs" data-reka-collection-item data-active aria-current="page" data-slot="link" class="group relative w-full flex items-center gap-1.5 font-medium text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-primary/25 before:inset-x-px before:inset-y-0 text-primary before:bg-elevated px-4 py-2 rounded-md transition data-active:bg-slate-200 dark:data-active:bg-slate-700 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-mdi:drive-document shrink-0 group-data-[state=open]:text-primary size-5 mr-1 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkLabel" class="truncate text-openepcis"><!--[-->Documentation<!--]--><!----></span><!----><!--]--><!--]--></a><!----><!--]--><!----><!--]--></li><li data-menu-item data-slot="item" class="min-w-0 py-2"><!--[--><!--[--><a href="/blog" data-reka-collection-item data-slot="link" class="group relative w-full flex items-center gap-1.5 font-medium text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-primary/25 before:inset-x-px before:inset-y-0 text-muted hover:text-highlighted hover:before:bg-elevated/50 before:transition-colors data-[state=open]:text-highlighted data-[state=open]:before:bg-elevated/50 px-4 py-2 rounded-md transition data-active:bg-slate-200 dark:data-active:bg-slate-700 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-mdi:rss shrink-0 group-hover:text-default transition-colors group-data-[state=open]:text-default size-5 mr-1 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkLabel" class="truncate text-openepcis"><!--[-->Blog<!--]--><!----></span><!----><!--]--><!--]--></a><!----><!--]--><!----><!--]--></li><li data-menu-item data-slot="item" class="min-w-0 py-2"><!--[--><!--[--><a href="/faq" data-reka-collection-item data-slot="link" class="group relative w-full flex items-center gap-1.5 font-medium text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-primary/25 before:inset-x-px before:inset-y-0 text-muted hover:text-highlighted hover:before:bg-elevated/50 before:transition-colors data-[state=open]:text-highlighted data-[state=open]:before:bg-elevated/50 px-4 py-2 rounded-md transition data-active:bg-slate-200 dark:data-active:bg-slate-700 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-mdi:faq shrink-0 group-hover:text-default transition-colors group-data-[state=open]:text-default size-5 mr-1 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkLabel" class="truncate text-openepcis"><!--[-->FAQ<!--]--><!----></span><!----><!--]--><!--]--></a><!----><!--]--><!----><!--]--></li>
1<!--]--><!--]--></ul></div><!----><!--]--><!--]--><!--[--><!--]--><div data-slot="viewportWrapper" class="absolute top-full start-0 flex w-full justify-center"><!----><!----></div><!--]--></nav><!--]--></div><div class="flex items-center gap-1"><!--[--><!--[--><!----><button type="button" data-slot="base" aria-label="Search Term" modelvalue="false" class="font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors text-sm gap-1.5 ring ring-inset ring-accented text-default bg-elevated hover:bg-accented/75 active:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted p-1.5 rounded-xl btn-openepcis"><!--[--><!--[--><span class="iconify i-mdi:search shrink-0 size-5" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><span data-slot="label" class="truncate hidden">Search Term</span><!--]--><!--[--><div data-slot="trailing" class="hidden items-center gap-0.5 ms-auto lg:hidden"><!--[--><!--[--><kbd class="inline-flex items-center justify-center px-1 rounded-sm font-medium font-sans uppercase h-5 min-w-[20px] text-[11px] ring ring-inset ring-accented text-default bg-elevated"><!--[--> <!--]--></kbd><kbd class="inline-flex items-center justify-center px-1 rounded-sm font-medium font-sans uppercase h-5 min-w-[20px] text-[11px] ring ring-inset ring-accented text-default bg-elevated"><!--[-->k<!--]--></kbd><!--]--><!--]--></div><!--]--><!--]--></button><!--]--><span></span><!--]--><a href="mailto:[email protected]" rel="noopener noreferrer" target="_blank" data-slot="base" class="rounded-md font-medium disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors gap-2 text-inverted bg-primary hover:bg-primary/75 active:bg-primary/75 disabled:bg-primary aria-disabled:bg-primary outline-primary/25 focus-visible:outline-3 hidden md:inline-flex items-center btn-openepcis px-4 py-2 text-sm"><!--[--><!--[--><span class="iconify i-heroicons:envelope shrink-0 size-5" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><span data-slot="label" class="truncate">Contact Us</span><!--]--><!--[--><!----><!--]--><!--]--></a><button type="button" data-slot="base" aria-label="Switch to dark mode" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors text-sm gap-1.5 text-default hover:bg-elevated active:bg-elevated outline-inverted/25 focus-visible:outline-3 hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent p-1.5"><!--[--><!--[--><span class="iconify i-lucide:moon shrink-0 size-5 hidden dark:inline-block" aria-hidden="true" style=""></span><span class="iconify i-lucide:sun shrink-0 size-5 dark:hidden" aria-hidden="true" style=""></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></button><!--[--><button type="button" data-slot="base" aria-haspopup="dialog" aria-expanded="false" aria-controls="mobile-menu" data-state="closed" aria-label="Open Menu" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors text-sm gap-2 text-default hover:bg-elevated active:bg-elevated outline-inverted/25 focus-visible:outline-3 hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent p-2 lg:hidden"><!--[--><!--[--><span class="iconify i-lucide:menu shrink-0 size-5" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></button><!--v-if--><!--]--></div></div></header><main id="main-content" class="flex-1" tabindex="-1"><!--[--><div class="flex flex-col min-h-screen lg:hidden"><div class="flex items-center gap-2 w-full px-6 pt-4"><!--[--><button type="button" data-slot="base" aria-haspopup="dialog" aria-expanded="false" data-state="closed" aria-label="Contents" data-v-bc4ec493 class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors px-2.5 py-1.5 text-sm gap-1.5 text-default hover:bg-elevated active:bg-elevated outline-inverted/25 focus-visible:outline-3 hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent lg:hidden"><!--[--><!--[--><span class="iconify i-lucide:list shrink-0 size-5" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><span data-slot="label" class="truncate">Contents</span><!--]--><!--[--><!----><!--]--><!--]--></button><!--v-if--><!--]--><div class="min-w-0 flex-1"><nav aria-label="Breadcrumb" class="flex items-center text-sm text-openepcis-muted mb-4"><ol class="flex items-center flex-wrap gap-1"><!--[--><li class="flex items-center"><a href="/" class="hover:text-openepcis-primary transition-colors duration-200">Home</a><span class="iconify i-heroicons:chevron-right-20-solid w-4 h-4 mx-1 text-openepcis-muted" aria-hidden="true" style=""></span></li><li class="flex items-center"><a href="/docs" class="router-link-active hover:text-openepcis-primary transition-colors duration-200">Documentation</a><span class="iconify i-heroicons:chevron-right-20-solid w-4 h-4 mx-1 text-openepcis-muted" aria-hidden="true" style=""></span></li><li class="flex items-center"><span class="text-highlighted font-medium" aria-current="page">Digital Product Passport (DPP)</span><!----></li>
1<!--]--></ol></nav></div></div><div class="flex flex-col grow items-center justify-center min-h-screen w-full flex-1 overflow-y-auto"><article class="max-w-none mx-auto p-6 rounded-lg shadow-md hover:shadow-xl transition-shadow duration-300 ease-in-out w-full overflow-x-hidden"><div><h1 class="text-2xl sm:text-3xl text-highlighted font-bold mb-3 text-left">Digital Product Passport (DPP)</h1><p class="text-base text-openepcis-muted mb-4">Introduction to Digital Product Passport and how EPCIS enables product traceability for DPP compliance.</p><div class="flex flex-wrap items-center gap-x-1 gap-y-1 text-xs text-openepcis-muted mb-4"><!--[--><!--[--><a href="/tags/digital-product-passport" class="hover:text-openepcis-primary hover:underline transition-colors">digital-product-passport</a><span class="text-openepcis-muted/60" aria-hidden="true">·</span><!--]--><!--[--><a href="/tags/dpp" class="hover:text-openepcis-primary hover:underline transition-colors">dpp</a><span class="text-openepcis-muted/60" aria-hidden="true">·</span><!--]--><!--[--><a href="/tags/eu-regulation" class="hover:text-openepcis-primary hover:underline transition-colors">eu-regulation</a><span class="text-openepcis-muted/60" aria-hidden="true">·</span><!--]--><!--[--><a href="/tags/epcis" class="hover:text-openepcis-primary hover:underline transition-colors">epcis</a><span class="text-openepcis-muted/60" aria-hidden="true">·</span><!--]--><!--[--><a href="/tags/sustainability" class="hover:text-openepcis-primary hover:underline transition-colors">sustainability</a><span class="text-openepcis-muted/60" aria-hidden="true">·</span><!--]--><!--[--><a href="/tags/traceability" class="hover:text-openepcis-primary hover:underline transition-colors">traceability</a><span class="text-openepcis-muted/60" aria-hidden="true">·</span><!--]--><!--[--><a href="/tags/circular-economy" class="hover:text-openepcis-primary hover:underline transition-colors">circular-economy</a><span class="text-openepcis-muted/60" aria-hidden="true">·</span><!--]--><!--[--><a href="/tags/gs1-web-vocabulary" class="hover:text-openepcis-primary hover:underline transition-colors">gs1-web-vocabulary</a><!----><!--]--><!--]--><span class="text-openepcis-muted/60 mx-1" aria-hidden="true">·</span><span class="inline-flex items-center gap-1"><span class="iconify i-heroicons:clock size-3.5" aria-hidden="true" style=""></span> 7 min read</span></div></div><div class="text-base leading-relaxed text-left"><div><p class="my-5 leading-7 text-pretty"><!--[-->The Digital Product Passport (DPP) is the EU's mechanism for attaching a structured, scannable record to every regulated product â what it's made of, who made it, where it has been, how to repair or recycle it. OpenEPCIS implements the DPP as a thin layer on top of GS1 standards: GS1 Digital Link as the identifier, EPCIS 2.0 events as the lifecycle history, and the GS1 Web Vocabulary as the descriptive layer.<!--]--></p><div class="my-4 rounded-lg border-l-4 p-4 bg-sky-500/5 dark:bg-sky-400/8 border-sky-400 dark:border-sky-500"><div class="flex gap-3"><span class="iconify i-heroicons:information-circle size-5 shrink-0 mt-0.5 text-sky-500 dark:text-sky-400" aria-hidden="true" style=""></span><div class="prose prose-sm dark:prose-invert max-w-none flex-1 [&>p:first-child]:mt-0 [&>p:last-child]:mb-0"><!--[--><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->Status<!--]--></strong>: The platform underneath is production grade â the GS1 Conformant Resolver, the masterdata layer and EPCIS 2.0 are stable and in production use. The per-regulation extensions are at <strong><!--[-->v0.9.8<!--]--></strong>; their ontologies and JSON-LD contexts are feature-complete and stay versioned below 1.0 only until the EU delegated acts are final.<!--]--></p><!--]--></div></div></div><h2 id="quick-links" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Quick Links<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->The bigger picture<!--]--></strong><!--]--></p><ul class="list-disc ps-6 my-5 marker:text-(--ui-border-accented)"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/vision" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->The Digital Twin Vision<!--]--></a> â how UNTP, DIDs, Verifiable Credentials and EPCIS fit together for unified product identity<!--]--></li>
1<!--]--></ul><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->Implementation guides<!--]--></strong><!--]--></p><ul class="list-disc ps-6 my-5 marker:text-(--ui-border-accented)"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/dpp-resolution-flow" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->DPP Resolution Flow<!--]--></a> â how a QR scan leads to DPP data retrieval<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/resolver-setup" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Resolver Setup Guide<!--]--></a> â running your own GS1 Digital Link resolver<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/multi-component-example" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Multi-Component Example<!--]--></a> â an e-bike with linked component DPPs (the CIRPASS-2 pattern)<!--]--></li><!--]--></ul><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->Per-regulation modules<!--]--></strong><!--]--></p><ul class="list-disc ps-6 my-5 marker:text-(--ui-border-accented)"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/espr-framework" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->ESPR Framework<!--]--></a> â shared patterns for ESPR 2024/1781<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/battery-dpp" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Battery DPP<!--]--></a> â EU Battery Regulation 2023/1542<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/eudr" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->EUDR<!--]--></a> â EU Deforestation Regulation 2023/1115<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/textile" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Textile DPP<!--]--></a> â EU Sustainable Textiles Strategy<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/electronics" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Electronics DPP<!--]--></a> â repairability, WEEE, energy efficiency<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/interoperability" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Interoperability<!--]--></a> â how the OpenEPCIS DPP relates to UNTP, CIRPASS-2 and GS1<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="https://github.com/openepcis/openepcis-dpp-ready" rel="nofollow" target="_blank" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->openepcis-dpp-ready on GitHub<!--]--></a> â source ontologies, contexts and examples<!--]--></li><!--]--></ul><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->Vocabulary browsers<!--]--></strong><!--]--></p><ul class="list-disc ps-6 my-5 marker:text-(--ui-border-accented)"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="https://ref.openepcis.org/extensions/common/core/" rel="nofollow" target="_blank" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Core DPP vocabulary<!--]--></a> â shared ESPR patterns<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="https://ref.openepcis.org/extensions/eu/battery/" rel="nofollow" target="_blank" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Battery<!--]--></a> · <a href="https://ref.openepcis.org/extensions/eu/eudr/" rel="nofollow" target="_blank" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->EUDR<!--]--></a> · <a href="https://ref.openepcis.org/extensions/eu/textile/" rel="nofollow" target="_blank" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Textile<!--]--></a> · <a href="https://ref.openepcis.org/extensions/eu/electronics/" rel="nofollow" target="_blank" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Electronics<!--]--></a>
1<!--]--></li><!--]--></ul><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->External resources<!--]--></strong><!--]--></p><ul class="list-disc ps-6 my-5 marker:text-(--ui-border-accented)"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[-->GS1 DPP activity: <a href="https://gs1.eu/activities/digital-product-passport/" rel="nofollow" target="_blank" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->https://gs1.eu/activities/digital-product-passport/<!--]--></a><!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[-->OpenEPCIS Digital Data Management demo: <a href="https://demo.epcis.cloud" rel="nofollow" target="_blank" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->https://demo.epcis.cloud<!--]--></a> â seeded demo products, each with a scannable Digital Link<!--]--></li><!--]--></ul><h2 id="what-is-a-digital-product-passport" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->What is a Digital Product Passport?<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->A DPP is a digital record that travels with a product across its lifecycle. It typically holds:<!--]--></p><ul class="list-disc ps-6 my-5 marker:text-(--ui-border-accented)"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Origin<!--]--></strong> â where and when the product was made<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Materials<!--]--></strong> â what it is made of and where those materials came from<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Environmental impact<!--]--></strong> â carbon footprint, recycled content, sustainability indicators<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Repair and maintenance<!--]--></strong> â how to fix or service the product<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->End-of-life<!--]--></strong> â how to dispose of, refurbish or recycle the product<!--]--></li><!--]--></ul><p class="my-5 leading-7 text-pretty"><!--[-->The record is reached by scanning a data carrier on the product â typically a GS1 Digital Link QR code, but NFC and RFID tags work the same way. The scan returns a URL; content negotiation at that URL returns the right kind of data for the asking client (a human-readable page, a JSON-LD record, or a stream of EPCIS events).<!--]--></p><h2 id="why-a-dpp" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Why a DPP?<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->The EU's <strong><!--[-->Ecodesign for Sustainable Products Regulation (ESPR) 2024/1781<!--]--></strong> makes the DPP a requirement, sector by sector, starting with batteries in 2027. Three intents drive it:<!--]--></p><ol class="list-decimal ps-6 my-5 marker:text-muted"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Sustainability<!--]--></strong> â extend product life, support reuse and high-quality recycling, reduce waste.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Transparency<!--]--></strong> â let consumers, repairers and authorities verify claims about origin, composition and compliance.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Accountability<!--]--></strong> â give regulators a uniform way to check compliance across borders and along the supply chain.<!--]--></li>
1<!--]--></ol><h2 id="how-a-dpp-works" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->How a DPP works<!--]--></h2><figure class="diagram-figure" style="" data-v-dfe71d6b><img src="/diagrams/dpp-lifecycle-overview-light.svg" alt="From manufacturing to a data carrier to the Digital Product Passport" class="diagram-img diagram-img--light" decoding="async" data-v-dfe71d6b><img src="/diagrams/dpp-lifecycle-overview-dark.svg" alt="From manufacturing to a data carrier to the Digital Product Passport" class="diagram-img diagram-img--dark" loading="lazy" decoding="async" data-v-dfe71d6b><!----></figure><p class="my-5 leading-7 text-pretty"><!--[-->End to end:<!--]--></p><ol class="list-decimal ps-6 my-5 marker:text-muted"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Manufacture<!--]--></strong> â the product is assigned a GS1 identifier (e.g. a GTIN + serial â SGTIN).<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Masterdata<!--]--></strong> â a description of the product is POSTed to the resolver (see below).<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Events<!--]--></strong> â as the product moves through the supply chain, EPCIS events record each step.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Carrier<!--]--></strong> â a GS1 Digital Link QR (or NFC tag) is attached to the product.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Access<!--]--></strong> â a scan resolves to the right record; the resolver decides what to return.<!--]--></li><!--]--></ol><h2 id="dpp-and-epcis-how-they-connect" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->DPP and EPCIS: how they connect<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->EPCIS provides the lifecycle history. Every time something happens to the product, an EPCIS event is captured: it was manufactured, packed into a pallet, shipped, received, sold, returned, refurbished, recycled. The events form a verifiable timeline that feeds the DPP.<!--]--></p><h3 id="mapping-dpp-requirements-to-epcis-dimensions" class="relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Mapping DPP requirements to EPCIS dimensions<!--]--></h3><div class="relative my-5 overflow-x-auto rounded-md outline-primary/25 focus-visible:outline-3"><table class="w-full border-separate border-spacing-0 rounded-md"><!--[--><thead class="bg-muted"><!--[--><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><th class="py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted text-start"><!--[-->DPP requirement<!--]--></th><th class="py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted text-start"><!--[-->EPCIS dimension<!--]--></th><th class="py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted text-start"><!--[-->Captured<!--]--></th><!--]--></tr><!--]--></thead><tbody><!--[--><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Product identity<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><strong><!--[-->What<!--]--></strong><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->GS1 identifiers (GTIN, SGTIN, GLN)<!--]--></td><!--]--></tr><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Timeline<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><strong><!--[-->When<!--]--></strong><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->eventTime<!--]--></code> of each lifecycle step<!--]--></td><!--]--></tr><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Location history<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><strong><!--[-->Where<!--]--></strong><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->bizLocation<!--]--></code>, <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->readPoint<!--]--></code><!--]--></td><!--]--></tr><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Business context<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><strong><!--[-->Why<!--]--></strong><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->bizStep<!--]--></code>, <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->disposition<!--]--></code><!--]--></td><!--]--></tr><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Conditions<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><strong><!--[-->How<!--]--></strong><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->sensorElementList<!--]--></code> (temperature, humidity, etc.)<!--]--></td><!--]--></tr><!--]--></tbody><!--]--></table></div><h3 id="standards-based-by-design" class="relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Standards-based by design<!--]--></h3><p class="my-5 leading-7 text-pretty"><!--[-->
1Both DPP and EPCIS are built on GS1 standards: the same identifiers, the same Digital Link URIs, the same vocabulary. That means cross-border interoperability, reuse of resolver infrastructure that already exists, and a low cost to adopt for any organisation already using GS1.<!--]--></p><h2 id="example-masterdata-on-the-resolver-lean-epcis-events-that-reference-it" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Example: masterdata on the resolver, lean EPCIS events that reference it<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->The OpenEPCIS discipline is to keep <strong><!--[-->masterdata on the resolver<!--]--></strong> and <strong><!--[-->EPCIS events lean<!--]--></strong>. Two things happen separately:<!--]--></p><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->1. Register the product's masterdata once, on the resolver.<!--]--></strong><!--]--></p><div class="relative my-5 group" style=""><!----><button type="button" data-slot="base" aria-label="Copy code to clipboard" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 text-xs gap-1.5 ring ring-inset ring-accented text-default bg-default hover:bg-elevated active:bg-elevated disabled:bg-default aria-disabled:bg-default outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted p-1.5 absolute top-[11px] end-[11px] lg:opacity-0 lg:group-hover:opacity-100 lg:focus-visible:opacity-100 transition"><!--[--><!--[--><span class="iconify i-lucide:copy shrink-0 size-4" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></button><pre class="group font-mono text-sm/6 border border-muted bg-muted rounded-md px-4 py-3 whitespace-pre-wrap wrap-break-word overflow-x-auto outline-primary/25 focus-visible:outline-3 focus-visible:border-primary **:[.line]:block **:[.line.highlight]:-mx-4 **:[.line.highlight]:px-4 **:[.line.highlight]:bg-accented/50! language-http shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast monokai" style=""><!--[--><code><span class="line" line="1"><span>POST /products/09521141012345 HTTP/1.1 2</span></span><span class="line" line="2"><span>Host: id.example.com 3</span></span><span class="line" line="3"><span>Content-Type: application/ld+json 4</span></span><span class="line" line="4"><span>Authorization: Bearer ... 5</span></span><span class="line" line="5"><span emptylineplaceholder="true"> 6</span></span><span class="line" line="6"><span>{ 7</span></span><span class="line" line="7"><span> "@context": "https://ref.openepcis.org/extensions/eu/battery/battery-context.jsonld", 8</span></span><span class="line" line="8"><span> "id": "https://id.example.com/01/09521141012345", 9</span></span><span class="line" line="9"><span> "type": "Product", 10</span></span><span class="line" line="10"><span> "productName": "Battery Pack 5 kWh", 11</span></span><span class="line" line="11"><span> "gtin": "09521141012345", 12</span></span><span class="line" line="12"><span> "countryOfOrigin": "DE", 13</span></span><span class="line" line="13"><span> "batteryChemistry": { 14</span></span><span class="line" line="14"><span> "type": "BatteryChemistry", 15</span></span><span class="line" line="15"><span> "shortName": "LFP" 16</span></span><span class="line" line="16"><span> }, 17</span></span><span class="line" line="17"><span> "recycledContent": { 18</span></span><span class="line" line="18"><span> "type": "RecycledContent", 19</span></span><span class="line" line="19"><span> "lithiumRecycledShare": 0.08, 20</span></span><span class="line" line="20"><span> "cobaltRecycledShare": 0.15 21</span></span><span class="line" line="21"><span> } 22</span></span><span class="line" line="22"><span>} 23</span></span></code><!--]--></pre></div><p class="my-5 leading-7 text-pretty"><!--[-->
23That record is now reachable by content negotiation at <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->https://id.example.com/01/09521141012345<!--]--></code>. A scan of the product's Digital Link QR returns it as JSON-LD or HTML depending on the <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->Accept<!--]--></code> header.<!--]--></p><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->2. Emit EPCIS events that reference the identifier â no masterdata embedded.<!--]--></strong><!--]--></p><div class="relative group [&>pre]:rounded-t-none [&>pre]:my-0 my-5" style=""><div class="flex items-center gap-1.5 border border-muted bg-default border-b-0 relative rounded-t-md px-4 py-3"><span class="iconify i-vscode-icons:file-type-json size-4 shrink-0" aria-hidden="true" style=""></span><span class="text-default text-sm/6">Battery commissioning event.json</span></div><button type="button" data-slot="base" aria-label="Copy code to clipboard" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 text-xs gap-1.5 ring ring-inset ring-accented text-default bg-default hover:bg-elevated active:bg-elevated disabled:bg-default aria-disabled:bg-default outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted p-1.5 absolute top-[11px] end-[11px] lg:opacity-0 lg:group-hover:opacity-100 lg:focus-visible:opacity-100 transition"><!--[--><!--[--><span class="iconify i-lucide:copy shrink-0 size-4" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></button><pre class="group font-mono text-sm/6 border border-muted bg-muted rounded-md px-4 py-3 whitespace-pre-wrap wrap-break-word overflow-x-auto outline-primary/25 focus-visible:outline-3 focus-visible:border-primary **:[.line]:block **:[.line.highlight]:-mx-4 **:[.line.highlight]:px-4 **:[.line.highlight]:bg-accented/50! language-json shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast monokai" style=""><!--[--><code><span class="line" line="1"><span class="se58z">{ 24</span></span><span class="line" line="2"><span class="sSp2P"> "@context"</span><span class="se58z">: </span><span class="sTdxB">"https://ref.gs1.org/standards/epcis/epcis-context.jsonld"</span><span class="se58z">, 25</span></span><span class="line" line="3"><span class="sSp2P"> "type"</span><span class="se58z">: </span><span class="sTdxB">"ObjectEvent"</span><span class="se58z">, 26</span></span><span class="line" line="4"><span class="sSp2P"> "eventTime"</span><span class="se58z">: </span><span class="sTdxB">"2025-01-08T09:30:00Z"</span><span class="se58z">, 27</span></span><span class="line" line="5"><span class="sSp2P"> "eventTimeZoneOffset"</span><span class="se58z">: </span><span class="sTdxB">"+01:00"</span><span class="se58z">, 28</span></span><span class="line" line="6"><span class="sSp2P"> "eventID"</span><span class="se58z">: </span><span class="sTdxB">"urn:uuid:b5c7d8e9-f012-3456-789a-bcdef0123456"</span><span class="se58z">, 29</span></span><span class="line" line="7"><span class="sSp2P"> "epcList"</span><span class="se58z">: [ 30</span></span><span class="line" line="8"><span class="sTdxB"> "https://id.example.com/01/09521141012345/21/1000001" 31</span></span><span class="line" line="9"><span class="se58z"> ], 32</span></span><span class="line" line="10"><span class="sSp2P"> "action"</span><span class="se58z">: </span><span class="sTdxB">"ADD"</span><span class="se58z">, 33</span></span><span class="line" line="11"><span class="sSp2P"> "bizStep"</span><span class="se58z">: </span><span class="sTdxB">"commissioning"</span><span class="se58z">, 34</span></span><span class="line" line="12"><span class="sSp2P"> "disposition"</span><span class="se58z">: </span><span class="sTdxB">"active"</span><span class="se58z">, 35</span></span><span class="line" line="13"><span class="sSp2P"> "readPoint"</span><span class="se58z">: { </span><span class="sSp2P">"id"</span><span class="se58z">: </span><span class="sTdxB">"https://id.example.com/414/9520123456788"</span><span class="se58z"> }, 36</span></span><span class="line" line="14"><span class="sSp2P"> "bizLocation"</span><span class="se58z">: { </span><span class="sSp2P">"id"</span><span class="se58z">: </span><span class="sTdxB">"https://id.example.com/414/9520123456788"</span><span class="se58z"> } 37</span></span><span class="line" line="15"><span class="se58z">} 38</span></span></code><!--]--></pre></div><p class="my-5 leading-7 text-pretty"><!--[-->The event says <em><!--[-->what<!--]--></em> happened, <em><!--[-->when<!--]--></em>, <em><!--[-->where<!--]--></em> and <em><!--[-->why<!--]--></em>. To learn <em><!--[-->what the product is<!--]--></em>, a consumer follows the identifier to the resolver. Keeping the two concerns apart means the masterdata stays valid across every event in the product's life, and an event document never duplicates (or contradicts) the product record.<!--]--></p><h2 id="standards-alignment" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Standards alignment<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->OpenEPCIS DPP-Ready is designed to interoperate cleanly with the surrounding ecosystem:<!--]--></p><div class="relative my-5 overflow-x-auto rounded-md outline-primary/25 focus-visible:outline-3"><table class="w-full border-separate border-spacing-0 rounded-md"><!--[--><thead class="bg-muted"><!--[--><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><th class="py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted text-start"><!--[-->Standard<!--]--></th><th class="py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted text-start"><!--[-->How OpenEPCIS aligns<!--]--></th><!--]--></tr><!--]--></thead><tbody><!--[--><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->GS1 Web Vocabulary<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Native foundation; OpenEPCIS extensions imported via <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->owl:imports<!--]--></code><!--]--></td><!--]--></tr><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->UN Transparency Protocol (UNTP)<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Property alignment via <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->owl:equivalentProperty<!--]--></code> for shared concepts<!--]--></td><!--]--></tr><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->CIRPASS-2<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Requirements coverage for the DPP data points CIRPASS-2 specifies<!--]--></td><!--]--></tr><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->ESPR 2024/1781<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Full coverage of the articles relevant to product information<!--]--></td><!--]--></tr><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->BatteryPass<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Bridge context for ingesting BatteryPass documents into the GS1 model<!--]--></td><!--]--></tr><!--]--></tbody><!--]--></table></div>
38<div class="my-4 rounded-lg border-l-4 p-4 bg-sky-500/5 dark:bg-sky-400/8 border-sky-400 dark:border-sky-500"><div class="flex gap-3"><span class="iconify i-heroicons:information-circle size-5 shrink-0 mt-0.5 text-sky-500 dark:text-sky-400" aria-hidden="true" style=""></span><div class="prose prose-sm dark:prose-invert max-w-none flex-1 [&>p:first-child]:mt-0 [&>p:last-child]:mb-0"><!--[--><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->Value convention<!--]--></strong>: ratio and fraction properties use the <strong><!--[-->0â1 decimal scale<!--]--></strong> (UNTP-compatible). <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->recycledContent: 0.45<!--]--></code> means 45% recycled content. See <a href="/docs/digital-product-passport/interoperability" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Interoperability<!--]--></a> for the full property mapping.<!--]--></p><!--]--></div></div></div><h2 id="industries-in-scope" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Industries in scope<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->The EU is rolling out DPP requirements in waves, starting with the sectors that benefit most from traceability:<!--]--></p><h3 id="batteries-from-february-2027" class="relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Batteries â from February 2027<!--]--></h3><p class="my-5 leading-7 text-pretty"><!--[-->All batteries placed on the EU market need a DPP under Regulation 2023/1542. The passport must include chemistry and materials, carbon footprint, recycled content, performance, durability, and collection/recycling instructions. See <a href="/docs/digital-product-passport/battery-dpp" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Battery DPP<!--]--></a>.<!--]--></p><h3 id="textiles-phased-from-20272030" class="relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Textiles â phased from 2027â2030<!--]--></h3><p class="my-5 leading-7 text-pretty"><!--[-->Apparel and footwear: fibre composition, country of origin, care and repair instructions, recycling guidance. See <a href="/docs/digital-product-passport/textile" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Textile DPP<!--]--></a>.<!--]--></p><h3 id="electronics" class="relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Electronics<!--]--></h3><p class="my-5 leading-7 text-pretty"><!--[-->Repairability score, spare-parts availability, hazardous-substance disclosure, energy efficie
38ncy, end-of-life routing. The <a href="/docs/digital-product-passport/electronics" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Electronics DPP<!--]--></a> module follows the French Repairability Index method and aligns with WEEE.<!--]--></p><h3 id="construction-materials-furniture-chemicals-and-beyond" class="relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Construction materials, furniture, chemicals, and beyond<!--]--></h3><p class="my-5 leading-7 text-pretty"><!--[-->ESPR allows the DPP scope to extend across product categories. Sectoral implementing acts are sequenced over the next several years.<!--]--></p><h2 id="benefits" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Benefits<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->For consumers<!--]--></strong> â verified product information, easier access to repair guides, fuller history when buying second-hand.<!--]--></p><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->For businesses<!--]--></strong> â a single set of standards to satisfy multiple EU regulations, supply-chain visibility as a side effect of compliance, a credible foundation for sustainability claims.<!--]--></p><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->For the environment<!--]--></strong> â extended product life, cleaner recycling streams, better feedback to designers about end-of-life behaviour.<!--]--></p><h2 id="how-openepcis-supports-dpp" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->How OpenEPCIS supports DPP<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->OpenEPCIS provides the building blocks; you wire them together to fit your supply chain.<!--]--></p><ul class="list-disc ps-6 my-5 marker:text-(--ui-border-accented)"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->GS1 Conformant Resolver<!--]--></strong> â host the masterdata and linksets for every regulated product.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->EPCIS 2.0 REST API<!--]--></strong> â capture and query lifecycle events.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Format Converter<!--]--></strong> â round-trip EPCIS documents between XML and JSON-LD.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Event Hash Generator<!--]--></strong> â idempotent event identity across re-sends.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Test Data Generator<!--]--></strong> â synthesise realistic events for development and conformance testing.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->DPP-Ready ontologies<!--]--></strong> â battery, textile, electronics, EUDR and ESPR core JSON-LD contexts.<!--]--></li>
38<!--]--></ul><h2 id="getting-started" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Getting started<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->A typical pilot path:<!--]--></p><ol class="list-decimal ps-6 my-5 marker:text-muted"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[-->Read the regulation that applies to your product category (linked from each module page).<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[-->Decide on the GS1 identifiers you'll use â GTIN for the product, SGTIN for serialised items, GLN for locations.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[-->Stand up a resolver and POST your product, organisation and place masterdata to it.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[-->Capture EPCIS events at the points in the supply chain that matter for the DPP.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[-->Validate the events against the EPCIS 2.0 schema and the relevant DPP-Ready context.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[-->Print or affix a Digital Link QR; verify end-to-end that a scan returns the expected DPP record.<!--]--></li><!--]--></ol><h2 id="contact" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Contact<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->Questions, feedback, pilots: <a href="mailto:[email protected]" rel="noopener noreferrer" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->[email protected]<!--]--></a>.<!--]--></p><style>html .light .shiki span{color:var(--shiki-light);background:var(--shiki-light-bg);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);text-decoration:var(--shiki-light-text-decoration)}html.light .shiki span{color:var(--shiki-light);background:var(--shiki-light-bg);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);text-decoration:var(--shiki-light-text-decoration)}html .default .shiki span{color:var(--shiki-default);background:var(--shiki-default-bg);font-style:var(--shiki-default-font-style);font-weight:var(--shiki-default-font-weight);text-decoration:var(--shiki-default-text-decoration)}html .shiki span{color:var(--shiki-default);background:var(--shiki-default-bg);font-style:var(--shiki-default-font-style);font-weight:var(--shiki-default-font-weight);text-decoration:var(--shiki-default-text-decoration)}html .dark .shiki span{color:var(--shiki-dark);background:var(--shiki-dark-bg);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);text-decoration:var(--shiki-dark-text-decoration)}html.dark .shiki span{color:var(--shiki-dark);background:var(--shiki-dark-bg);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);text-decoration:var(--shiki-dark-text-decoration)}html .sepia .shiki span{color:var(--shiki-sepia);background:var(--shiki-sepia-bg);font-style:var(--shiki-sepia-font-style);font-weight:var(--shiki-sepia-font-weight);text-decoration:var(--shiki-sepia-text-decoration)}html.sepia .shiki span{color:var(--shiki-sepia);background:var(--shiki-sepia-bg);font-style:var(--shiki-sepia-font-style);font-weight:var(--shiki-sepia-font-weight);text-decoration:var(--shiki-sepia-text-decoration)}html pre.shiki code .se58z,html code.shiki .se58z{--shiki-light:#0E1116;--shiki-default:#0E1116;--shiki-dark:#F0F3F6;--shiki-sepia:#F8F8F2}html pre.shiki code .sSp2P,html code.shiki .sSp2P{--shiki-light:#024C1A;--shiki-light-font-style:inherit;--shiki-default:#024C1A;--shiki-default-font-style:inherit;--shiki-dark:#72F088;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sTdxB,html code.shiki .sTdxB{--shiki-light:#032563;--shiki-default:#032563;--shiki-dark:#ADDCFF;--shiki-sepia:#CFCFC2}</style></div></div><footer class="mt-8 pt-4 border-t text-xs text-openepcis-muted text-right"> Last updated: <time datetime="2026-05-16T00:00:00.000Z">May 16, 2026</time></footer></article><!----></div><nav class="docs-prev-next" aria-label="Page navigation" data-v-4e7d76de><a href="/docs/dependency-management" class="docs-prev-next-link" data-v-4e7d76de><span class="docs-prev-next-dir" data-v-4e7d76de><span class="iconify i-lucide:arrow-left size-4" aria-hidden="true" style="" data-v-4e7d76de></span> Previous</span><span class="docs-prev-next-title" data-v-4e7d76de>Dependency Management</span></a><a href="/docs/digital-product-passport/espr-framework" class="docs-prev-next-link text-right" data-v-4e7d76de><span class="docs-prev-next-dir justify-end" data-v-4e7d76de>Next <span class="iconify i-lucide:arrow-right size-4" aria-hidden="true" style="" data-v-4e7d76de></span></span><span class="docs-prev-next-title" data-v-4e7d76de>ESPR Framework</span></a></nav></div><!--[--><div class="docs-panes-shell hidden lg:flex"><div class="docs-pane-fallback-side"><div class="w-full h-full p-1 border-r border-openepcis text-openepcis overflow-y-auto overflow-x-hidden py-8 shadow-xs"><!--[--><!----><nav data-slot="root" aria-label="Documentation Navigation" class="relative flex flex-col p-4"><ul class="isolate -mx-2.5 -mt-1.5"><!--[--><!--[--><!--[--><li data-slot="item" class="min-w-0 py-1"><a href="/docs" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-info hover:before:bg-elevated/50 before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:document-text size-5 group-data-[state=open]:text-info shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[-->Documentation<!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li>
38<!--]--><!--[--><li data-slot="item" class="min-w-0 py-1"><a href="/docs/introduction" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:globe-alt size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[-->Introduction<!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li><!--]--><!--[--><li data-slot="item" class="min-w-0 py-1"><a href="/docs/epcis" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-custom:open-epcis size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[-->EPCIS<!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li><!--]--><!--[--><li data-slot="item" class="min-w-0 py-1"><a href="/docs/format-converter" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:arrows-right-left size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[-->Format Converter<!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li><!--]--><!--[--><li data-slot="item" class="min-w-0 py-1"><a href="/docs/version-converter" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons:arrows-up-down size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[-->Version Converter<!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li>
38<!--]--><!--[--><li data-slot="item" class="min-w-0 py-1"><a href="/docs/identifier-converter" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons:link size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[-->Identifier Converter<!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li><!--]--><!--[--><li data-slot="item" class="min-w-0 py-1"><a href="/docs/event-hash-generator" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:finger-print size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[-->Event Hash Generator<!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li><!--]--><!--[--><li data-state="closed" data-orientation="vertical" data-slot="itemWithChildren" class="flex flex-col data-[state=open]:mb-1.5"><!--[--><!--[--><button type="button" aria-controls aria-expanded="false" data-state="closed" id="reka-accordion-trigger-v-0-9-7-0" data-reka-collection-item data-orientation="vertical" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent font-semibold"><!--[--><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:cog size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><span class="cursor-pointer hover:underline" aria-label="Test Data Generator">Test Data Generator</span><!--]--><!----></span><span data-slot="linkTrailing" class="ms-auto inline-flex gap-1.5 items-center"><!--[--><!----><span class="iconify i-lucide:chevron-down size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180" aria-hidden="true" style="" data-slot="linkTrailingIcon"></span><!--]--></span><!--]--><!--]--><!--]--></button><div role="region" aria-labelledby="reka-accordion-trigger-v-0-9-7-0" data-state="closed" data-orientation="vertical" style="--reka-accordion-content-width:var(--reka-collapsible-content-width);--reka-accordion-content-height:var(--reka-collapsible-content-height);--reka-collapsible-content-height:0px;--reka-collapsible-content-width:0px;
38" data-slot="content" class="data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] data-[state=closed]:overflow-hidden focus:outline-none" id="reka-collapsible-content-v-0-9-7-1" hidden><!--v-if--></div><!--]--><!--]--></li><!--]--><!--[--><li data-slot="item" class="min-w-0 py-1"><a href="/docs/test-resource-management" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:archive-box size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[-->Test Resource Management<!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li><!--]--><!--[--><li data-slot="item" class="min-w-0 py-1"><a href="/docs/vocabulary-management" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:book-open size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[-->Vocabulary Management<!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li><!--]--><!--[--><li data-slot="item" class="min-w-0 py-1"><a href="/docs/dependency-management" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:folder size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[-->Dependency Management<!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li><!--]--><!--[--><li data-state="open" data-orientation="vertical" data-slot="itemWithChildren" class="flex flex-col data-[state=open]:mb-1.5"><!--[--><!--[--><button type="button" aria-controls aria-expanded="true" data-state="open" id="reka-accordion-trigger-v-0-9-7-2" data-reka-collection-item data-orientation="vertical" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent font-semibold"><!--[--><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:identification size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><span class="cursor-pointer hover:underline" aria-label="Digital Product Passport">Digital Product Passport</span><!--]--><!----></span><span data-slot="linkTrailing" class="ms-auto inline-flex gap-1.5 items-center"><!--[--><!---->
38<span class="iconify i-lucide:chevron-down size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180" aria-hidden="true" style="" data-slot="linkTrailingIcon"></span><!--]--></span><!--]--><!--]--><!--]--></button><div role="region" aria-labelledby="reka-accordion-trigger-v-0-9-7-2" data-orientation="vertical" style="--reka-accordion-content-width:var(--reka-collapsible-content-width);--reka-accordion-content-height:var(--reka-collapsible-content-height);--reka-collapsible-content-height:0px;--reka-collapsible-content-width:0px;" data-slot="content" class="data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] data-[state=closed]:overflow-hidden focus:outline-none" id="reka-collapsible-content-v-0-9-7-3"><!--[--><!--[--><!--[--><!----><ul data-slot="root" class="relative flex flex-col p-4 ms-5 border-s border-default"><!--[--><!--[--><!--[--><li data-slot="item" class="ps-1.5 -ms-px min-w-0 py-1"><a href="/docs/digital-product-passport/espr-framework" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted after:absolute after:-start-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:shield-check size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[--><!--[-->ESPR Framework<!--]--><!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li><!--]--><!--[--><li data-state="closed" data-orientation="vertical" data-slot="itemWithChildren" class="flex flex-col data-[state=open]:mb-1.5 ps-1.5 -ms-px"><!--[--><!--[--><button type="button" aria-controls aria-expanded="false" data-state="closed" id="reka-accordion-trigger-v-0-9-7-4" data-reka-collection-item data-orientation="vertical" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent font-semibold"><!--[--><!--[--><!--[--><!--[--><span class="iconify i-heroicons:battery-100 size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[--><span class="cursor-pointer hover:underline" aria-label="Battery DPP">Battery DPP</span><!--]--><!--]--><!----></span><span data-slot="linkTrailing" class="ms-auto inline-flex gap-1.5 items-center"><!--[--><!----><span class="iconify i-lucide:chevron-down size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180" aria-hidden="true" style="" data-slot="linkTrailingIcon"></span><!--]--></span><!--]--><!--]--><!--]--></button><div role="region" aria-labelledby="reka-accordion-trigger-v-0-9-7-4" data-state="closed" data-orientation="vertical" style="--reka-accordion-content-width:var(--reka-collapsible-content-width);--reka-accordion-content-height:var(--reka-collapsible-content-height);--reka-collapsible-content-height:0px;--reka-collapsible-content-width:0px;
38" data-slot="content" class="data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] data-[state=closed]:overflow-hidden focus:outline-none" id="reka-collapsible-content-v-0-9-7-5" hidden><!--v-if--></div><!--]--><!--]--></li><!--]--><!--[--><li data-state="closed" data-orientation="vertical" data-slot="itemWithChildren" class="flex flex-col data-[state=open]:mb-1.5 ps-1.5 -ms-px"><!--[--><!--[--><button type="button" aria-controls aria-expanded="false" data-state="closed" id="reka-accordion-trigger-v-0-9-7-6" data-reka-collection-item data-orientation="vertical" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent font-semibold"><!--[--><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:globe-europe-africa size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[--><span class="cursor-pointer hover:underline" aria-label="EUDR">EUDR</span><!--]--><!--]--><!----></span><span data-slot="linkTrailing" class="ms-auto inline-flex gap-1.5 items-center"><!--[--><!----><span class="iconify i-lucide:chevron-down size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180" aria-hidden="true" style="" data-slot="linkTrailingIcon"></span><!--]--></span><!--]--><!--]--><!--]--></button><div role="region" aria-labelledby="reka-accordion-trigger-v-0-9-7-6" data-state="closed" data-orientation="vertical" style="--reka-accordion-content-width:var(--reka-collapsible-content-width);--reka-accordion-content-height:var(--reka-collapsible-content-height);--reka-collapsible-content-height:0px;--reka-collapsible-content-width:0px;" data-slot="content" class="data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] data-[state=closed]:overflow-hidden focus:outline-none" id="reka-collapsible-content-v-0-9-7-7" hidden><!--v-if--></div><!--]--><!--]--></li><!--]--><!--[--><li data-state="closed" data-orientation="vertical" data-slot="itemWithChildren" class="flex flex-col data-[state=open]:mb-1.5 ps-1.5 -ms-px"><!--[--><!--[--><button type="button" aria-controls aria-expanded="false" data-state="closed" id="reka-accordion-trigger-v-0-9-7-8" data-reka-collection-item data-orientation="vertical" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent font-semibold"><!--[--><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:sparkles size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[--><span class="cursor-pointer hover:underline" aria-label="Textile DPP">Textile DPP</span><!--]--><!--]--><!----></span><span data-slot="linkTrailing" class="ms-auto inline-flex gap-1.5 items-center"><!--[--><!----><span class="iconify i-lucide:chevron-down size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180" aria-hidden="true" style="" data-slot="linkTrailingIcon"></span><!--]--></span><!--]--><!--]--><!--]--></button><div role="region" aria-labelledby="reka-accordion-trigger-v-0-9-7-8" data-state="closed" data-orientation="vertical" style="--reka-accordion-content-width:var(--reka-collapsible-content-width);--reka-accordion-content-height:var(--reka-collapsible-content-height);--reka-collapsible-content-height:0px;--reka-collapsible-content-width:0px;
38" data-slot="content" class="data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] data-[state=closed]:overflow-hidden focus:outline-none" id="reka-collapsible-content-v-0-9-7-9" hidden><!--v-if--></div><!--]--><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px min-w-0 py-1"><a href="/docs/digital-product-passport/interoperability" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted after:absolute after:-start-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:arrows-right-left size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[--><!--[-->Interoperability<!--]--><!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px min-w-0 py-1"><a href="/docs/digital-product-passport/dpp-resolution-flow" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted after:absolute after:-start-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:globe-alt size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[--><!--[-->DPP Resolution Flow<!--]--><!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px min-w-0 py-1"><a href="/docs/digital-product-passport/resolver-setup" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted after:absolute after:-start-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:server size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[--><!--[-->Resolver Setup<!--]--><!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px min-w-0 py-1"><a href="/docs/digital-product-passport/multi-component-example" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted after:absolute after:-start-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:puzzle-piece size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[--><!--[-->Multi-Component Example<!--]--><!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li>
38<!--]--><!--[--><li data-state="closed" data-orientation="vertical" data-slot="itemWithChildren" class="flex flex-col data-[state=open]:mb-1.5 ps-1.5 -ms-px"><!--[--><!--[--><button type="button" aria-controls aria-expanded="false" data-state="closed" id="reka-accordion-trigger-v-0-9-7-10" data-reka-collection-item data-orientation="vertical" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent font-semibold"><!--[--><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:device-phone-mobile size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[--><span class="cursor-pointer hover:underline" aria-label="Electronics DPP">
38Electronics DPP</span><!--]--><!--]--><!----></span><span data-slot="linkTrailing" class="ms-auto inline-flex gap-1.5 items-center"><!--[--><!----><span class="iconify i-lucide:chevron-down size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180" aria-hidden="true" style="" data-slot="linkTrailingIcon"></span><!--]--></span><!--]--><!--]--><!--]--></button><div role="region" aria-labelledby="reka-accordion-trigger-v-0-9-7-10" data-state="closed" data-orientation="vertical" style="--reka-accordion-content-width:var(--reka-collapsible-content-width);--reka-accordion-content-height:var(--reka-collapsible-content-height);--reka-collapsible-content-height:0px;--reka-collapsible-content-width:0px;" data-slot="content" class="data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] data-[state=closed]:overflow-hidden focus:outline-none" id="reka-collapsible-content-v-0-9-7-11" hidden><!--v-if--></div><!--]--><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px min-w-0 py-1"><a href="/docs/digital-product-passport/signed-passports" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted after:absolute after:-start-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:shield-check size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[--><!--[-->Signed Passports<!--]--><!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li><!--]--><!--]--><!--]--></ul><!--]--><!--]--><!--]--></div><!--]--><!--]--></li><!--]--><!--[--><li data-slot="item" class="min-w-0 py-1"><a href="/docs/profile-checker" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:clipboard-document-check size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[-->Profile Checker<!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li><!--]--><!--[--><li data-state="closed" data-orientation="vertical" data-slot="itemWithChildren" class="flex flex-col data-[state=open]:mb-1.5"><!--[--><!--[--><button type="button" aria-controls aria-expanded="false" data-state="closed" id="reka-accordion-trigger-v-0-9-7-12" data-reka-collection-item data-orientation="vertical" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent font-semibold"><!--[--><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:circle-stack size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><span class="cursor-pointer hover:underline" aria-label="Digital Data Management">Digital Data Management</span><!--]--><!----></span><span data-slot="linkTrailing" class="ms-auto inline-flex gap-1.5 items-center"><!--[--><!---->
38<span class="iconify i-lucide:chevron-down size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180" aria-hidden="true" style="" data-slot="linkTrailingIcon"></span><!--]--></span><!--]--><!--]--><!--]--></button><div role="region" aria-labelledby="reka-accordion-trigger-v-0-9-7-12" data-state="closed" data-orientation="vertical" style="--reka-accordion-content-width:var(--reka-collapsible-content-width);--reka-accordion-content-height:var(--reka-collapsible-content-height);--reka-collapsible-content-height:0px;--reka-collapsible-content-width:0px;" data-slot="content" class="data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] data-[state=closed]:overflow-hidden focus:outline-none" id="reka-collapsible-content-v-0-9-7-13" hidden><!--v-if--></div><!--]--><!--]--></li><!--]--><!--[--><li data-state="closed" data-orientation="vertical" data-slot="itemWithChildren" class="flex flex-col data-[state=open]:mb-1.5"><!--[--><!--[--><button type="button" aria-controls aria-expanded="false" data-state="closed" id="reka-accordion-trigger-v-0-9-7-14" data-reka-collection-item data-orientation="vertical" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent font-semibold"><!--[--><!--[--><!--[--><!--[--><span class="iconify i-lucide:layout-dashboard size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><span class="cursor-pointer hover:underline" aria-label="OpenEPCIS Overview">OpenEPCIS Overview</span><!--]--><!----></span><span data-slot="linkTrailing" class="ms-auto inline-flex gap-1.5 items-center"><!--[--><!----><span class="iconify i-lucide:chevron-down size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180" aria-hidden="true" style="" data-slot="linkTrailingIcon"></span><!--]--></span><!--]--><!--]--><!--]--></button><div role="region" aria-labelledby="reka-accordion-trigger-v-0-9-7-14" data-state="closed" data-orientation="vertical" style="--reka-accordion-content-width:var(--reka-collapsible-content-width);--reka-accordion-content-height:var(--reka-collapsible-content-height);--reka-collapsible-content-height:0px;--reka-collapsible-content-width:0px;" data-slot="content" class="data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] data-[state=closed]:overflow-hidden focus:outline-none" id="reka-collapsible-content-v-0-9-7-15" hidden><!--v-if--></div><!--]--><!--]--></li><!--]--><!--[--><li data-slot="item" class="min-w-0 py-1"><a href="/docs/vision" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:globe-alt size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[-->Vision<!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li>
38<!--]--><!--[--><li data-state="closed" data-orientation="vertical" data-slot="itemWithChildren" class="flex flex-col data-[state=open]:mb-1.5"><!--[--><!--[--><button type="button" aria-controls aria-expanded="false" data-state="closed" id="reka-accordion-trigger-v-0-9-7-16" data-reka-collection-item data-orientation="vertical" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent font-semibold"><!--[--><!--[--><!--[--><!--[--><span class="iconify i-heroicons-outline:arrow-path size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><span class="cursor-pointer hover:underline" aria-label="Connectors">Connectors</span><!--]--><!----></span><span data-slot="linkTrailing" class="ms-auto inline-flex gap-1.5 items-center"><!--[--><!----><span class="iconify i-lucide:chevron-down size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180" aria-hidden="true" style="" data-slot="linkTrailingIcon"></span><!--]--></span><!--]--><!--]--><!--]--></button><div role="region" aria-labelledby="reka-accordion-trigger-v-0-9-7-16" data-state="closed" data-orientation="vertical" style="--reka-accordion-content-width:var(--reka-collapsible-content-width);--reka-accordion-content-height:var(--reka-collapsible-content-height);--reka-collapsible-content-height:0px;--reka-collapsible-content-width:0px;" data-slot="content" class="data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] data-[state=closed]:overflow-hidden focus:outline-none" id="reka-collapsible-content-v-0-9-7-17" hidden><!--v-if--></div><!--]--><!--]--></li><!--]--><!--[--><li data-slot="item" class="min-w-0 py-1"><a href="/docs/api-reference" data-slot="link" class="group before:inset-y-px before:inset-x-0 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:outline-3 before:outline-info/25 text-muted hover:text-highlighted hover:before:bg-elevated/50 data-[state=open]:text-highlighted transition-colors before:transition-colors group relative w-full flex items-center gap-2 py-3 px-3 font-medium dark:hover:text-openepcis data-active:bg-slate-300 dark:data-active:bg-slate-800 not-data-active:hover:bg-transparent"><!--[--><!--[--><!--[--><span class="iconify i-lucide:plug size-5 group-hover:text-default group-data-[state=open]:text-default transition-colors shrink-0 text-openepcis-primary" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[--><!--[-->API Reference<!--]--><!--]--><!----></span><!----><!--]--><!--]--></a></li><!--]--><!--]--><!--]--></ul></nav><!--]--></div></div><div class="docs-center-scroll flex-1"><div class="w-full px-6 pt-4"><nav aria-label="Breadcrumb" class="flex items-center text-sm text-openepcis-muted mb-4"><ol class="flex items-center flex-wrap gap-1"><!--[--><li class="flex items-center"><a href="/" class="hover:text-openepcis-primary transition-colors duration-200">Home</a><span class="iconify i-heroicons:chevron-right-20-solid w-4 h-4 mx-1 text-openepcis-muted" aria-hidden="true" style=""></span></li><li class="flex items-center"><a href="/docs" class="router-link-active hover:text-openepcis-primary transition-colors duration-200">Documentation</a><span class="iconify i-heroicons:chevron-right-20-solid w-4 h-4 mx-1 text-openepcis-muted" aria-hidden="true" style=""></span></li><li class="flex items-center"><span class="text-highlighted font-medium" aria-current="page">Digital Product Passport (DPP)</span><!----></li>
38<!--]--></ol></nav></div><div class="flex flex-col grow items-center justify-center min-h-screen w-full flex-1 overflow-y-auto"><article class="max-w-none mx-auto p-6 rounded-lg shadow-md hover:shadow-xl transition-shadow duration-300 ease-in-out w-full overflow-x-hidden"><div><h1 class="text-2xl sm:text-3xl text-highlighted font-bold mb-3 text-left">Digital Product Passport (DPP)</h1><p class="text-base text-openepcis-muted mb-4">Introduction to Digital Product Passport and how EPCIS enables product traceability for DPP compliance.</p><div class="flex flex-wrap items-center gap-x-1 gap-y-1 text-xs text-openepcis-muted mb-4"><!--[--><!--[--><a href="/tags/digital-product-passport" class="hover:text-openepcis-primary hover:underline transition-colors">digital-product-passport</a><span class="text-openepcis-muted/60" aria-hidden="true">·</span><!--]--><!--[--><a href="/tags/dpp" class="hover:text-openepcis-primary hover:underline transition-colors">dpp</a><span class="text-openepcis-muted/60" aria-hidden="true">·</span><!--]--><!--[--><a href="/tags/eu-regulation" class="hover:text-openepcis-primary hover:underline transition-colors">eu-regulation</a><span class="text-openepcis-muted/60" aria-hidden="true">·</span><!--]--><!--[--><a href="/tags/epcis" class="hover:text-openepcis-primary hover:underline transition-colors">epcis</a><span class="text-openepcis-muted/60" aria-hidden="true">·</span><!--]--><!--[--><a href="/tags/sustainability" class="hover:text-openepcis-primary hover:underline transition-colors">sustainability</a><span class="text-openepcis-muted/60" aria-hidden="true">·</span><!--]--><!--[--><a href="/tags/traceability" class="hover:text-openepcis-primary hover:underline transition-colors">traceability</a><span class="text-openepcis-muted/60" aria-hidden="true">·</span><!--]--><!--[--><a href="/tags/circular-economy" class="hover:text-openepcis-primary hover:underline transition-colors">circular-economy</a><span class="text-openepcis-muted/60" aria-hidden="true">·</span><!--]--><!--[--><a href="/tags/gs1-web-vocabulary" class="hover:text-openepcis-primary hover:underline transition-colors">gs1-web-vocabulary</a><!----><!--]--><!--]--><span class="text-openepcis-muted/60 mx-1" aria-hidden="true">·</span><span class="inline-flex items-center gap-1"><span class="iconify i-heroicons:clock size-3.5" aria-hidden="true" style=""></span> 7 min read</span></div></div><div class="text-base leading-relaxed text-left"><div><p class="my-5 leading-7 text-pretty"><!--[-->The Digital Product Passport (DPP) is the EU's mechanism for attaching a structured, scannable record to every regulated product â what it's made of, who made it, where it has been, how to repair or recycle it. OpenEPCIS implements the DPP as a thin layer on top of GS1 standards: GS1 Digital Link as the identifier, EPCIS 2.0 events as the lifecycle history, and the GS1 Web Vocabulary as the descriptive layer.<!--]--></p><div class="my-4 rounded-lg border-l-4 p-4 bg-sky-500/5 dark:bg-sky-400/8 border-sky-400 dark:border-sky-500"><div class="flex gap-3"><span class="iconify i-heroicons:information-circle size-5 shrink-0 mt-0.5 text-sky-500 dark:text-sky-400" aria-hidden="true" style=""></span><div class="prose prose-sm dark:prose-invert max-w-none flex-1 [&>p:first-child]:mt-0 [&>p:last-child]:mb-0"><!--[--><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->Status<!--]--></strong>: The platform underneath is production grade â the GS1 Conformant Resolver, the masterdata layer and EPCIS 2.0 are stable and in production use. The per-regulation extensions are at <strong><!--[-->v0.9.8<!--]--></strong>; their ontologies and JSON-LD contexts are feature-complete and stay versioned below 1.0 only until the EU delegated acts are final.<!--]--></p><!--]--></div></div></div><h2 id="quick-links" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Quick Links<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->The bigger picture<!--]--></strong><!--]--></p><ul class="list-disc ps-6 my-5 marker:text-(--ui-border-accented)"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/vision" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->The Digital Twin Vision<!--]--></a> â how UNTP, DIDs, Verifiable Credentials and EPCIS fit together for unified product identity<!--]--></li>
38<!--]--></ul><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->Implementation guides<!--]--></strong><!--]--></p><ul class="list-disc ps-6 my-5 marker:text-(--ui-border-accented)"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/dpp-resolution-flow" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->DPP Resolution Flow<!--]--></a> â how a QR scan leads to DPP data retrieval<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/resolver-setup" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Resolver Setup Guide<!--]--></a> â running your own GS1 Digital Link resolver<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/multi-component-example" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Multi-Component Example<!--]--></a> â an e-bike with linked component DPPs (the CIRPASS-2 pattern)<!--]--></li><!--]--></ul><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->Per-regulation modules<!--]--></strong><!--]--></p><ul class="list-disc ps-6 my-5 marker:text-(--ui-border-accented)"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/espr-framework" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->ESPR Framework<!--]--></a> â shared patterns for ESPR 2024/1781<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/battery-dpp" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Battery DPP<!--]--></a> â EU Battery Regulation 2023/1542<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/eudr" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->EUDR<!--]--></a> â EU Deforestation Regulation 2023/1115<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/textile" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Textile DPP<!--]--></a> â EU Sustainable Textiles Strategy<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/electronics" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Electronics DPP<!--]--></a> â repairability, WEEE, energy efficiency<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="/docs/digital-product-passport/interoperability" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Interoperability<!--]--></a> â how the OpenEPCIS DPP relates to UNTP, CIRPASS-2 and GS1<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="https://github.com/openepcis/openepcis-dpp-ready" rel="nofollow" target="_blank" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->openepcis-dpp-ready on GitHub<!--]--></a> â source ontologies, contexts and examples<!--]--></li><!--]--></ul><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->Vocabulary browsers<!--]--></strong><!--]--></p><ul class="list-disc ps-6 my-5 marker:text-(--ui-border-accented)"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="https://ref.openepcis.org/extensions/common/core/" rel="nofollow" target="_blank" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Core DPP vocabulary<!--]--></a> â shared ESPR patterns<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><a href="https://ref.openepcis.org/extensions/eu/battery/" rel="nofollow" target="_blank" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Battery<!--]--></a> · <a href="https://ref.openepcis.org/extensions/eu/eudr/" rel="nofollow" target="_blank" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->EUDR<!--]--></a> · <a href="https://ref.openepcis.org/extensions/eu/textile/" rel="nofollow" target="_blank" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Textile<!--]--></a> · <a href="https://ref.openepcis.org/extensions/eu/electronics/" rel="nofollow" target="_blank" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Electronics<!--]--></a>
38<!--]--></li><!--]--></ul><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->External resources<!--]--></strong><!--]--></p><ul class="list-disc ps-6 my-5 marker:text-(--ui-border-accented)"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[-->GS1 DPP activity: <a href="https://gs1.eu/activities/digital-product-passport/" rel="nofollow" target="_blank" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->https://gs1.eu/activities/digital-product-passport/<!--]--></a><!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[-->OpenEPCIS Digital Data Management demo: <a href="https://demo.epcis.cloud" rel="nofollow" target="_blank" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->https://demo.epcis.cloud<!--]--></a> â seeded demo products, each with a scannable Digital Link<!--]--></li><!--]--></ul><h2 id="what-is-a-digital-product-passport" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->What is a Digital Product Passport?<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->A DPP is a digital record that travels with a product across its lifecycle. It typically holds:<!--]--></p><ul class="list-disc ps-6 my-5 marker:text-(--ui-border-accented)"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Origin<!--]--></strong> â where and when the product was made<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Materials<!--]--></strong> â what it is made of and where those materials came from<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Environmental impact<!--]--></strong> â carbon footprint, recycled content, sustainability indicators<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Repair and maintenance<!--]--></strong> â how to fix or service the product<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->End-of-life<!--]--></strong> â how to dispose of, refurbish or recycle the product<!--]--></li><!--]--></ul><p class="my-5 leading-7 text-pretty"><!--[-->The record is reached by scanning a data carrier on the product â typically a GS1 Digital Link QR code, but NFC and RFID tags work the same way. The scan returns a URL; content negotiation at that URL returns the right kind of data for the asking client (a human-readable page, a JSON-LD record, or a stream of EPCIS events).<!--]--></p><h2 id="why-a-dpp" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Why a DPP?<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->The EU's <strong><!--[-->Ecodesign for Sustainable Products Regulation (ESPR) 2024/1781<!--]--></strong> makes the DPP a requirement, sector by sector, starting with batteries in 2027. Three intents drive it:<!--]--></p><ol class="list-decimal ps-6 my-5 marker:text-muted"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Sustainability<!--]--></strong> â extend product life, support reuse and high-quality recycling, reduce waste.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Transparency<!--]--></strong> â let consumers, repairers and authorities verify claims about origin, composition and compliance.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Accountability<!--]--></strong> â give regulators a uniform way to check compliance across borders and along the supply chain.<!--]--></li>
38<!--]--></ol><h2 id="how-a-dpp-works" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->How a DPP works<!--]--></h2><figure class="diagram-figure" style="" data-v-dfe71d6b><img src="/diagrams/dpp-lifecycle-overview-light.svg" alt="From manufacturing to a data carrier to the Digital Product Passport" class="diagram-img diagram-img--light" decoding="async" data-v-dfe71d6b><img src="/diagrams/dpp-lifecycle-overview-dark.svg" alt="From manufacturing to a data carrier to the Digital Product Passport" class="diagram-img diagram-img--dark" loading="lazy" decoding="async" data-v-dfe71d6b><!----></figure><p class="my-5 leading-7 text-pretty"><!--[-->End to end:<!--]--></p><ol class="list-decimal ps-6 my-5 marker:text-muted"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Manufacture<!--]--></strong> â the product is assigned a GS1 identifier (e.g. a GTIN + serial â SGTIN).<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Masterdata<!--]--></strong> â a description of the product is POSTed to the resolver (see below).<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Events<!--]--></strong> â as the product moves through the supply chain, EPCIS events record each step.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Carrier<!--]--></strong> â a GS1 Digital Link QR (or NFC tag) is attached to the product.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Access<!--]--></strong> â a scan resolves to the right record; the resolver decides what to return.<!--]--></li><!--]--></ol><h2 id="dpp-and-epcis-how-they-connect" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->DPP and EPCIS: how they connect<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->EPCIS provides the lifecycle history. Every time something happens to the product, an EPCIS event is captured: it was manufactured, packed into a pallet, shipped, received, sold, returned, refurbished, recycled. The events form a verifiable timeline that feeds the DPP.<!--]--></p><h3 id="mapping-dpp-requirements-to-epcis-dimensions" class="relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Mapping DPP requirements to EPCIS dimensions<!--]--></h3><div class="relative my-5 overflow-x-auto rounded-md outline-primary/25 focus-visible:outline-3"><table class="w-full border-separate border-spacing-0 rounded-md"><!--[--><thead class="bg-muted"><!--[--><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><th class="py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted text-start"><!--[-->DPP requirement<!--]--></th><th class="py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted text-start"><!--[-->EPCIS dimension<!--]--></th><th class="py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted text-start"><!--[-->Captured<!--]--></th><!--]--></tr><!--]--></thead><tbody><!--[--><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Product identity<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><strong><!--[-->What<!--]--></strong><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->GS1 identifiers (GTIN, SGTIN, GLN)<!--]--></td><!--]--></tr><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Timeline<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><strong><!--[-->When<!--]--></strong><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->eventTime<!--]--></code> of each lifecycle step<!--]--></td><!--]--></tr><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Location history<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><strong><!--[-->Where<!--]--></strong><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->bizLocation<!--]--></code>, <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->readPoint<!--]--></code><!--]--></td><!--]--></tr><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Business context<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><strong><!--[-->Why<!--]--></strong><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->bizStep<!--]--></code>, <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->disposition<!--]--></code><!--]--></td><!--]--></tr><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Conditions<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><strong><!--[-->How<!--]--></strong><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->sensorElementList<!--]--></code> (temperature, humidity, etc.)<!--]--></td><!--]--></tr><!--]--></tbody><!--]--></table></div><h3 id="standards-based-by-design" class="relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Standards-based by design<!--]--></h3><p class="my-5 leading-7 text-pretty"><!--[-->
38Both DPP and EPCIS are built on GS1 standards: the same identifiers, the same Digital Link URIs, the same vocabulary. That means cross-border interoperability, reuse of resolver infrastructure that already exists, and a low cost to adopt for any organisation already using GS1.<!--]--></p><h2 id="example-masterdata-on-the-resolver-lean-epcis-events-that-reference-it" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Example: masterdata on the resolver, lean EPCIS events that reference it<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->The OpenEPCIS discipline is to keep <strong><!--[-->masterdata on the resolver<!--]--></strong> and <strong><!--[-->EPCIS events lean<!--]--></strong>. Two things happen separately:<!--]--></p><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->1. Register the product's masterdata once, on the resolver.<!--]--></strong><!--]--></p><div class="relative my-5 group" style=""><!----><button type="button" data-slot="base" aria-label="Copy code to clipboard" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 text-xs gap-1.5 ring ring-inset ring-accented text-default bg-default hover:bg-elevated active:bg-elevated disabled:bg-default aria-disabled:bg-default outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted p-1.5 absolute top-[11px] end-[11px] lg:opacity-0 lg:group-hover:opacity-100 lg:focus-visible:opacity-100 transition"><!--[--><!--[--><span class="iconify i-lucide:copy shrink-0 size-4" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></button><pre class="group font-mono text-sm/6 border border-muted bg-muted rounded-md px-4 py-3 whitespace-pre-wrap wrap-break-word overflow-x-auto outline-primary/25 focus-visible:outline-3 focus-visible:border-primary **:[.line]:block **:[.line.highlight]:-mx-4 **:[.line.highlight]:px-4 **:[.line.highlight]:bg-accented/50! language-http shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast monokai" style=""><!--[--><code><span class="line" line="1"><span>POST /products/09521141012345 HTTP/1.1 39</span></span><span class="line" line="2"><span>Host: id.example.com 40</span></span><span class="line" line="3"><span>Content-Type: application/ld+json 41</span></span><span class="line" line="4"><span>Authorization: Bearer ... 42</span></span><span class="line" line="5"><span emptylineplaceholder="true"> 43</span></span><span class="line" line="6"><span>{ 44</span></span><span class="line" line="7"><span> "@context": "https://ref.openepcis.org/extensions/eu/battery/battery-context.jsonld", 45</span></span><span class="line" line="8"><span> "id": "https://id.example.com/01/09521141012345", 46</span></span><span class="line" line="9"><span> "type": "Product", 47</span></span><span class="line" line="10"><span> "productName": "Battery Pack 5 kWh", 48</span></span><span class="line" line="11"><span> "gtin": "09521141012345", 49</span></span><span class="line" line="12"><span> "countryOfOrigin": "DE", 50</span></span><span class="line" line="13"><span> "batteryChemistry": { 51</span></span><span class="line" line="14"><span> "type": "BatteryChemistry", 52</span></span><span class="line" line="15"><span> "shortName": "LFP" 53</span></span><span class="line" line="16"><span> }, 54</span></span><span class="line" line="17"><span> "recycledContent": { 55</span></span><span class="line" line="18"><span> "type": "RecycledContent", 56</span></span><span class="line" line="19"><span> "lithiumRecycledShare": 0.08, 57</span></span><span class="line" line="20"><span> "cobaltRecycledShare": 0.15 58</span></span><span class="line" line="21"><span> } 59</span></span><span class="line" line="22"><span>} 60</span></span></code><!--]--></pre></div><p class="my-5 leading-7 text-pretty"><!--[-->
60That record is now reachable by content negotiation at <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->https://id.example.com/01/09521141012345<!--]--></code>. A scan of the product's Digital Link QR returns it as JSON-LD or HTML depending on the <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->Accept<!--]--></code> header.<!--]--></p><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->2. Emit EPCIS events that reference the identifier â no masterdata embedded.<!--]--></strong><!--]--></p><div class="relative group [&>pre]:rounded-t-none [&>pre]:my-0 my-5" style=""><div class="flex items-center gap-1.5 border border-muted bg-default border-b-0 relative rounded-t-md px-4 py-3"><span class="iconify i-vscode-icons:file-type-json size-4 shrink-0" aria-hidden="true" style=""></span><span class="text-default text-sm/6">Battery commissioning event.json</span></div><button type="button" data-slot="base" aria-label="Copy code to clipboard" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 text-xs gap-1.5 ring ring-inset ring-accented text-default bg-default hover:bg-elevated active:bg-elevated disabled:bg-default aria-disabled:bg-default outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted p-1.5 absolute top-[11px] end-[11px] lg:opacity-0 lg:group-hover:opacity-100 lg:focus-visible:opacity-100 transition"><!--[--><!--[--><span class="iconify i-lucide:copy shrink-0 size-4" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></button><pre class="group font-mono text-sm/6 border border-muted bg-muted rounded-md px-4 py-3 whitespace-pre-wrap wrap-break-word overflow-x-auto outline-primary/25 focus-visible:outline-3 focus-visible:border-primary **:[.line]:block **:[.line.highlight]:-mx-4 **:[.line.highlight]:px-4 **:[.line.highlight]:bg-accented/50! language-json shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast monokai" style=""><!--[--><code><span class="line" line="1"><span class="se58z">{ 61</span></span><span class="line" line="2"><span class="sSp2P"> "@context"</span><span class="se58z">: </span><span class="sTdxB">"https://ref.gs1.org/standards/epcis/epcis-context.jsonld"</span><span class="se58z">, 62</span></span><span class="line" line="3"><span class="sSp2P"> "type"</span><span class="se58z">: </span><span class="sTdxB">"ObjectEvent"</span><span class="se58z">, 63</span></span><span class="line" line="4"><span class="sSp2P"> "eventTime"</span><span class="se58z">: </span><span class="sTdxB">"2025-01-08T09:30:00Z"</span><span class="se58z">, 64</span></span><span class="line" line="5"><span class="sSp2P"> "eventTimeZoneOffset"</span><span class="se58z">: </span><span class="sTdxB">"+01:00"</span><span class="se58z">, 65</span></span><span class="line" line="6"><span class="sSp2P"> "eventID"</span><span class="se58z">: </span><span class="sTdxB">"urn:uuid:b5c7d8e9-f012-3456-789a-bcdef0123456"</span><span class="se58z">, 66</span></span><span class="line" line="7"><span class="sSp2P"> "epcList"</span><span class="se58z">: [ 67</span></span><span class="line" line="8"><span class="sTdxB"> "https://id.example.com/01/09521141012345/21/1000001" 68</span></span><span class="line" line="9"><span class="se58z"> ], 69</span></span><span class="line" line="10"><span class="sSp2P"> "action"</span><span class="se58z">: </span><span class="sTdxB">"ADD"</span><span class="se58z">, 70</span></span><span class="line" line="11"><span class="sSp2P"> "bizStep"</span><span class="se58z">: </span><span class="sTdxB">"commissioning"</span><span class="se58z">, 71</span></span><span class="line" line="12"><span class="sSp2P"> "disposition"</span><span class="se58z">: </span><span class="sTdxB">"active"</span><span class="se58z">, 72</span></span><span class="line" line="13"><span class="sSp2P"> "readPoint"</span><span class="se58z">: { </span><span class="sSp2P">"id"</span><span class="se58z">: </span><span class="sTdxB">"https://id.example.com/414/9520123456788"</span><span class="se58z"> }, 73</span></span><span class="line" line="14"><span class="sSp2P"> "bizLocation"</span><span class="se58z">: { </span><span class="sSp2P">"id"</span><span class="se58z">: </span><span class="sTdxB">"https://id.example.com/414/9520123456788"</span><span class="se58z"> } 74</span></span><span class="line" line="15"><span class="se58z">} 75</span></span></code><!--]--></pre></div><p class="my-5 leading-7 text-pretty"><!--[-->The event says <em><!--[-->what<!--]--></em> happened, <em><!--[-->when<!--]--></em>, <em><!--[-->where<!--]--></em> and <em><!--[-->why<!--]--></em>. To learn <em><!--[-->what the product is<!--]--></em>, a consumer follows the identifier to the resolver. Keeping the two concerns apart means the masterdata stays valid across every event in the product's life, and an event document never duplicates (or contradicts) the product record.<!--]--></p><h2 id="standards-alignment" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Standards alignment<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->OpenEPCIS DPP-Ready is designed to interoperate cleanly with the surrounding ecosystem:<!--]--></p><div class="relative my-5 overflow-x-auto rounded-md outline-primary/25 focus-visible:outline-3"><table class="w-full border-separate border-spacing-0 rounded-md"><!--[--><thead class="bg-muted"><!--[--><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><th class="py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted text-start"><!--[-->Standard<!--]--></th><th class="py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted text-start"><!--[-->How OpenEPCIS aligns<!--]--></th><!--]--></tr><!--]--></thead><tbody><!--[--><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->GS1 Web Vocabulary<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Native foundation; OpenEPCIS extensions imported via <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->owl:imports<!--]--></code><!--]--></td><!--]--></tr><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->UN Transparency Protocol (UNTP)<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Property alignment via <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->owl:equivalentProperty<!--]--></code> for shared concepts<!--]--></td><!--]--></tr><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->CIRPASS-2<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Requirements coverage for the DPP data points CIRPASS-2 specifies<!--]--></td><!--]--></tr><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->ESPR 2024/1781<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Full coverage of the articles relevant to product information<!--]--></td><!--]--></tr><tr class="[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->BatteryPass<!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5 text-start"><!--[-->Bridge context for ingesting BatteryPass documents into the GS1 model<!--]--></td><!--]--></tr><!--]--></tbody><!--]--></table></div>
75<div class="my-4 rounded-lg border-l-4 p-4 bg-sky-500/5 dark:bg-sky-400/8 border-sky-400 dark:border-sky-500"><div class="flex gap-3"><span class="iconify i-heroicons:information-circle size-5 shrink-0 mt-0.5 text-sky-500 dark:text-sky-400" aria-hidden="true" style=""></span><div class="prose prose-sm dark:prose-invert max-w-none flex-1 [&>p:first-child]:mt-0 [&>p:last-child]:mb-0"><!--[--><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->Value convention<!--]--></strong>: ratio and fraction properties use the <strong><!--[-->0â1 decimal scale<!--]--></strong> (UNTP-compatible). <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->recycledContent: 0.45<!--]--></code> means 45% recycled content. See <a href="/docs/digital-product-passport/interoperability" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Interoperability<!--]--></a> for the full property mapping.<!--]--></p><!--]--></div></div></div><h2 id="industries-in-scope" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Industries in scope<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->The EU is rolling out DPP requirements in waves, starting with the sectors that benefit most from traceability:<!--]--></p><h3 id="batteries-from-february-2027" class="relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Batteries â from February 2027<!--]--></h3><p class="my-5 leading-7 text-pretty"><!--[-->All batteries placed on the EU market need a DPP under Regulation 2023/1542. The passport must include chemistry and materials, carbon footprint, recycled content, performance, durability, and collection/recycling instructions. See <a href="/docs/digital-product-passport/battery-dpp" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Battery DPP<!--]--></a>.<!--]--></p><h3 id="textiles-phased-from-20272030" class="relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Textiles â phased from 2027â2030<!--]--></h3><p class="my-5 leading-7 text-pretty"><!--[-->Apparel and footwear: fibre composition, country of origin, care and repair instructions, recycling guidance. See <a href="/docs/digital-product-passport/textile" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Textile DPP<!--]--></a>.<!--]--></p><h3 id="electronics" class="relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Electronics<!--]--></h3><p class="my-5 leading-7 text-pretty"><!--[-->Repairability score, spare-parts availability, hazardous-substance disclosure, energy efficie
75ncy, end-of-life routing. The <a href="/docs/digital-product-passport/electronics" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->Electronics DPP<!--]--></a> module follows the French Repairability Index method and aligns with WEEE.<!--]--></p><h3 id="construction-materials-furniture-chemicals-and-beyond" class="relative text-xl text-highlighted font-bold mt-8 mb-3 scroll-mt-[calc(32px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(32px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-lg/6 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Construction materials, furniture, chemicals, and beyond<!--]--></h3><p class="my-5 leading-7 text-pretty"><!--[-->ESPR allows the DPP scope to extend across product categories. Sectoral implementing acts are sequenced over the next several years.<!--]--></p><h2 id="benefits" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Benefits<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->For consumers<!--]--></strong> â verified product information, easier access to repair guides, fuller history when buying second-hand.<!--]--></p><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->For businesses<!--]--></strong> â a single set of standards to satisfy multiple EU regulations, supply-chain visibility as a side effect of compliance, a credible foundation for sustainability claims.<!--]--></p><p class="my-5 leading-7 text-pretty"><!--[--><strong><!--[-->For the environment<!--]--></strong> â extended product life, cleaner recycling streams, better feedback to designers about end-of-life behaviour.<!--]--></p><h2 id="how-openepcis-supports-dpp" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->How OpenEPCIS supports DPP<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->OpenEPCIS provides the building blocks; you wire them together to fit your supply chain.<!--]--></p><ul class="list-disc ps-6 my-5 marker:text-(--ui-border-accented)"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->GS1 Conformant Resolver<!--]--></strong> â host the masterdata and linksets for every regulated product.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->EPCIS 2.0 REST API<!--]--></strong> â capture and query lifecycle events.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Format Converter<!--]--></strong> â round-trip EPCIS documents between XML and JSON-LD.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Event Hash Generator<!--]--></strong> â idempotent event identity across re-sends.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->Test Data Generator<!--]--></strong> â synthesise realistic events for development and conformance testing.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[--><strong><!--[-->DPP-Ready ontologies<!--]--></strong> â battery, textile, electronics, EUDR and ESPR core JSON-LD contexts.<!--]--></li>
75<!--]--></ul><h2 id="getting-started" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Getting started<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->A typical pilot path:<!--]--></p><ol class="list-decimal ps-6 my-5 marker:text-muted"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[-->Read the regulation that applies to your product category (linked from each module page).<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[-->Decide on the GS1 identifiers you'll use â GTIN for the product, SGTIN for serialised items, GLN for locations.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[-->Stand up a resolver and POST your product, organisation and place masterdata to it.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[-->Capture EPCIS events at the points in the supply chain that matter for the DPP.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[-->Validate the events against the EPCIS 2.0 schema and the relevant DPP-Ready context.<!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&>ul]:my-0"><!--[-->Print or affix a Digital Link QR; verify end-to-end that a scan returns the expected DPP record.<!--]--></li><!--]--></ol><h2 id="contact" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&>a]:rounded-sm [&>a]:outline-primary/25 [&>a]:focus-visible:outline-3 [&>a>code]:border-dashed hover:[&>a>code]:border-primary hover:[&>a>code]:text-primary [&>a>code]:text-xl/7 [&>a>code]:font-bold [&>a>code]:transition-colors"><!--[-->Contact<!--]--></h2><p class="my-5 leading-7 text-pretty"><!--[-->Questions, feedback, pilots: <a href="mailto:[email protected]" rel="noopener noreferrer" class="text-blue-700 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-300"><!--[-->[email protected]<!--]--></a>.<!--]--></p><style>html .light .shiki span{color:var(--shiki-light);background:var(--shiki-light-bg);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);text-decoration:var(--shiki-light-text-decoration)}html.light .shiki span{color:var(--shiki-light);background:var(--shiki-light-bg);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);text-decoration:var(--shiki-light-text-decoration)}html .default .shiki span{color:var(--shiki-default);background:var(--shiki-default-bg);font-style:var(--shiki-default-font-style);font-weight:var(--shiki-default-font-weight);text-decoration:var(--shiki-default-text-decoration)}html .shiki span{color:var(--shiki-default);background:var(--shiki-default-bg);font-style:var(--shiki-default-font-style);font-weight:var(--shiki-default-font-weight);text-decoration:var(--shiki-default-text-decoration)}html .dark .shiki span{color:var(--shiki-dark);background:var(--shiki-dark-bg);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);text-decoration:var(--shiki-dark-text-decoration)}html.dark .shiki span{color:var(--shiki-dark);background:var(--shiki-dark-bg);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);text-decoration:var(--shiki-dark-text-decoration)}html .sepia .shiki span{color:var(--shiki-sepia);background:var(--shiki-sepia-bg);font-style:var(--shiki-sepia-font-style);font-weight:var(--shiki-sepia-font-weight);text-decoration:var(--shiki-sepia-text-decoration)}html.sepia .shiki span{color:var(--shiki-sepia);background:var(--shiki-sepia-bg);font-style:var(--shiki-sepia-font-style);font-weight:var(--shiki-sepia-font-weight);text-decoration:var(--shiki-sepia-text-decoration)}html pre.shiki code .se58z,html code.shiki .se58z{--shiki-light:#0E1116;--shiki-default:#0E1116;--shiki-dark:#F0F3F6;--shiki-sepia:#F8F8F2}html pre.shiki code .sSp2P,html code.shiki .sSp2P{--shiki-light:#024C1A;--shiki-light-font-style:inherit;--shiki-default:#024C1A;--shiki-default-font-style:inherit;--shiki-dark:#72F088;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sTdxB,html code.shiki .sTdxB{--shiki-light:#032563;--shiki-default:#032563;--shiki-dark:#ADDCFF;--shiki-sepia:#CFCFC2}</style></div></div><footer class="mt-8 pt-4 border-t text-xs text-openepcis-muted text-right"> Last updated: <time datetime="2026-05-16T00:00:00.000Z">May 16, 2026</time></footer></article><!----></div></div><div class="docs-pane-fallback-side"><nav class="w-full h-full p-4 lg:p-6 border-l border-openepcis text-openepcis overflow-y-auto px-6 py-8 shadow-xs" role="navigation" aria-label="Table of Contents"><h2 class="text-lg font-semibold mb-4"> Table of Contents </h2><ul class="space-y-0.5"><!--[--><li><div class="flex items-center gap-1"><a href="#quick-links" class="block flex-1 rounded px-2 py-1 text-sm hover:bg-black/5 dark:hover:bg-white/10 transition-colors">Quick Links</a><!----></div><!----></li><li><div class="flex items-center gap-1"><a href="#what-is-a-digital-product-passport" class="block flex-1 rounded px-2 py-1 text-sm hover:bg-black/5 dark:hover:bg-white/10 transition-colors">What is a Digital Product Passport?</a><!----></div><!----></li><li><div class="flex items-center gap-1"><a href="#why-a-dpp" class="block flex-1 rounded px-2 py-1 text-sm hover:bg-black/5 dark:hover:bg-white/10 transition-colors">Why a DPP?</a><!----></div><!----></li><li><div class="flex items-center gap-1"><a href="#how-a-dpp-works" class="block flex-1 rounded px-2 py-1 text-sm hover:bg-black/5 dark:hover:bg-white/10 transition-colors">How a DPP works</a><!----></div><!----></li><li><div class="flex items-center gap-1"><a href="#dpp-and-epcis-how-they-connect" class="block flex-1 rounded px-2 py-1 text-sm hover:bg-black/5 dark:hover:bg-white/10 transition-colors">DPP and EPCIS: how they connect</a><button type="button" class="shrink-0 rounded p-1.5 inline-flex items-center justify-center min-w-6 min-h-6 hover:bg-black/5 dark:hover:bg-white/10 transition-colors" aria-expanded="true" aria-label="Collapse DPP and EPCIS: how they connect"><svg class="rotate-90 h-3.5 w-3.5 transition-transform" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M7.21 14.77a.75.75 0 0 1 .02-1.06L11.168 10 7.23 6.29a.75.75 0 1 1 1.04-1.08l4.5 4.25a.75.75 0 0 1 0 1.08l-4.5 4.25a.75.75 0 0 1-1.06-.02Z" clip-rule="evenodd"></path></svg></button></div><ul class="ml-2 mt-0.5 space-y-0.5 border-l border-openepcis/30 pl-2" style=""><!--[--><li><a href="#mapping-dpp-requirements-to-epcis-dimensions" class="block rounded px-2 py-1 text-[0.8125rem] opacity-90 hover:bg-black/5 dark:hover:bg-white/10 transition-colors">Mapping DPP requirements to EPCIS dimensions</a></li><li><a href="#standards-based-by-design" class="block rounded px-2 py-1 text-[0.8125rem] opacity-90 hover:bg-black/5 dark:hover:bg-white/10 transition-colors">Standards-based by design</a></li>
75<!--]--></ul></li><li><div class="flex items-center gap-1"><a href="#example-masterdata-on-the-resolver-lean-epcis-events-that-reference-it" class="block flex-1 rounded px-2 py-1 text-sm hover:bg-black/5 dark:hover:bg-white/10 transition-colors">Example: masterdata on the resolver, lean EPCIS events that reference it</a><!----></div><!----></li><li><div class="flex items-center gap-1"><a href="#standards-alignment" class="block flex-1 rounded px-2 py-1 text-sm hover:bg-black/5 dark:hover:bg-white/10 transition-colors">Standards alignment</a><!----></div><!----></li><li><div class="flex items-center gap-1"><a href="#industries-in-scope" class="block flex-1 rounded px-2 py-1 text-sm hover:bg-black/5 dark:hover:bg-white/10 transition-colors">Industries in scope</a><button type="button" class="shrink-0 rounded p-1.5 inline-flex items-center justify-center min-w-6 min-h-6 hover:bg-black/5 dark:hover:bg-white/10 transition-colors" aria-expanded="true" aria-label="Collapse Industries in scope"><svg class="rotate-90 h-3.5 w-3.5 transition-transform" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M7.21 14.77a.75.75 0 0 1 .02-1.06L11.168 10 7.23 6.29a.75.75 0 1 1 1.04-1.08l4.5 4.25a.75.75 0 0 1 0 1.08l-4.5 4.25a.75.75 0 0 1-1.06-.02Z" clip-rule="evenodd"></path></svg></button></div><ul class="ml-2 mt-0.5 space-y-0.5 border-l border-openepcis/30 pl-2" style=""><!--[--><li><a href="#batteries-from-february-2027" class="block rounded px-2 py-1 text-[0.8125rem] opacity-90 hover:bg-black/5 dark:hover:bg-white/10 transition-colors">Batteries â from February 2027</a></li><li><a href="#textiles-phased-from-20272030" class="block rounded px-2 py-1 text-[0.8125rem] opacity-90 hover:bg-black/5 dark:hover:bg-white/10 transition-colors">Textiles â phased from 2027â2030</a></li><li><a href="#electronics" class="block rounded px-2 py-1 text-[0.8125rem] opacity-90 hover:bg-black/5 dark:hover:bg-white/10 transition-colors">Electronics</a></li><li><a href="#construction-materials-furniture-chemicals-and-beyond" class="block rounded px-2 py-1 text-[0.8125rem] opacity-90 hover:bg-black/5 dark:hover:bg-white/10 transition-colors">Construction materials, furniture, chemicals, and beyond</a></li><!--]--></ul></li><li><div class="flex items-center gap-1"><a href="#benefits" class="block flex-1 rounded px-2 py-1 text-sm hover:bg-black/5 dark:hover:bg-white/10 transition-colors">Benefits</a><!----></div><!----></li><li><div class="flex items-center gap-1"><a href="#how-openepcis-supports-dpp" class="block flex-1 rounded px-2 py-1 text-sm hover:bg-black/5 dark:hover:bg-white/10 transition-colors">How OpenEPCIS supports DPP</a><!----></div><!----></li><li><div class="flex items-center gap-1"><a href="#getting-started" class="block flex-1 rounded px-2 py-1 text-sm hover:bg-black/5 dark:hover:bg-white/10 transition-colors">Getting started</a><!----></div><!----></li><li><div class="flex items-center gap-1"><a href="#contact" class="block flex-1 rounded px-2 py-1 text-sm hover:bg-black/5 dark:hover:bg-white/10 transition-colors">Contact</a><!----></div><!----></li><!--]--></ul></nav></div></div><!--]--><!--]--></main><div class="h-[3px] w-full bg-linear-to-r from-transparent via-openepcis/40 to-transparent opacity-[0.92] shadow-[0_1px_6px_var(--color-openepcis)]"></div><div class="relative w-full bg-openepcis-section transition-colors duration-300"><div class="max-w-[1600px] mx-auto px-6 md:px-12"><footer id="footer"><section class="isolate bg-openepcis-section text-openepcis px-4 py-4"><div class="w-full px-6 md:px-12 max-w-7xl mx-auto grid grid-cols-1 md:grid-cols-3 gap-10"><div class="flex flex-col items-center justify-center w-full"><div class="flex items-center justify-center gap-2 mb-2"><img src="/img/benelog-logo-light.svg" alt="" class="h-10 w-auto block dark:hidden" draggable="false"><img src="/img/benelog-logo-dark.svg" alt="" class="h-10 w-auto hidden dark:block" draggable="false"></div><div class="text-openepcis-muted text-sm space-y-2"><div class="flex items-start gap-2"><span class="iconify i-mdi:map-marker-outline w-5 h-5 text-openepcis-primary shrink-0 mt-1" aria-hidden="true" style=""></span><div><div>benelog GmbH & Co. KG</div><div>Maarweg 133,</div><div>
7550825 Cologne, Germany.</div></div></div><div class="flex items-center gap-2"><span class="iconify i-mdi:email-outline w-5 h-5 text-openepcis-primary shrink-0" aria-hidden="true" style=""></span><a href="mailto:[email protected]" rel="noopener noreferrer" class="hover:text-openepcis-accent ml-1" aria-label="openepcisEmailContact">[email protected]</a></div><div class="flex items-center gap-2"><span class="iconify i-mdi:phone-outline w-5 h-5 text-openepcis-primary shrink-0" aria-hidden="true" style=""></span><div><a href="tel:+49 (221) 472540 001" rel="noopener noreferrer" class="hover:text-openepcis-accent ml-1" aria-label="openepcisPhoneContact">+49 (221) 472540 001</a></div></div></div></div><div class="flex flex-col items-center justify-center w-full"><div class="w-fit"><h2 class="text-base font-semibold mb-2 text-openepcis tracking-wide text-center">Quick Links</h2><nav class="grid grid-cols-1 sm:grid-cols-[auto_auto] gap-x-8 gap-y-1.5"><!--[--><a href="/docs" class="router-link-active group flex items-center gap-2 rounded-md px-2 py-1.5 text-sm text-openepcis-muted transition-colors duration-150 hover:bg-openepcis-primary/10 hover:text-openepcis-primary" aria-label="Docs"><span class="iconify i-mdi:drive-document w-4 h-4 shrink-0 text-openepcis-primary" aria-hidden="true" style=""></span><span>Docs</span></a><a href="/blog" class="group flex items-center gap-2 rounded-md px-2 py-1.5 text-sm text-openepcis-muted transition-colors duration-150 hover:bg-openepcis-primary/10 hover:text-openepcis-primary" aria-label="Blog"><span class="iconify i-mdi:rss w-4 h-4 shrink-0 text-openepcis-primary" aria-hidden="true" style=""></span><span>Blog</span></a><a href="/faq" class="group flex items-center gap-2 rounded-md px-2 py-1.5 text-sm text-openepcis-muted transition-colors duration-150 hover:bg-openepcis-primary/10 hover:text-openepcis-primary" aria-label="FAQ"><span class="iconify i-mdi:faq w-4 h-4 shrink-0 text-openepcis-primary" aria-hidden="true" style=""></span><span>FAQ</span></a><a href="https://epcis-sandbox.gs1.org/" rel="noopener noreferrer" target="_blank" class="group flex items-center gap-2 rounded-md px-2 py-1.5 text-sm text-openepcis-muted transition-colors duration-150 hover:bg-openepcis-primary/10 hover:text-openepcis-primary" aria-label="Sandbox"><span class="iconify i-mdi:flask-outline w-4 h-4 shrink-0 text-openepcis-primary" aria-hidden="true" style=""></span><span>Sandbox</span></a><a href="https://tools.openepcis.io/ui/" rel="noopener noreferrer" target="_blank" class="group flex items-center gap-2 rounded-md px-2 py-1.5 text-sm text-openepcis-muted transition-colors duration-150 hover:bg-openepcis-primary/10 hover:text-openepcis-primary" aria-label="Tools"><span class="iconify i-mdi:tools w-4 h-4 shrink-0 text-openepcis-primary" aria-hidden="true" style=""></span><span>Tools</span></a><a href="https://tools.openepcis.io/ui/event-data-generator/" rel="noopener noreferrer" target="_blank" class="group flex items-center gap-2 rounded-md px-2 py-1.5 text-sm text-openepcis-muted transition-colors duration-150 hover:bg-openepcis-primary/10 hover:text-openepcis-primary" aria-label="Event Generator"><span class="iconify i-mdi:cog-outline w-4 h-4 shrink-0 text-openepcis-primary" aria-hidden="true" style=""></span><span>Event Generator</span></a><a href="/privacy" class="group flex items-center gap-2 rounded-md px-2 py-1.5 text-sm text-openepcis-muted transition-colors duration-150 hover:bg-openepcis-primary/10 hover:text-openepcis-primary" aria-label="Privacy"><span class="iconify i-mdi:shield-alert w-4 h-4 shrink-0 text-openepcis-primary" aria-hidden="true" style=""></span><span>Privacy</span></a><a href="/imprint" class="group flex items-center gap-2 rounded-md px-2 py-1.5 text-sm text-openepcis-muted transition-colors duration-150 hover:bg-openepcis-primary/10 hover:text-openepcis-primary" aria-label="Imprint"><span class="iconify i-mdi:stamper w-4 h-4 shrink-0 text-openepcis-primary" aria-hidden="true" style=""></span><span>Imprint</span></a><!--]--></nav></div></div><div class="flex flex-col items-center justify-center w-full"><h2 class="text-base font-semibold mb-2 text-openepcis tracking-wide">Services</h2><ul class="flex flex-col gap-2"><!--[--><li class="text-openepcis-muted hover:text-openepcis-primary transition-colors duration-150 text-sm">OpenEPCIS</li><li class="text-openepcis-muted hover:text-openepcis-primary transition-colors duration-150 text-sm">Software Development</li><li class="text-openepcis-muted hover:text-openepcis-primary transition-colors duration-150 text-sm">Logistics Tech</li><li class="text-openepcis-muted hover:text-openepcis-primary transition-colors duration-150 text-sm">Data Analytics & AI</li><li class="text-openepcis-muted hover:text-openepcis-primary transition-colors duration-150 text-sm">Cloud Solutions</li><li class="text-openepcis-muted hover:text-openepcis-primary transition-colors duration-150 text-sm">Consulting</li>
75<!--]--></ul></div></div></section><section class="bg-openepcis-section border-t border-openepcis py-4"><div class="max-w-[1600px] mx-auto px-6"><div class="flex flex-col items-center justify-center gap-2"><h2 class="text-lg md:text-xl font-bold text-openepcis tracking-wide text-center">Connect with us</h2><div class="flex gap-3 justify-center flex-wrap"><!--[--><a href="mailto:[email protected]" rel="noopener" target="_blank" data-slot="base" aria-label="Email" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors text-base gap-2 hover:bg-elevated active:bg-elevated outline-inverted/25 focus-visible:outline-3 hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent p-2 text-openepcis-primary"><!--[--><!--[--><span class="iconify i-mdi:email-outline shrink-0 size-6" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></a><a href="https://github.com/openepcis" rel="noopener" target="_blank" data-slot="base" aria-label="GitHub" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors text-base gap-2 hover:bg-elevated active:bg-elevated outline-inverted/25 focus-visible:outline-3 hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent p-2 text-openepcis-primary"><!--[--><!--[--><span class="iconify i-mdi:github shrink-0 size-6" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></a><a href="https://www.linkedin.com/company/benelog" rel="noopener" target="_blank" data-slot="base" aria-label="LinkedIn" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors text-base gap-2 hover:bg-elevated active:bg-elevated outline-inverted/25 focus-visible:outline-3 hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent p-2 text-openepcis-primary"><!--[--><!--[--><span class="iconify i-mdi:linkedin shrink-0 size-6" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></a><a href="https://benelog.com" rel="noopener" target="_blank" data-slot="base" aria-label="benelog GmbH & Co. KG" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors text-base gap-2 hover:bg-elevated active:bg-elevated outline-inverted/25 focus-visible:outline-3 hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent p-2 text-openepcis-primary"><!--[--><!--[--><span class="iconify i-mdi:globe shrink-0 size-6" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></a><!--]--></div></div></div></section><div class="bg-openepcis-section bg-black/90 border-t border-openepcis py-1 text-center"><span class="text-xs text-openepcis-muted"> © 2026 <a href="https://benelog.com/" target="_blank" rel="noopener noreferrer" class="font-semibold text-gray-700 dark:text-gray-200 hover:underline"> benelog GmbH & Co. KG </a> and <a href="/" class="font-semibold text-gray-700 dark:text-gray-200 hover:underline"> OpenEPCIS </a> | All Rights Reserved.</span></div></footer></div></div><!--]--><!--]--><!--[--><!--]--><!--v-if--><!--]--><!--[--><!--]--><!--]--><!--]--></div><div id="teleports"></div>
75<script>window.__NUXT__={};window.__NUXT__.config={public:{siteUrl:"https://openepcis.io",siteName:"openepcis",theme:"default",demoAppUrl:"https://demo.epcis.cloud",resolverUrl:"https://id.demo.epcis.cloud","nuxt-seo-utils-version":"8.3.1","seo-utils":{canonicalQueryWhitelist:["page","sort","filter","search","q","category","tag"],canonicalLowercase:true,tagPriority:"low",separator:"",titleSeparator:""},mdc:{components:{prose:true,map:{accordion:"ProseAccordion","accordion-item":"ProseAccordionItem",badge:"ProseBadge",callout:"ProseCallout",card:"ProseCard","card-group":"ProseCardGroup",caution:"ProseCaution","code-collapse":"ProseCodeCollapse","code-group":"ProseCodeGroup","code-icon":"ProseCodeIcon","code-preview":"ProseCodePreview","code-tree":"ProseCodeTree",collapsible:"ProseCollapsible",field:"ProseField","field-group":"ProseFieldGroup",icon:"ProseIcon",kbd:"ProseKbd",note:"ProseNote",prompt:"ProsePrompt",steps:"ProseSteps",tabs:"ProseTabs","tabs-item":"ProseTabsItem",tip:"ProseTip",warning:"ProseWarning"}},headings:{anchorLinks:false},highlight:{noApiRoute:true,theme:{light:"github-light-high-contrast",default:"github-light-high-contrast",dark:"github-dark-high-contrast",sepia:"monokai"},preload:["xml","html","json","bash"],highlighter:"shiki",shikiEngine:"oniguruma",langs:["js","jsx","json","ts","tsx","vue","css","html","bash","md","mdc","yaml","xml","html","json","bash"]}},i18n:{baseUrl:"https://openepcis.io",defaultLocale:"en",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[{code:"en",iso:"en-US",name:"English",language:""}],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10,compactRoutes:false,prerenderMessages:false},domainLocales:{en:{domain:""}}},content:{wsUrl:""},"nuxt-robots":{version:"6.1.1",isNuxtContentV2:false,debug:false,credits:true,groups:[{userAgent:["*"],allow:["/"],disallow:[],contentUsage:[],contentSignal:[],_indexable:true,_rules:[{pattern:"/",allow:true}],_normalized:true},{userAgent:["ChatGPT-User","OAI-SearchBot","GPTBot","Claude-User","Claude-SearchBot","ClaudeBot","anthropic-ai","Perplexity-User","PerplexityBot","Google-Extended","CCBot"],allow:["/"],disallow:[],contentUsage:[],contentSignal:[],_indexable:true,_rules:[{pattern:"/",allow:true}],_normalized:true},{userAgent:["*"],contentUsage:["train-ai=y"],contentSignal:["ai-train=yes","search=yes","ai-input=yes"],disallow:[],allow:[],_indexable:true,_rules:[],_normalized:true}],sitemap:["/sitemap.xml"],header:true,robotsEnabledValue:"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1",robotsDisabledValue:"noindex, nofollow",cacheControl:"max-age=14400, must-revalidate",botDetection:true,pageMetaRobots:{}}},app:{baseURL:"/",buildId:"650e2294-bf1c-423d-b8ce-581a2ceadc20",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script>
75<script type="application/ld+json" data-nuxt-schema-org="true" data-hid="schema-org-graph"></script>
75<script type="application/json" data-nuxt-data="nuxt-app" data-ssr="true" id="__NUXT_DATA__" data-src="/docs/digital-product-passport/_payload.json?_b=650e2294-bf1c-423d-b8ce-581a2ceadc20">[{"state":1,"once":23,"_errors":24,"serverRendered":5,"path":26,"prerenderedAt":27},["Reactive",2],{"$scolor-mode":3,"$si18n:cached-locale-configs":7,"$si18n:resolved-locale":10,"$snuxt-seo-utils:routeRules":11,"$stoasts":12,"$ssite-config":13},{"preference":4,"value":4,"unknown":5,"forced":6},"system",true,false,{"en":8},{"fallbacks":9,"cacheable":5},[],"",{"head":-1,"seoMeta":-1},[],{"_priority":14,"currentLocale":19,"defaultLocale":19,"env":20,"name":21,"url":22},{"env":15,"url":16,"name":17,"defaultLocale":18,"currentLocale":18},-15,0,-3,-2,"en-US","production","OpenEPCIS - an open-core, GS1-conformant EPCIS implementation.","https://openepcis.io",["Set"],["ShallowReactive",25],{"search-sections-docsEN":-1,"navigation-docsEN":-1,"search-sections-blogEN":-1,"navigation-blogEN":-1,"docs-EN-/docs/digital-product-passport":-1,"docsNav-EN-/docs":-1,"docsSecNav-EN-/docs/digital-product-passport":-1},"/docs/digital-product-passport",1791212955594]</script>
75</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.