← PriceProof User guide · PriceProof: EU Omnibus

PriceProof: EU Omnibus

Records your prices continuously and displays the prior 30-day lowest price behind a discount — computed under the EU member-state rule you pick, with discount-mismatch detection (CJEU C-330/23) and an evidence CSV. A display and record-keeping tool, not legal advice.

1 · What it does

When you announce a price reduction in the EU, Directive 98/6/EC Art. 6a requires you to show the lowest price you applied in the 30 days before the reduction. This app records your prices continuously, computes that reference per variant under the member-state rule you pick, and a theme block renders the badge on your product pages. It also flags when an advertised discount % is bigger than the 30-day low supports (CJEU C-330/23), and exports the raw history as audit evidence.

It never invents a price: if history can't substantiate a prior price, the badge stays hidden — that honesty is your defence, not a bug.

2 · Getting started

1
Install. The app records a snapshot of your catalog at install (first 1,000 products per pass). Your price history starts on day 0 — nothing to enter.
2
Pick your member state (§3) — this drives the calculation and the shopper-facing label.
3
Add the theme block to your product template (§5).
4
Watch the “Day N of 30” counter on the app home fill up.

3 · Pick your member state

The “Member-state rule” card offers the seven encoded countries — each written from its national law: Germany (PAngV §11), Poland, Netherlands, Denmark, Finland, Spain, Italy. Selecting one sets the reference window, the shopper-facing label (in the statutory wording, e.g. “Niedrigster Preis der letzten 30 Tage”), and the new-product and progressive-discount handling. There is no generic fallback.

On the Free plan the Germany preset is used; the other country presets are part of the paid plan.

4 · Nothing to enter — automatic

There is no manual price entry. Prices are recorded at install, at every price change (Shopify webhook on save), at a daily automatic snapshot, and via “Record snapshot now”. Discount codes and personalised prices never count — only your publicly applied selling price, which matches the law.

The badge appears only when a variant is currently discounted (compare-at above price) and history substantiates a prior price under your country rule.

5 · Show it on the storefront

On the app home, the “Show the badge on your storefront” checklist → open the theme editor, add the “EU Omnibus prior price” app block inside the product information section (just below the price), and Save.

What appears

  • When ready: “Lowest price in the last 30 days: <amount>” in your shop's money format.
  • While history is still building (or on a just-discounted product): an honest line — “Price history is being recorded to verify this reduction.” — so a discounted product is never blank.
  • On a full-price product: nothing (expected).

During a promotion the reference stays anchored to the price before the reduction — daily sale prices don't drag the “30-day low” down to the sale price.

6 · Dashboard & mismatch flags

The app home lists your recently updated products with each variant's badge state — e.g. Collecting history, Prior price active, Discount overstated. A “% off (shown / vs prior low)” column makes the C-330/23 arithmetic visible per row.

When an advertised discount is bigger than the 30-day low supports, a banner appears — “N variant(s) advertise a bigger discount than the 30-day low supports” — with a one-click filter to the flagged variants. Removing the discount removes the flag. Reviewing and adjusting prices is your decision as the trader. (Mismatch flags are a paid-plan feature.)

7 · Plans

PlanWhat you get
FreeThe badge on your first 50 products, Germany preset.
Paid — $6.99/moUnlimited products, all seven country presets, discount-mismatch flags, and the evidence CSV export.

Price history records for your whole catalog on every plan, so upgrading activates the rest instantly — no new 30-day wait. Plan changes open Shopify's own pricing page.

8 · Commonly confusing (read this)

  1. The badge takes time to appear. History counts from today, not from when you add the block. Depending on the country rule the badge can appear from day 2 (DE/PL/NL/IT) or only after 30 days (DK/FI/ES). A promotion already running before install won't get a badge — start cleanly with your next reduction.
  2. “I can't pick my country” on the Free plan. Free uses the Germany preset; the other six presets are a paid feature.
  3. Nothing on the storefront usually means the block isn't placed yet (the app can't see your theme), the product isn't discounted, or history is still building — not a fault.