PS PrestaShop Intermediate

Digital Product Passport (DPP) — Complete guide

Install and configure the Digital Product Passport module: QR code per product, component registry, lifecycle traceability and ESPR 2027 compliance.

Updated Module version 1.0.0

The DataFirefly — Digital Product Passport (dfdpp) module adds a complete digital product passport system to your PrestaShop 8 or 9 store, compliant with the EU ESPR regulation (Ecodesign for Sustainable Products Regulation), progressively applicable from 2027 for textiles, batteries and electronics.

Each product gets a passport with a unique identifier (UUID), a multilingual public page accessible via QR code, a component registry (bill of materials / BOM), a lifecycle event log and compliance certificate management.

Requirements

  • PrestaShop 8.0.0 to 9.x
  • PHP 7.4 minimum (8.1+ recommended)
  • GD extension enabled (fallback QR code rendering when Endroid is unavailable)
  • Multistore and multilingual compatible (FR / EN / ES / DE / IT included)

Installation

  1. In the back office, open Modules > Module Manager.
  2. Click Upload a module and upload dfdpp.zip.
  3. The module automatically creates its tables, its Product Passports menu under Catalog and registers its public routes.

No external library is bundled: the module uses the Endroid QR Code library shipped with PrestaShop core (v3, v4 or v5 auto-detected), with a GD fallback renderer.

Configuration

Open Modules > dfdpp > Configure. Three blocks are available:

General settings

  • Enable module — global switch.
  • Auto-create — generates a draft passport whenever a product is saved.
  • Default ESPR category — textile, battery, electronics, furniture, footwear or general.
  • Public display — enables the public /dpp/{uuid} page.
  • Product page tab — shows the passport in a product page tab.
  • Public JSON export — allows downloading the passport as JSON.

QR code

  • Size (default 220 px) and margin (10 px).
  • Error correction level — M recommended (density / robustness balance).

Company information

Name, VAT number, address and country of the responsible economic operator — this information is displayed on the public passport page, as required by the ESPR.

Creating a passport

Automatic creation

When enabled, a draft passport is created every time a product is saved, using the default ESPR category. It only becomes publicly visible once manually published.

Manual creation

  1. Open Catalog > Product Passports > Passports.
  2. Click Add, select the product (and combination if needed).
  3. Fill in the fields and save: a unique UUID v4 is generated automatically.

From the back-office product sheet, the Digital Passport tab lets you create or open the passport of the product being edited directly.

Passport data

The form is organised into five blocks:

  • Identification — product, combination, ESPR category, GTIN, manufacturer, country of origin, production date, batch number.
  • Sustainability — carbon footprint (kg CO₂e), recyclability score, recycled content percentage, repair score, expected lifetime, warranty.
  • Multilingual content — material composition, care instructions, disposal and end-of-life instructions, repair information, safety information, compliance certificates (six rich-text fields, translatable into every shop language).
  • Components, events and documents — managed via AJAX directly inside the passport sheet (see below).
  • Custom fields — a free JSON object for any additional sector-specific data.

Component registry (BOM)

Each passport can record its full bill of materials: component name, material, weight (g), product percentage, recycled share, recyclability, hazardousness, CAS number, supplier and country. Components can be nested (parent component / sub-component) to model assemblies.

The Catalog > Product Passports > Registry menu offers a cross-passport view of every component in the shop, filterable by material, hazard or supplier — handy for REACH audits.

Lifecycle events

The log traces the product’s life: design, raw material, manufacturing, quality control, distribution, first sale, resale, repair, refurbishment, recycling, end of life. Each event carries a date, a location, an actor (name + role), a description and an optional evidence URL.

The Catalog > Product Passports > Events view centralises all events with a type filter.

Documents and certificates

Attach the required certificates to each passport: CE declaration, REACH, RoHS, WEEE, EU Battery Regulation, OEKO-TEX, GOTS, Ecolabel, FSC, ISO 14001 / 9001, PEF, EPD or other. Each document carries a number, an issuer, validity dates and a file URL.

An expired certificate is flagged as a blocker by the compliance engine and lowers the passport score.

ESPR compliance score

The module evaluates each passport against rules specific to its ESPR category and displays a score out of 100 with a level:

  • Compliant — score ≥ 90 with no blockers.
  • Partial — score ≥ 60.
  • Draft — incomplete data.
  • Non-compliant — blockers present.

The list of checks and blockers is detailed in the passport sheet; the Recalculate button refreshes the score after changes.

Public page and QR code

Each published passport is available at https://your-shop.com/dpp/{uuid} and its PNG QR code at /dpp/{uuid}/qr.png (?size= parameter accepted from 80 to 800 px, 24-hour browser cache).

The public page shows: product image and identity, QR code, sustainability KPIs, composition, component table, care and repair, disposal instructions, lifecycle timeline, certificates, safety information and the responsible operator’s details. It embeds JSON-LD schema.org markup for SEO.

Print the QR code on the product label, leaflet or packaging: this is the access mode intended by the ESPR for end consumers, repairers and recyclers.

Product page display

When enabled, a Digital Passport tab appears on the front-office product page with the QR code, key indicators and a link to the public page. A fallback block can also be displayed below the description.

GDPR and access log

Public views can be logged in an anonymised way: the IP address is hashed with SHA-256, a daily salt and the shop’s secret key — no exploitable personal data is stored. The option can be disabled in the configuration.

Multistore and multilingual

Passports are attached to a shop (multistore context respected) and all editorial content exists in every active language. The module ships translated into French, English, Spanish, German and Italian (XLIFF format, editable via International > Translations).

Uninstall and data retention

On uninstall, the configuration and admin tabs are removed, but the data tables are preserved: the ESPR regulation requires passport availability throughout the product’s lifetime. For permanent deletion, drop the ps_dfdpp_* tables manually.

Troubleshooting

The /dpp/{uuid} page returns a 404

  • Check the passport is published and public display is enabled.
  • Clear the PrestaShop cache (Advanced Parameters > Performance) to regenerate routes.
  • Check URL rewriting (friendly URLs enabled).

The QR code doesn’t display

  • Check the PHP GD extension is active if your installation doesn’t ship Endroid QR Code.

The tab doesn’t appear on the product page

  • Enable the Product page tab option in the configuration and check your theme supports the displayProductExtraContent hook.

Changelog

  • 1.0.0 — Initial release: UUID passports, multilingual public page, QR codes, nested components, lifecycle events, documents, per-category ESPR compliance score, JSON / JSON-LD export, GDPR access log, multistore.
Was this page helpful?

Still stuck? Contact support