Skip to content
FAQ

The Omnibus 30-day rule explained

Omnibus Directive

The “30-day rule” is the best-known part of the Omnibus Directive. It governs how you must present the “before” price whenever you advertise a discount, and it has applied across the EU since 28 May 2022.

What the rule actually says

Under the amended Article 6a of the Price Indication Directive, any announcement of a price reduction must state the prior price. The prior price is defined as the lowest price the trader applied during at least the 30 days before the reduction. So the “was” figure in a “was / now” display is not the last price you charged, nor a recommended retail price — it is the lowest price that was actually in force at any point in the preceding 30 days.

Worked example: a straightforward sale

A pair of headphones sold at €80 continuously for the last two months. You launch a sale at €60. The lowest price in the previous 30 days was €80, so “was €80, now €60” is correct and compliant. Shoppers see a true saving from a price the product genuinely held.

Worked example: a price that moved around

Now imagine the same headphones were €70 for three weeks, then €80 for one week, and you advertise a sale at €65. The lowest price in the last 30 days was €70, so the prior price you must reference is €70, not €80. The compliant display is “was €70, now €65”. Using €80 would overstate the saving and breach the rule.

Worked example: the “inflate then discount” trap

A classic non-compliant pattern: an item sits at €40 for weeks, you raise it to €60 for two days, then advertise “was €60, now €45”. Because the lowest price in the last 30 days was €40, the honest reference is €40 — and €45 is higher than that. There is no genuine reduction, and presenting €60 as the “was” price is precisely the manipulation the rule was written to stop.

Progressive discounts

For discounts that deepen in stages during one campaign — say 10%, then 20%, then 30% off — the prior price stays fixed to the lowest price applied before the first reduction. You do not re-baseline at each stage. If the pre-sale lowest price was €100, every stage references €100, so the deepest stage shows “was €100, now €70”, not “was €80, now €70”.

What this means in PrestaShop

PrestaShop’s default price display strikes through the base or list price, which may not equal the 30-day lowest. To comply, the “was” figure your theme renders needs to be driven by the lowest price genuinely applied in the previous 30 days — usually via a module or override that stores price history. Review your specific-price and catalogue-price rules so a struck-through figure is never a price shoppers were never charged. The full walkthrough is in the complete Omnibus guide, and the concept itself is defined in our reference-price FAQ.

Educational content, not legal advice. Verify against the official text and your national implementing rules.