← 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.

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.

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.

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.

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.

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.

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
FreeThe first 5 products show the storefront disclosure.
Basic — $14.99/moEvery product shows the disclosure.
Pro — $29/moBasic, plus the audit CSV export of your entered data.

Plan changes open Shopify's own pricing page, where you approve or decline. To downgrade, choose the Free plan there.

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.
  3. Product 6+ shows nothing on the storefront (Free plan). On Free only the first 5 products render on the storefront, even though the admin may still show them “Display-ready”. Upgrade to Basic to show them all.