Skip to content
Guide

The Complete Omnibus Directive Guide for PrestaShop Merchants (2026)

Omnibus Directive

If you run a PrestaShop store that sells to consumers anywhere in the European Union, the Omnibus Directive is one of the most consequential pieces of e-commerce law you will ever configure your shop around. It reshapes how you advertise discounts, how you present customer reviews, how you order search results, and what you must disclose before a shopper clicks “buy”. This guide explains every relevant rule in plain British English, gives you worked examples of compliant and non-compliant price displays, and maps each obligation onto concrete PrestaShop settings and modules. It is long by design: bookmark it, and work through the checklist section by section.

Throughout, we link to deeper explainers on this site — for example our overview of the Omnibus law, the Germany implementation guide, and focused FAQs on the 30-day rule and reference prices. Use those where you want to drill down.

What “Omnibus” actually is

The “Omnibus Directive” is the informal name for Directive (EU) 2019/2161, formally titled the directive on the better enforcement and modernisation of Union consumer protection rules. The word “omnibus” is apt: rather than being a single free-standing law, it is a bundle that amends four existing consumer directives at once. Understanding which parent directive each rule lives in helps you understand how it is enforced nationally, because each Member State transposes these directives into its own statutes.

The four amended directives are: the Unfair Contract Terms Directive (93/13/EEC), the Price Indication Directive (98/6/EC), the Unfair Commercial Practices Directive (2005/29/EC, the “UCPD”), and the Consumer Rights Directive (2011/83/EU, the “CRD”). The Omnibus Directive applies from 28 May 2022. If your shop has not been reviewed against it since then, you are almost certainly carrying compliance risk on at least one of the points below.

Timeline and the four amended directives

The table below summarises the bundle. Note that the single most operationally demanding change for typical PrestaShop merchants — the prior-price rule — sits inside the Price Indication Directive, while the rules on reviews, ranking, personalised pricing and marketplaces sit inside the UCPD and CRD.

Amended directiveShort nameWhat Omnibus changed (for online shops)
93/13/EECUnfair Contract TermsStrengthened penalty regime for unfair terms in consumer contracts.
98/6/ECPrice IndicationNew Article 6a: the 30-day lowest prior-price rule for any announcement of a price reduction.
2005/29/ECUCPD (unfair practices)Review transparency, fake-review ban, ranking transparency, personalised-pricing disclosure, marketplace rules.
2011/83/EUCRD (consumer rights)Extended pre-contract information duties, digital services and content, marketplace trader/non-trader disclosure.

Key dates to remember: the directive itself is dated 2019, but the date it applies from is 28 May 2022. Enforcement and transposition into national law happened around that date, and national regulators have been actively pursuing non-compliant traders since. There is no grace period left; 28 May 2022 is firmly in the past.

The 30-day lowest prior-price rule in depth

Omnibus Price-Reduction Checker

Check whether a “was / now” price reduction meets the Omnibus 30-day prior-price rule. Enter your figures below — nothing you type leaves your browser.

The lowest price applied in the 30 days before this reduction.

Educational tool, not legal advice. Special cases (goods likely to deteriorate, and gradually increasing reductions in one campaign) follow specific rules — see the guide.

This is the rule that catches most merchants. The new Article 6a of the Price Indication Directive states that any announcement of a price reduction must indicate the “prior price”, and that the prior price means the lowest price the trader applied during a period of at least 30 days before the reduction. This deliberately stops the oldest trick in retail: quietly inflating the “was” price the week before a sale so the “now” price looks like a bargain.

Read that carefully: the reference figure you strike through is not your normal selling price, your recommended retail price, or the highest price you have ever charged. It is the lowest price at which the product was actually on sale in the 30 days immediately before the discount began. See our reference price glossary entry and detailed FAQ for the precise definition.

Why “at least 30 days”? The window is designed to be long enough that a merchant cannot game it with a brief, token price bump. It stops the practice of raising a price for a day or two so that a subsequent “discount” looks generous against a figure the shopper never realistically had to pay. The word “applied” also matters: the prior price is a price you genuinely charged and offered, not a theoretical list price sitting in a database that no customer ever paid. If a product was newly listed and has been on sale for fewer than 30 days, you work with the actual selling history you have — but you cannot invent a higher anchor to make the reduction look bigger.

The obligation is also about evidence, not merely display. If a regulator or competitor challenges a “was” price, the burden falls on you to demonstrate the figure was truly the lowest price applied across the relevant window. That means you need a durable, timestamped record of your price changes. A verbal assurance that “we always sell it for that” will not survive scrutiny if your own price-change logs say otherwise. We return to how PrestaShop can capture this history in the implementation section below.

Worked example 1 — simple was/now

A jacket sold at €100 for the whole of the last 30 days. On 1 June you cut it to €80 and advertise “was €100, now €80”. This is compliant: €100 was genuinely the lowest price in the prior 30 days, so it is a valid prior price to strike through.

Worked example 2 — the inflate-then-discount trap

The same jacket sold at €80 for most of May. On 20 May you raised it to €100, and on 1 June you advertise “was €100, now €80 — 20% off”. This is non-compliant. The lowest price in the 30 days before 1 June was €80, so €80 is the prior price. There is, in reality, no reduction to announce at all, and striking through €100 misleads the consumer.

Worked example 3 — percentage-off wording

The rule applies to how the reduction is expressed, not just to the “was/now” format. “20% off”, “Save €20”, “Half price”, and a strikethrough graphic are all announcements of a price reduction. If you display “20% off” you must base that percentage on the lowest prior 30-day price. Advertising “20% off” against an artificially high anchor is the same infringement dressed differently.

Worked example 4 — progressive / gradual reductions

You run a staged clearance: a product at €200 goes to €180 on day 1, €160 on day 8, and €140 on day 15, each step advertised as a further reduction. For a progressively increasing price reduction, the prior price is the lowest price before the first reduction was applied — here, €200 (assuming €200 was itself the lowest price in the 30 days before the campaign started). You may keep showing €200 as the reference throughout the escalating campaign rather than re-basing it at each step. Note that Member States have a national option to allow this treatment for gradual price-cut campaigns, so check the local rule where you sell.

Worked example 5 — price that went up then down

Over 30 days a product was €50 (days 1–10), €60 (days 11–20), then €55 (days 21–30). Today you cut it to €45 and announce a reduction. The prior price is the lowest across the whole ≥30-day window, which is €50 — not the most recent €55, and not the peak €60. You must strike through €50, not €55.

Worked example 6 — goods liable to deteriorate or expire

For products that deteriorate or expire quickly — fresh food, short-dated stock — Member States may provide a national derogation from the 30-day rule. Where that option is in force, a same-day “reduced to clear” sticker on a product approaching its use-by date need not reference a 30-day-old price. Do not assume this applies: it is a national option, so confirm it exists in the country you are selling into before relying on it.

Rule of thumb: whenever a shopper sees a struck-through price, a percentage, or the word “sale”, ask “was this the lowest price we actually charged in the last 30 days?” If not, the display is likely non-compliant.

Announcement of a reduction vs RRP and competitor comparisons

Article 6a bites only on announcements of a price reduction — that is, comparisons against the trader’s own previous price. It does not govern other kinds of price comparison, such as:

  • A comparison with the recommended retail price (RRP) set by a manufacturer.
  • A comparison with a competitor’s price.
  • A statement of a general “reference” market price that is not your own prior price.

Important caveat: these comparisons are not free of regulation. They remain fully subject to the UCPD, which prohibits misleading commercial practices. So an “RRP €200, our price €120” claim is fine only if the RRP is genuine and not a phantom figure nobody charges. The practical distinction is: the 30-day prior-price mechanics apply to your-own-price reductions; the general fairness test of the UCPD applies to everything else. Presenting an RRP as if it were your own struck-through prior price is where merchants get into trouble, because it blurs the two regimes.

Loyalty prices and personalised discounts — the nuance

This area causes real confusion, so read it slowly. The 30-day rule targets price reductions announced to the general public. Individualised discounts that are not announcements of a price reduction to the public at large are treated differently.

  • General public sale (e.g. a site-wide “Summer Sale -20%”): the 30-day prior-price rule applies to the struck-through reference.
  • Genuinely individual, personalised discount (e.g. a one-off voucher tied to a specific customer’s account, or a truly individual loyalty price): this is generally not an “announcement of a price reduction” to the public, so the mechanical 30-day reference-price obligation is not engaged in the same way.

The danger zone is a “loyalty price” that is, in substance, a general public reduction wearing a loyalty badge — for example, a discount that every visitor can obtain simply by joining a free scheme at checkout. Regulators tend to look at reality over labels: if the reduced price is effectively available to everyone, it will be treated as a public price reduction and the 30-day rule applies. Reserve the “personalised” treatment for discounts that are genuinely individual and not open to the general public. When in doubt, apply the 30-day reference price — it is the safer default.

A useful test is to ask: who can obtain this price, and how easily? A discount code emailed to a single customer to resolve a complaint is genuinely individual. A standing “members save 15%” banner that anyone can unlock in seconds by ticking a box is, for practical purposes, a public sale. Between those extremes sit real loyalty tiers earned over time; the closer a scheme is to “open to all on demand”, the more likely the 30-day rule bites. Because the consequences of getting this wrong are the same as any other mispriced discount, we recommend documenting your reasoning for any programme you decide sits outside the rule, so you can explain it if challenged.

Consumer-review transparency and the fake-review ban

The Omnibus Directive added strict rules under the UCPD covering consumer reviews, because fake and unverified reviews distort purchasing decisions. There are two connected obligations.

First, transparency about provenance. If you provide access to consumer reviews of products, you must state whether and how you ensure the reviews come from consumers who actually used or purchased the product. You do not necessarily have to verify every review, but you must be honest about what you do — and if you say nothing, you leave a gap regulators can point to.

Second, the fake-review ban. Two specific practices are blacklisted (automatically unfair, no case-by-case assessment needed): stating that reviews are submitted by genuine consumers without taking reasonable and proportionate steps to check that they are, and submitting or commissioning fake reviews or endorsements, including paying for or writing them yourself. See our fake reviews FAQ for more.

What “reasonable and proportionate steps” looks like

  • Only invite reviews from customers who have a verified order for that product (a “verified purchase” flag).
  • Publish a clear, accessible statement explaining how reviews are collected and whether they are verified.
  • Display all genuine reviews, not just the positive ones, and do not suppress or edit negative feedback selectively.
  • Have a process to detect and remove reviews you know or suspect are fake.
  • Never write, buy, incentivise or commission reviews or endorsements.

Ranking transparency and labelling paid placement

When you present offers in response to a consumer’s search query, you must disclose the main parameters determining the ranking of those results and their relative importance. In plain terms: if a shopper searches your catalogue and gets an ordered list, they are entitled to understand, in general terms, why products appear in that order — for example price, popularity, relevance, stock, or margin.

You do not have to reveal the exact algorithm or trade secrets, but you must give a meaningful, general description of the main ranking factors. In addition, any paid advertising or payment for higher ranking must be clearly identified. If a supplier pays to appear higher in your results, that placement must be labelled (for example “Sponsored” or “Ad”). Silent pay-for-placement is a prohibited practice.

In practice, this information is usually delivered through a short, plainly written “How our search results are ordered” page, linked from near the search bar or results list. You do not need to quantify each factor to the decimal, but the description must be honest and reflect what actually drives the order. If margin or your own stock-clearance priorities influence the ranking, that is legitimate — but you should not describe the results as ordered purely by “relevance” when commercial factors are in play. The relative importance of the factors matters too: telling a shopper that results are ranked by “relevance, price and popularity” is more useful, and more defensible, if you indicate which of those weighs most heavily.

Personalised pricing disclosure

If you personalise the price shown to an individual consumer on the basis of automated decision-making or profiling — for example adjusting the price based on their browsing history, device, or purchase behaviour — you must inform the consumer that the price has been personalised, before the contract is concluded. This is a transparency duty, not a prohibition: dynamic and personalised pricing is not banned, but hiding it is.

Note the boundary: general dynamic pricing that applies to all customers (such as time-based or demand-based price changes that everyone sees equally) is not “personalised pricing” in this sense. The disclosure duty is triggered specifically when the price is tailored to the individual through profiling.

Online-marketplace trader/non-trader disclosure

If your PrestaShop operates as an online marketplace — that is, it lets third parties offer their goods or services to consumers through your platform — additional CRD duties apply. Before the consumer is bound, you must:

  • Tell the consumer whether the third party offering the goods is a trader or not, based on that third party’s own declaration to you.
  • Explain the consequences for consumer rights — critically, that EU consumer protection law (withdrawal rights, guarantees) does not apply where the seller is a non-trader (a private individual).
  • Disclose how obligations relating to the contract are split between the third-party seller and the marketplace.

Most single-brand PrestaShop stores are not marketplaces and can skip this section. It matters if you run a multi-vendor setup where independent sellers list their own products.

Digital services, digital content and CRD extras

The CRD updates extended information duties to digital services and digital content. Two points matter most for merchants who sell downloads, subscriptions, or online services:

  • You owe extended pre-contract information for digital content and services (functionality, compatibility, interoperability where relevant).
  • The right of withdrawal was extended to cover certain “free” digital services where the consumer pays not with money but by providing personal data. “Free” in exchange for data is not outside consumer law.

If you sell physical goods only, these are lower priority — but if you offer memberships, SaaS, or digital downloads through PrestaShop, review your pre-contract disclosures and withdrawal-right handling.

Penalties and the CPC widespread-infringement regime

Omnibus put real financial teeth behind these rules. Everyday, ordinary national penalties are set by each Member State and vary widely. But for the most serious cases — widespread infringements and widespread infringements with a Union dimension, coordinated under the CPC (Consumer Protection Cooperation) Regulation — Member States must provide for fines with a maximum of at least 4% of the trader’s annual turnover in the Member State(s) concerned. Where turnover information is unavailable, the maximum fine must be at least €2 million.

ScenarioPenalty basis
Ordinary national infringementSet by the Member State (varies by country and severity).
Widespread infringement / Union dimension (CPC)Max fine of at least 4% of annual turnover in the affected Member State(s).
Widespread / Union dimension, turnover unavailableMax fine of at least €2 million.

The 4% figure is a maximum that Member States must at least make available, not a flat fine everyone pays. But it signals how seriously the EU treats these practices, and it means a systematic pattern of fake “sale” prices across a large customer base is no longer a trivial risk.

It is worth understanding the mechanics that lead to the higher tier. Where the same infringement affects consumers in several Member States, the CPC framework lets national authorities coordinate a joint response rather than acting in isolation. An issue that might have been a minor local matter can escalate into a coordinated action with the 4%-of-turnover ceiling in view precisely because your shop sells cross-border. For a PrestaShop merchant using multi-store to serve, say, France, Germany and the Netherlands from one catalogue, a single mis-configured discount template can therefore create exposure in three markets at once. The lesson is not to panic about the maximum, but to recognise that systematic, template-driven errors scale your risk in a way that a one-off mistake does not.

Enforcement examples and risk

National consumer authorities and competitors (via unfair-competition actions in some jurisdictions) actively police these rules. The most common enforcement triggers we see are:

  • Permanent “sale” prices where the “was” figure was never genuinely charged for a sustained period.
  • Countdown timers and “only 2 left” claims that reset or are untrue (a separate UCPD issue that often travels alongside Omnibus breaches).
  • Review widgets claiming “verified” or “genuine” reviews with no verification behind them.
  • Unlabelled sponsored placements in search results.

The reputational cost often exceeds the fine. A public regulator finding that your “discounts” are fake damages trust in ways a price adjustment cannot quickly repair.

Country nuances

Because Omnibus is a directive, the detail lives in national transposition. The 30-day rule, national derogations (deteriorating goods, gradual campaigns), and penalty levels can differ across markets. If you sell cross-border, you must comply with the rules of each destination country, not just your home market.

Germany is the market most PrestaShop merchants ask about, partly because German unfair-competition law is enforced vigorously by competitors and associations, not only by regulators. Germany implements the price-indication rules through the Preisangabenverordnung (PAngV). See our dedicated Omnibus Germany guide and Germany country page for specifics. If Germany is a meaningful market for you, treat its requirements as your compliance baseline. Also note the related GPSR obligations, which often land on the same product pages.

Step-by-step Omnibus compliance checklist

  • For every discounted product, confirm the struck-through “prior price” equals the lowest price charged in the 30 days before the reduction.
  • Apply the same 30-day basis to “% off” and “save €X” wording, not just was/now displays.
  • For progressive campaigns, anchor to the lowest price before the first reduction (and check the national option applies).
  • Separate RRP/competitor comparisons visually from your-own-price reductions, and ensure any RRP quoted is genuine.
  • Reserve “loyalty/personalised” treatment for genuinely individual discounts, not public sales in disguise.
  • Publish a clear statement of whether and how reviews are verified; only invite reviews from verified purchasers.
  • Never write, buy or commission reviews; remove fakes you detect.
  • Disclose the main ranking parameters for search results and label paid placements.
  • If you personalise prices via profiling, tell the consumer before purchase.
  • If you run a marketplace, disclose trader/non-trader status and the split of obligations.
  • For digital services/content, update pre-contract info and handle withdrawal rights for “data-as-payment” services.
  • Repeat the whole review per destination country you sell into.

PrestaShop implementation notes

Here is where the law meets the software. PrestaShop’s native tools were not designed with the 30-day rule in mind, so you need to configure them deliberately.

Specific prices and the displayed former price

Discounts in PrestaShop are created as “specific prices” (per product, or via catalogue price rules). When you apply a specific price, the theme typically shows the base price struck through as the “former” price. The critical compliance point: PrestaShop’s struck-through figure defaults to the product’s regular base price, which is not automatically the lowest price of the last 30 days. If you have run recent promotions, the true prior price may be lower than the base price, and showing the higher base price is non-compliant. You must either adjust the displayed reference to the genuine 30-day low, or use a module that computes and displays it for you.

Tracking the 30-day low

  • Keep a price history per product so you can prove the lowest price over any 30-day window (many Omnibus modules for PrestaShop add exactly this).
  • Ensure the displayed reference price is driven by that history, not by the static base price.
  • Retain the records — being able to evidence the prior price is as important as displaying it.

Review modules

Whichever product-review module you use, configure it to collect reviews only from verified purchasers where possible, and add a visible statement describing your verification approach. Turn off any setting that silently hides negative reviews, and never enable “seed” or sample reviews.

Search and ranking modules

If you use a search or faceted-navigation module that ranks results, publish a short explanation of the main ranking factors (relevance, sales, price, availability). If any module supports sponsored/promoted product slots, ensure those slots are clearly labelled as advertising.

Multi-store and multi-currency considerations

PrestaShop’s multi-store feature lets one installation serve several countries. Because Omnibus detail is national, the 30-day price history, the applicable derogations, and the reference-price display should be evaluated per store/country. With multi-currency, make sure the prior price is tracked and displayed in the same currency the consumer sees, so the strike-through figure is a like-for-like comparison rather than a converted approximation.

Common mistakes

  • Striking through the base price instead of the genuine 30-day low.
  • Running a “permanent sale” so the reference price is effectively fictional.
  • Applying “% off” to an RRP while presenting it as your own prior price.
  • Labelling a universally available discount as a “loyalty” price to dodge the rule.
  • Claiming “verified reviews” with no verification behind the claim.
  • Failing to keep price-history evidence to defend a challenged display.
  • Assuming a national derogation (fresh goods, gradual campaigns) applies everywhere.

Mini-FAQ

Does the 30-day rule apply to every discount?

It applies to any announcement of a price reduction to the public — was/now, “% off”, “sale”, strikethroughs. It does not apply to RRP or competitor comparisons (which remain subject to the general UCPD fairness test), nor in the same mechanical way to genuinely individual personalised discounts. See our 30-day rule FAQ.

Can I show the manufacturer’s RRP as the “was” price?

Not as your own prior price in an announcement of a reduction — that would be misleading. You may compare against a genuine RRP, but present it clearly as an RRP, not as a struck-through price you previously charged.

Do I have to verify every single review?

No. You must be honest about whether and how you check that reviews come from real purchasers, and you must take reasonable and proportionate steps if you claim reviews are genuine. Verifying purchase before inviting a review is a strong, practical approach.

What is the maximum fine?

For coordinated widespread infringements under the CPC Regulation, Member States must make available a maximum fine of at least 4% of annual turnover in the affected Member State(s), or at least €2 million where turnover data is unavailable. Ordinary national penalties are set separately by each country.

Is Germany stricter than other EU countries?

In practice German price-indication rules (the PAngV) are enforced very actively, including by competitors and consumer associations, so many merchants treat Germany as their strictest benchmark. Read our Germany guide before selling there.

Bringing it together

The Omnibus Directive is not one rule but a bundle of them, and the practical burden for most PrestaShop merchants concentrates on the 30-day prior-price rule, honest reviews, and transparent ranking. Configure your specific prices and price history so the reference figure is always the genuine 30-day low, verify your reviews, label your ads, and repeat the exercise for every country you sell into. Do that, keep your evidence, and you convert a compliance headache into a durable trust advantage. Start with the Omnibus overview and work outward from there.

This guide is provided for educational purposes only and does not constitute legal advice. Consumer law is implemented differently across EU Member States and changes over time. You should consult a qualified lawyer in the relevant jurisdiction before making compliance decisions for your business.

Official reference: https://eur-lex.europa.eu/eli/dir/2019/2161/oj