About this plugin
Digital Product Passport for WooCommerce adds the product data the EU Ecodesign for Sustainable Products Regulation (ESPR / EU 2024/1781) asks for, and publishes it three ways: as a passport people can open on the product page, as a QR code that links to it, and as JSON-LD a machine can read through the REST API.
Starting in 2025, the ESPR regulation requires many product categories sold in the EU to carry a Digital Product Passport covering sustainability, material composition, repairability, and end-of-life information. This plugin helps you meet those requirements today.
Key Features
- Full ESPR / EU 2024/1781 Compliance — all mandatory data fields included
- QR Code Generation — one code per product, generated inside the plugin as SVG. No external service, no API key, nothing leaves the site
- GS1 Digital Link — QR codes follow the /01/{gtin}/21/{serial} standard
- JSON-LD Structured Data — schema.org + W3ID DPP ontology ( https://w3id.org/dpp/ )
- REST API — GET /wp-json/dppass/v1/passport/{id} with HTTP caching headers
- WP-CLI: wp dppass passport and wp dppass settings read and change passports and settings with the checks of the admin screens
- Tab or Button Display — show the passport in a product tab or via a modal button
- Completeness Score — live progress bar showing how complete each passport is
- WooCommerce HPOS Ready — compatible with High Performance Order Storage
- Cart & Checkout Blocks — full Block Editor compatibility declared
- Fully Translatable — all strings use the digital-product-passport-for-woocommerce text domain
Passport Data Fields
Identity & Traceability
– GTIN / EAN-13 barcode
– Serial number & batch number
– Brand name & manufacturer name
– Manufacturer address
– Production country & production date
Sustainability & Environmental Impact
– Carbon footprint (kg CO₂eq) + measurement methodology
– Energy efficiency class (A+++ to G)
– Material composition (name, % weight, % recycled content)
– Recyclability percentage
– Recycling instructions / end-of-life info
Repairability & Durability
– Repairability index (0–10)
– Spare parts availability & availability period
– Durability / expected lifespan (years)
– Warranty duration (months)
– Repairability documentation available (yes/no)
Compliance
– Substances of concern (REACH / RoHS)
– Applicable regulation reference
– Compliance document URL
Free add-on
Nothing in this plugin is locked or limited. Everything described above works, for every
product, with no key and no account.
A separate add-on, also free, adds work that only larger catalogues need. It is a second
plugin you download from us; this one does not change when you install it, it simply
finds it:
- Analytics Dashboard — track passport views per product with Chart.js charts
- PDF Passport Export — print-optimized HTML passport with your branding
- Bulk Passport Editor — edit all products in a spreadsheet-like grid
- CSV & JSON Import/Export — migrate data or sync with external systems
- Email Notifications — notify admins on passport updates + weekly digest reports
- ACF Integration — sync Advanced Custom Fields with passport data
- WPML & Polylang Support — multilingual passport data
- Branded PDFs — custom logo, company name, and accent color in exports
Developer Hooks
Actions
- dppass_passport_updated( $product_id, $product ): after the passport fields are written, on the product screen and by wp dppass passport set, before WooCommerce saves the product: read the new values from $product, not from the database
- dppass_passport_viewed( $product_id ): when a passport is shown on the product page (used by Pro analytics)
- dppass_passport_content_end( $product_id ): at the end of the passport output (used by the Pro PDF button)
The plugin has no filters. 3 this section listed hooks with the old dpp_ prefix that the plugin does not fire.
REST API
- GET /wp-json/dppass/v1/passport/{id} — passport by product ID
- GET /wp-json/dppass/v1/passport/gtin/{gtin} — passport by GTIN
- GET /wp-json/dppass/v1/passports?search={term}&per_page={n} — search passports (max 100)
WP-CLI
- wp dppass passport get <product-id> [<field>]: the passport of a product as JSON
- wp dppass passport set <product-id> <field> <value>: change one field with the checks of the product screen: switches take true or false, selections one of their options, numbers their limits, materials and certifications a JSON list. Saving clears the QR code and the cached REST passport and fires dppass_passport_updated, as the product screen does.
- wp dppass passport schema: every field with its type, options and limits
- wp dppass settings get|set|schema: the plugin settings, through the checks of the settings screen
Example: wp dppass passport set 42 materials '[{"name":"Cotton","percentage":60,"recycled":20}]'
Support
- Documentation: aos-digital.de/plugin-verzeichnis/digital-product-passport
- Support: [email protected]
- Issues: [email protected]