3 min readOct 16, 2026by jakub

GPSR Compliance

The General Product Safety Regulation asks an online listing aimed at EU consumers to identify the product's manufacturer, the person responsible for it inside the EU when the manufacturer is established outside it, and the safety information a buyer needs before purchasing. This extension lets you record that once per manufacturer and shows it on every product that manufacturer makes, so a catalogue of two thousand products from forty manufacturers needs forty records, not two thousand edits.

Latest version: 1.2.0 — changelog

Luma product page with the Manufacturer Details tab open: contact information, authorized representative and two attached PDF documents

Who it's for

  • Stores selling to consumers in the EU, the market Regulation (EU) 2023/988 applies to.
  • Stores importing from manufacturers outside the EU, which must also name the responsible person inside the EU; the record has a field for exactly that.
  • Multi-language and multi-store installations. Every storefront heading and the placement are per-store-view settings, and Polish translations ship with the module.
  • Catalogues where many products share a manufacturer. A record binds to one option of a product attribute, so a product joins a manufacturer by carrying that option, not by being edited one at a time.

Why it matters

  • Helps you comply with the regulation's online-listing requirements by putting manufacturer identity, the EU representative and safety documents where the buyer reads before purchasing, on every matching product.
  • Nothing to repeat per product. A manufacturer's details and documents are entered once; any product whose manufacturer attribute matches shows them.
  • Documents customers can open. Declarations of conformity, safety instructions and similar files are attached to the manufacturer and listed with a description. Uploads are checked by extension and content, so only documents and images reach the storefront.
  • It fits your theme. Luma and Hyvä templates ship with the module, rendering inside a product tab or below the description, with every heading editable per store view.

See it in action

Each row is a behaviour the extension's Playwright suite proves on a live store.

You setCustomers see
A manufacturer record for the attribute option Acme Manufacturing, with contact information and an authorized representativeA Manufacturer Details tab on every product whose manufacturer attribute is Acme Manufacturing, showing exactly the text you entered
declaration-of-conformity.pdf attached with the description "EU Declaration of Conformity"A Manufacturer Attachments list under the details, each file a link with its description beneath it
Display Manufacturer Details switched to Below Product DescriptionThe same details in the main product column, outside the product tabs
Display Manufacturer Details switched to NoNo manufacturer details on the product page

The manufacturer form in the admin: the Manufacturer dropdown, the logo uploader and the Contact Information editor

Features

Each row links the walkthrough on the usage page, which is available to clients who own the extension.

FeatureBenefit
Manufacturer recordsEnter a manufacturer's contact details, EU representative, logo and safety documents once, bind the record to a product attribute option, and every product carrying that option shows it
On the storefrontThe details render as a product tab or below the description, on Luma and on Hyvä, under headings you name per store view

Hyvä product page with the Manufacturer Details section and the attachment list

Competing solutions

The right-hand column describes common practice across marketplace extensions, not any particular vendor.

QoliberTypical marketplace extension
GitLab accessFull access to the module's GitLab repository — source, history, issues and merge requestsVaries by vendor
Packagist installationInstalled and updated with Composer from our private Packagist (qoliber.repo.packagist.com)Varies by vendor
Slack access to the development teamA shared Slack channel with the developers who build and maintain the moduleUsually ticket-based
E2E Playwright tests50 Playwright end-to-end tests (9 spec files) on Luma, run before every releaseNot typically published
DocumentationFull docs portal: installation, configuration, a usage walkthrough with screenshots, troubleshooting and a developer guideVaries by vendor

What sets it apart

  • No third-party service. Manufacturer records and documents are stored in your Magento database and media directory and rendered by your own storefront. Nothing leaves the store.
  • Translated. Admin and storefront strings ship in English and Polish, and every storefront heading is a plain setting you can change per store view.

Also available in: Polish.

Good to know

  • One attribute serves the whole installation. The manufacturer attribute is a global setting. A product with no value for it, or whose attribute set does not contain it, shows no details.
  • The module publishes the information; it does not decide what the information must say. Which details and documents a given product needs under the regulation remains your call.
  • Contact and representative fields are HTML. They keep the line breaks and formatting you enter in the editor and are rendered as entered, so treat them as trusted admin input.
  • Documents live in public media. Attached files are served from pub/media, which is why script and executable formats are refused on upload.

Supported versions

The package requires magento/module-eav (any version) and qoliber/core 1.0.6 or newer, which provides the shared Qoliber admin menu. It declares no PHP or Magento version constraint. This release was verified on Mage-OS 2.2.2 with PHP 8.3, on Luma and on Hyvä.

Next steps

GPSR Compliance — Compliance & Legal — Extensions | qoliber Docs