PrestaShop GDPR & Legal

dfomnibus — EU Omnibus Directive Compliance for PrestaShop

Omnibus Directive, automatic compliance

Display the lowest price recorded during the 30 days preceding each promotion. Compliant with the European Omnibus Directive in force across the entire EU since May 28, 2022.

EU Compliance PrestaShop 8 & 9 Multi-shop Multi-currency GDPR-friendly
  • 30-day refund
  • 12 months updates
  • 24h support
www.datafirefly.com/en/
DataFirefly Omnibus Historique Prix
v1.0.0 · updated 2026-05-14
What it does

The short version.

01

Lowest price in 30 days

Automatic display on the product page as soon as a promotion is active, in line with Article 6a of Directive 98/6/EC.

02

Price history captured for you

Daily cron snapshots and event-driven capture on every price or rule change. No manual data entry.

03

30-day chart in vanilla canvas

Lightweight price curve (3 KB), no CDN, no external library, GDPR-friendly. Display as a product tab or inline under the price.

04

Compliance dashboard

Back-office overview: tracked products, cumulative snapshots, last cron run, CSV export of the full history.

The long version

Everything you'd want to know before you install.

A detailed look at how dfomnibus — EU Omnibus Directive Compliance for PrestaShop works, why we built it the way we did, and the thinking behind the features above.

§ 01

Why this module is mandatory in the EU

Since May 28, 2022, European Directive 2019/2161 known as Omnibus requires every online merchant established in the European Union to display, in any announcement of a price reduction, the lowest price recorded during the 30 days preceding the application of that reduction. This obligation applies to all product pages, newsletters, banners and promotional campaigns, under penalty of administrative sanctions that can reach 300,000 euros in France (DGCCRF) or 4 percent of annual turnover.

§ 02

How dfomnibus guarantees your compliance

The module continuously builds the price history of every product, with no manual entry and no intervention from you. On every change of the base price or of a reduction rule (SpecificPrice), a snapshot is recorded. In parallel, a daily cron task captures the complete state of the catalog, which guarantees historical continuity even if some changes have bypassed the hooks. At display time on the storefront, the module compares the current price to the minimum recorded over the last 30 days and automatically inserts the legal notice under the promotional price.

§ 03

Two calculation modes, compliant with the letter and the spirit of the directive

Strict mode applies the strict legal definition: the Omnibus reference price is the lowest price applied during the 30 days preceding the effective start of the current promotion. Conservative mode, recommended by default, extends the window to the trailing 30 days and always picks the value most favorable to the consumer. It is the most defensive interpretation in case of a DGCCRF inspection, and it removes any ambiguity about the start date of the promotion.

§ 04

30-day chart, ultra-light and tracker-free

An optional chart is shown as a product tab or under the price. It is rendered entirely in vanilla JavaScript using a canvas element, with no external dependency (no Chart.js, no D3.js, no third-party CDN). Rendering weighs around 3 kilobytes, lazy-loads via IntersectionObserver, and sets no cookie. No outbound call: GDPR compliance is fully preserved.

§ 05

Dashboard and audit export

The back-office dashboard summarizes at a glance the number of tracked products, the total snapshots recorded, the date of the last cron run, and the list of products with their first and last capture, lowest price, and an active-promotion indicator. A per-product CSV export provides the full timestamped history, ready to be archived or handed to an inspector.

§ 06

Multi-shop, multi-currency, multi-combination

If you run several shops on the same PrestaShop instance, each shop keeps its own history and the module automatically detects the context. Prices are recorded in every active currency, which avoids on-the-fly conversions and guarantees consistency with the amounts displayed. Combination tracking is enabled by a single checkbox: useful for products where each combination has its own price, such as XL sizes with a surcharge.

§ 07

EU restriction and customization

An option restricts display of the compliance notice to visitors from the 27 EU member states, which keeps your product page clean for non-EU markets (Switzerland, United Kingdom, United States). Detection falls back from the delivery address of the logged-in customer to the address of the current cart and finally to the shop default country. Another option hides the notice when the current price already matches the lowest recorded price, in which case the information adds no value for the consumer.

§ 08

Installation and first setup

Installation takes less than five minutes. Upload the ZIP in Modules, Install a module. The module creates its tables, generates a cron token, and registers its hooks. Open the configuration screen: copy the cron URL displayed and schedule a daily call on your server (Unix cron or external scheduler). The first run seeds the history for the entire catalog, and subsequent price changes are captured in real time by the hooks.

§ 09

No bloatware, made for developers

The code follows PrestaShop standards: ObjectModel, ModuleAdminController, official hooks, Db helpers for performant queries. No extra framework is injected. The code is commented, readable, ready to be audited or extended. You can override classes if your business needs require it.