← PriceProof User guide · PriceProof: GPSR

PriceProof: GPSR

Helps you display the GPSR (Art. 19) product-safety information you enter — manufacturer identity, the EU Responsible Person, product identification, and safety warnings — in the shopper's EU language. It is a display tool: it does not give legal advice and is not your Responsible Person.

Open in the Shopify App Store →

1 · What it does

Under the EU General Product Safety Regulation (Regulation (EU) 2023/988), distance sales must show, on the product page, who the manufacturer is, an EU Responsible Person when the manufacturer is outside the EU, product identification, and any safety warning — in the buyer's country language where possible.

This app stores the details you enter, works out whether each product has everything its markets need, and a theme block renders that information on your product pages. It never invents or translates data: if a product is missing something, the block simply shows nothing for it.

2 · Getting started (first 10 minutes)

1
Install. On install the app scans your catalog (first 1,000 products per pass) and creates an empty safety record for each, so readiness tracking starts on day 0. You don't have to add products by hand.
2
Set your target EU markets (§3) — this decides which languages a warning is required in.
3
Add your manufacturer(s) and Responsible Person once on the Manufacturers & RP page (§4). They are reusable across products.
4
Fill in each product on the Products page — link a manufacturer, add identification and warnings (§5).
5
Add the theme block to your product template (§6). It appears once a product is complete.

The dashboard's top card — “Product safety readiness” — shows a X / Y display-ready badge and counters (Products / Display-ready / Needs info) so you can see progress at a glance.

The Product safety readiness dashboard card, showing a 2/21 display-ready badge, a progress bar, and the Products / Display-ready / Needs info counters
The dashboard's readiness card on a demo store — 2 of 21 products display-ready.

3 · Set your target EU markets

On the dashboard, the “Target EU markets” card takes the EU countries you sell to. This matters because a product is only “display-ready” when it has a safety warning in each required market's language. Set this before filling products — otherwise a product can look complete but still be short a language.

The Target EU markets card with the ISO codes DE, FR entered and the encoded market list shown underneath
Enter ISO country codes (here DE, FR) and press Save markets.

4 · Enter manufacturers & Responsible Person

Open Manufacturers & RP (button on the dashboard). You enter these once and reuse them on every product.

Manufacturer form

Name / trade name · Address line 1 / Address line 2 · City · Postal code · Country (ISO) · Electronic address (email or URL) · Established in the EU? (Unknown / Yes / No). Then Add manufacturer.
If the manufacturer is outside the EU (“No — outside the EU”), an EU Responsible Person is required — add one below, or the product can't be complete for EU markets.
The Manufacturers page: a saved non-EU manufacturer listed on top, and the Add a manufacturer form with name, address, country and electronic-address fields below
A saved manufacturer (top) and the Add a manufacturer form. Entered once, reused on every product.

EU Responsible Person form

Name · Address line 1/2 · City · Postal code · Country (ISO) · Electronic address. Then Add Responsible Person.

This app displays the Responsible Person you enter — it is not your Responsible Person and does not provide that service.

5 · Fill in each product

Open Products. Edit one product at a time in the “Edit product safety details” card:

Product — pick the product from the dropdown (each option shows its completeness).

Manufacturer — choose one you added in §4. This links the manufacturer to the product — you don't re-type the address.

EU Responsible Person — choose one (required when the manufacturer is outside the EU).

Product type and Identifier (model/SKU).

Picture reference — an image URL or handle.

Safety warnings — multiline, one per line as lang: text. Example:
de: Achtung! Kleinteile.
fr: Attention ! Petites pièces.

Then Save.

Warning format is strict. Each line must start with a language code and a colon (de: …). A line without a leading lang: is silently ignored — so if a warning “won't save”, check the xx: prefix and the colon.
The Edit product safety details card filled in: product picked from the dropdown, manufacturer and EU Responsible Person linked, product type, identifier, picture reference, and two safety-warning lines in German and French
A completed product: manufacturer and RP are linked from §4, warnings entered as de: … / fr: … lines.

6 · Show it on the storefront

The dashboard card “Show the disclosure on your storefront” has an Open theme editor button. Then:

  1. Open your theme editor on a product template.
  2. Add the “GPSR product safety” app block inside the product information section.
  3. Save.

What appears on the product page

Once a product has a manufacturer, the block shows — in the shopper's language when available (falls back de-DE→de→en):

  • a heading (default “Product safety information”),
  • the manufacturer name, address and contact,
  • the EU Responsible Person (only if entered),
  • product identification, and
  • any ⚠ safety warning.
The storefront product page rendering the block: a Product safety information heading, the manufacturer's name, address and email, the EU Responsible Person line, and the product identification
What shoppers see on the product page once the product is display-ready.

In the theme editor you'll see a sample “Example Manufacturer GmbH …” preview so you can place the block. That sample never appears on the live storefront — there it shows only your real data (a product with no data shows nothing).

7 · Check readiness & fix gaps

The dashboard counters and the per-product Display-ready / Needs info badges show where you stand. A product is complete only when every required field is filled and every target market has its warning language.

When you Save an incomplete product, a banner lists exactly what's missing in plain words — e.g. “Manufacturer postal address”, “Product identifier (model or SKU)”, “Safety warning for market DE (language: de)”. If a missing item lives on another screen (manufacturer/RP address or email), the banner links you straight to the Manufacturers & RP page.

8 · Plans

PlanWhat you get
FreeEverything: every product shows the storefront disclosure, and the audit CSV export of your entered data is included.

There is one plan and it is free — no product cap, no locked features, nothing to approve.

9 · Commonly confusing (read this)

  1. “I filled the product form but it still says Needs info.” The manufacturer's address and email live on the Manufacturers & RP page, not the product form. The product only links to them. The save banner now links you to the right page — follow it.
  2. A safety warning “didn't save.” The warning box needs the lang: text format (de: …). Lines without a leading xx: are dropped. Also: a warning only counts if its language is one of your target EU markets — set markets first.