Lowest price of the last 30 days displayed on a PrestaShop product page
Conversion and UX

Omnibus Directive: displaying the lowest price of the last 30 days on PrestaShop

Since the Omnibus Directive came into force, any price reduction announcement must state the lowest prior price applied during the last thirty days. Not the catalog price, not the recommended price, not the pre-promotion price: the lowest actually applied over that period.

The rule looks simple. Implementing it requires a piece of data most stores do not keep.

What the text says

European Directive 2019/2161 has been transposed into the national law of every member state, with the same core principle everywhere: when a trader announces a price reduction, they must indicate the prior price, defined as the lowest price they applied to all consumers during the thirty days preceding the application of the reduction.

Two clarifications matter. The reference price is specific to your store, it is not a market price or a manufacturer’s recommended price. And it is calculated with respect to all consumers, which excludes prices reserved for a restricted group.

What counts as a price reduction announcement

The scope is broader than people think, and that is where most breaches sit.

Covered: a crossed-out price next to the current price, a displayed discount percentage, a savings amount, a mention such as slashed price, promotion or special offer, as soon as it suggests a drop compared with a prior price.

Not covered: a permanent low price with no reference to a prior price, a comparison with a manufacturer’s recommended price provided it is clearly identified as such and not presented as your usual price, and personalised, non-generalised loyalty offers.

The most frequent grey area is badges. Displaying “great deal” or “offer” on a product page, without a crossed-out price, still suggests a reduction. Prudence dictates treating these mentions as price reduction announcements.

Omnibus Directive Compliance (Lowest Prior Price) for PrestaShopOmnibus Directive, automatic compliance79.00

Calculating the reference price

Four questions come up in practice, and not all of them have an obvious answer.

At what granularity? Per sellable product, therefore per combination when combinations have different prices. An XL size sold at a higher price has its own history.

Which prices count? All prices applied to all consumers, including previous promotions, flash sales and prices resulting from cart rules applied automatically. A promo code typed in manually by the customer is a more debatable case, but a code distributed publicly to everyone does enter the calculation.

What about group prices? A rate reserved for members of a restricted loyalty programme does not lower the general reference price. A rate applied automatically to all visitors does.

Over exactly which period? The thirty days preceding the application of the reduction, not a rolling thirty days during the operation.

The exceptions

Three situations fall outside the general regime.

Perishable goods. Products liable to deteriorate or expire rapidly escape the obligation, which typically targets fresh and ultra-fresh food.

Products on sale for less than thirty days. You cannot display a history that does not exist. The usual practice is to state the reference price over the period actually elapsed since the product went on sale, and to say so.

Progressive reductions. When a reduction increases continuously and without interruption, as during seasonal sales, the reference price may remain the one applied before the first drop. This is what allows an increasing discount to be displayed throughout a sales period without the first markdown becoming the new reference.

This last exception is valuable and often overlooked. It requires the drops to follow one another without a return to full price between two markdowns.

Price history, the real difficulty

PrestaShop does not keep a price history. When you modify a specific price, the old one disappears. Without a history, you can neither calculate the reference price nor justify it during an inspection.

What the history must record: the date and time of the change, the product and combination concerned, the price applied, and its origin, base price, specific price or cart rule.

Important point: start now. A history built today gives you a usable reference price in thirty days. A history you start the day before the sales will be of no use to you.

The display

The mention must be legible and close to the promotional price. A common wording: “Lowest price applied during the last 30 days: 49.90 euros.”

Three precautions. The displayed reference price must be the calculated one, not the usual crossed-out price: the two differ as soon as a promotion has taken place recently. The mention must appear everywhere the reduction is announced, including in category listings and highlight blocks, not only on the product page. And the displayed percentage must be calculated from the reference price, otherwise it is wrong.

Inspections and penalties

A breach falls under misleading commercial practices. Inspections by national consumer protection authorities on this point are regular, and particularly intense during seasonal sales and Black Friday.

The inspection is simple to carry out: the inspector records the prices displayed on several dates and compares them with what the store announces as the reference price. A store without a price history cannot defend itself, even in good faith.

The Omnibus Directive Compliance module handles this point on PrestaShop 8 and 9: automatic price history per product and per combination, calculation of the lowest price over thirty days, display of the mention on the product page and in listings, and management of progressive reductions during sales.

Keep reading

Related articles