DfGpsr SW — Complete guide
Install, configure and run DfGpsr SW: GPSR safety information (manufacturer, EU responsible person, warnings, documents) on your product pages, with per-sales-channel fallback values, for Shopware 6.5, 6.6 and 6.7.
DfGpsr SW displays on your Shopware product pages the safety information made mandatory by Regulation (EU) 2023/988 — the General Product Safety Regulation (GPSR), in force since 13 December 2024. Shopware offers nothing solid out of the box for this. DfGpsr SW fills that gap with per-product custom fields, shop-wide fallback values configurable per sales channel, and automatic display below the product description. The plugin is deliberately built without custom admin components and without storefront JavaScript: one and the same ZIP installs identically on Shopware 6.5, 6.6 and 6.7, with no compilation. This guide covers installation, global configuration, per-product data entry, translation, template customisation and troubleshooting.
DfGpsr SW is a technical display tool. It helps you present the required information, but the accuracy and completeness of the data entered remain your responsibility, as does assessing whether the regulation applies to your products. This guide does not constitute legal advice.
What the GPSR requires
For online sales, Regulation (EU) 2023/988 requires every offer to clearly display, before purchase:
- the manufacturer: name, postal address and electronic address;
- the responsible person established in the EU (Article 16) when the manufacturer is established outside the Union: name, postal address and electronic address;
- the warnings and safety information in the language of the targeted country.
DfGpsr SW covers these three requirements, plus a list of safety documents (manuals, safety data sheets, certificates) and a hide switch for items outside the scope of the regulation.
Installation
- Download the
DfGpsr-v1.0.0.ziparchive from your DataFirefly account. - Copy the extracted
DfGpsrfolder into your Shopwarecustom/plugins/, or install the ZIP via Administration → Extensions → My extensions → Upload extension. - Install and activate:
bin/console plugin:refresh bin/console plugin:install --activate DfGpsr bin/console cache:clear - On installation, the plugin creates its
df_gpsrcustom field set on the product entity. On uninstall without keeping data, this field set and all its values are removed.
Compatible with Shopware 6.5.x, 6.6.x and 6.7.x on a single codebase. No storefront or administration build is required, and the plugin adds no Composer dependency. This is what guarantees identical installation across all three versions, including the new 6.7 administration.
Global configuration (fallback values)
Open Extensions → My extensions → DataFirefly GPSR Compliance → ⋯ → Configure. The configuration is organised into cards:
- General: enable the block display, show or hide the section title, and an option to force display even with no data (reserved for theming/debugging).
- Default manufacturer: name, postal address and email used when a product does not define its own manufacturer.
- Default EU responsible person: name, postal address and email.
- Default safety texts: generic warnings and safety information.
All these values are configurable per sales channel through Shopware’s native selector at the top of the configuration. Select a channel to assign channel-specific values, or leave “All sales channels” for shared values.
If you sell your own brand, fill in the manufacturer once in the global configuration: the whole catalogue is covered without touching any product. The per-product fields then only serve for exceptions.
Filling in a product
Open a product in Catalogues → Products, then the Specifications → Custom fields tab. The GPSR — Product safety group contains the following fields:
- Hide GPSR information for this product: switch to enable for items outside the scope of the regulation.
- Manufacturer: name, postal address, email address.
- EU responsible person: name, postal address, email address.
- Warnings and Safety information: rich-text editors.
- Safety documents: one per line, in
Label|URLformat or simply a URL.
The resolution rule is simple: for each field, the plugin uses the product value if set, otherwise it falls back to the sales channel default. The “Documents” field has no global fallback — it is specific to each product.
Safety documents format
Enter one document per line. Two formats are accepted:
User manual|https://example.com/manual.pdf
Safety data sheet|https://example.com/sds.pdf
https://example.com/certificate.pdf
With the Label|URL format, the label becomes the clickable text; a URL on its own is displayed as is. All links open in a new tab.
Translation
The fields are standard Shopware custom fields: they are translated per product through the admin language switcher at the top of the product page. Enter, for example, the warnings in French for the FR language, then switch to DE to enter the German version.
The storefront block labels (“Product safety” title, “Manufacturer”, “Responsible person in the EU”, etc.) ship natively in five languages: English, French, German, Spanish and Italian. They display automatically according to the sales channel language, with no configuration.
Remember to provide your warnings in the language of each targeted country: the GPSR requires safety information to be understandable by the consumer of the target market.
Storefront display
The GPSR block is injected automatically on the product detail page, right after the description, into the Twig block page_product_detail_description_content_text. It presents the manufacturer and the responsible person side by side, then the warnings, the safety information and the list of documents. The block hides itself automatically when no data is available — neither on the product nor in the global configuration.
Customising the template
The display component lives in views/storefront/component/df-gpsr/gpsr-info.html.twig and is injected via views/storefront/page/product-detail/description.html.twig. To move the block or change its rendering, override either of these two files in your theme. The base styling is inline and deliberately neutral, easy to replace with your own classes.
FAQ and troubleshooting
Does the GPSR apply to my shop? If you sell non-food consumer products to customers located in the EU, most likely yes. The regulation has applied since 13 December 2024 to most products, including those sold online and imported from third countries.
The block does not display. Check that the “enable display” option is ticked in the configuration, that the product or the global configuration contains at least one value, and that the “Hide” switch is not enabled on the product. Clear the cache after any configuration change.
The block displays but is empty. This is probably the “display even with no data” option left active: disable it to return to the normal behaviour (automatic hiding).
My custom fields render as a plain text field in the 6.7 admin. The custom field component mapping evolved with the Meteor administration. If an address field renders as a simple input instead of a text area, this is only an admin display detail with no impact on the storefront; report it to support for an adjustment.
The default values do not apply. Check that you have filled in the configuration for the right sales channel. A value set on “All sales channels” is overridden by a channel-specific value if one exists.
What happens on uninstall? With the data-deletion option, the df_gpsr field set and all values entered on products are removed. Without it, the data is kept for a later reinstall.