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.
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
- In the back office, open Modules > Module Manager.
- Click Upload a module and upload
dfdpp.zip. - 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
- Open Catalog > Product Passports > Passports.
- Click Add, select the product (and combination if needed).
- 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
displayProductExtraContenthook.
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.