Omnibus guide

The 30-day lowest price, explained for WooCommerce shops

A plain-language summary of the EU rule on price reductions, the court ruling that changed discount badges, and the differences between countries. Last checked: October 2026.

This guide is general information, not legal advice. Laws and their interpretation change; check the official texts linked below or ask a lawyer for your specific case.

What the rule says

Article 6a of Directive 98/6/EC, added by the "Omnibus" Directive (EU) 2019/2161, applies across the EU. Member states had to apply it from 28 May 2022; some, such as Poland and the Netherlands, did so from 1 January 2023. Whenever a shop announces a price reduction to consumers, it must show the prior price: the lowest price it applied during a period of at least 30 days before the reduction.

The rule covers any announcement of a reduction: a crossed-out price, a percentage, a "Sale" label or a "was / now" comparison. It does not cover comparisons with a recommended retail price or a competitor's price, as long as they are clearly presented as such.

What changed with the Aldi Süd ruling

On 26 September 2024 the Court of Justice of the EU decided case C-330/23 (Aldi Süd). It is not enough to show the 30-day price somewhere next to the offer: a percentage discount or any claim that highlights the saving must be calculated from that 30-day lowest price.

For a WooCommerce shop this means: the crossed-out price and the "–20%" badge must both be based on the lowest price of the previous 30 days. If you raised the regular price before the sale, the WooCommerce default display is no longer compliant.

A worked example

A bag sold for €59.00 most of the year. Ten days before a sale it was briefly €49.99, then back to €59.00. The sale price is €39.99.

The prior price is €49.99, because it is the lowest price of the 30 days before the reduction. The shop must show €49.99 as the reference, and the badge must say –20% (from €49.99), not –32% (from €59.00).

Special cases the law allows

Progressive reductions: in most countries, if a price is lowered in several steps during one uninterrupted campaign, the reference stays the price before the first step. Poland and Spain did not adopt this option, and Belgium and the Netherlands set time limits.

New products: for goods on sale for less than 30 days, several countries allow a shorter period. Italy and the Netherlands require the shop to state the actual number of days.

Perishable goods: most countries exempt goods that are about to spoil or expire, or set a different rule for them. Products like these can be excluded one by one in Cartnorm.

Rules by country

How 13 EU countries applied the rule, as implemented in Cartnorm's country profiles.

CountryFurther reductionsNew products
PolandEach one gets a new reference priceLowest price since first offered
SpainEach one gets a new reference priceNo prior price for items sold for the first time
BelgiumProgressive, up to 30 daysLowest price of the previous 7 days
NetherlandsProgressive, up to 3 monthsShorter period, stated in the notice
ItalyOne campaign keeps its referenceReal number of days stated
Germany, Austria, France, Czechia, Sweden, Portugal, Ireland, RomaniaOne campaign keeps its referenceLowest price since first offered

Enforcement examples

How to comply in WooCommerce

WooCommerce does not keep a price history, so it cannot know the lowest price of the last 30 days. You need a plugin that records every price change from now on and calculates the reference correctly, including for variations and scheduled sales.

Cartnorm does this for free. It also handles the country rules above and hides badges for reductions that are not genuine.

Install free from WordPress.org

Official sources