Skip to content
Back to the guides
Guide Last checked: October 2026 7 min read

Showing price reductions: the 30-day rule and more

A struck price or a ‘−20 %’ badge needs more than two numbers. This guide explains the 30-day rule for price reductions and the other price details a shop has to show consumers in Germany and Poland: unit price, total price including VAT and shipping costs.

This text is not legal advice
It explains in plain words the rules on showing prices to consumers in Germany and Poland and the EU rule behind them. It describes EU law and German and Polish law; other countries may have different national rules. As of: 30 October 2026. If you are not sure, ask a lawyer or a consumer protection body.

Where the rules come from

The EU rule on price reductions is Article 6a of Directive 98/6/EC. Directive (EU) 2019/2161 added it, and Member States have had to apply it since 28 May 2022. Every announcement of a price reduction has to show the prior price: the lowest price the trader applied during at least 30 days before the reduction. Member States may set their own rules for goods that spoil quickly, for products on the market for less than 30 days and for reductions that grow step by step.

In Germany the rules are in the Price Indication Ordinance (PAngV), in Poland in the act on informing about the prices of goods and services (consolidated text Dz.U. 2023 item 168). The PAngV page on gesetze-im-internet.de notes a change of 19 October 2026 (BGBl. 2026 I No. 314) that is included in the text but not yet fully documented.

The lowest price of the last 30 days

Germany, § 11(1) PAngV: anyone who must state a total price has to show consumers, with every announcement of a price reduction for a good, the lowest total price applied to consumers in the last 30 days before the reduction. For a reduction that rises step by step without a break, the lowest price before the first step may be shown for the whole time (§ 11(2)). The rule does not apply to individual price reductions, or to goods that spoil quickly or expire soon if the price is cut for that reason and this is made clear (§ 11(4)).

Poland, art. 4(2): in every case of informing about a price reduction of a good or service, the lowest price of the 30 days before the reduction is shown next to the reduced price. If the product has been offered for less than 30 days, the lowest price since the start of the offer counts (para. 3). For goods that spoil quickly or have a short shelf life, the price before the first reduction is shown (para. 4). The rules also apply to advertising with a price (para. 5).

Example: which price is the 30-day price?
  1. Days 1–10
    Regular price 24.90 €
  2. Days 11–17
    Short promotion at 19.90 €
  3. Days 18–30
    Back to 24.90 €
  4. Day 31
    New reduction: now 17.90 €
  5. On the page
    Next to 17.90 €: lowest price of the last 30 days 19.90 €
Example values. The new reduction starts on day 31. The lowest price in the 30 days before it is 19.90 €, so this is the price to show, not 24.90 €.

Keep a price history for every product. Without it, you cannot know the lowest price of the last 30 days, and nobody can check it later.

Struck prices, percentages and RRP

Both rules speak of every announcement of a price reduction. A struck price, a ‘−20 %’ badge and a ‘you save’ line can all announce one, on the product page, in category lists, in newsletters and in ads with prices. Check each place.

If the struck price is not the 30-day lowest price, say clearly what it is, and make sure that a percentage refers to a price the reader can see. The legal texts we read do not say how a comparison with a manufacturer’s recommended retail price is treated. If you use one, label it clearly and check it with an expert.

Price display: clear or to check
Clear
  • Now 17.90 €. Lowest price of the last 30 days: 19.90 €
  • The percentage refers to a price shown on the page
  • 500 g for 17.90 € (35.80 € per 1 kg)
  • 17.90 € incl. VAT
  • Plus 4.90 € shipping, stated near the price
Check
  • Now 17.90 € instead of 29.90 €, no 30-day price
  • ‘−40 %’ without saying which price it refers to
  • 500 g for 17.90 €, no unit price
  • 17.90 € plus VAT in a shop for consumers
  • No note on shipping costs
Example values. ‘Check’ means: look at this place again. It is not a legal verdict.

Unit price

Germany, § 4(1) PAngV: for goods in pre-packages, open packages or sold by weight, volume, length or area, show the unit price next to the total price, unambiguously, clearly and legibly. It may be left out if it equals the total price. The unit is 1 kilogram, 1 litre, 1 cubic metre, 1 metre or 1 square metre (§ 5(1)); for loose goods 1 kg or 100 g, 1 l or 100 ml (§ 5(2)). The exceptions in § 4(3) include goods under 10 grams or 10 millilitres and some cosmetics and perfumes.

Poland, art. 4(1): the price and the unit price are shown unambiguously, without doubt and in a way that allows prices to be compared. The unit price is the price per unit of measure (art. 3(1) point 2). A regulation may list goods without a unit price; we did not read it for this guide. Example: 500 g for 17.90 € is 35.80 € per kilogram.

Total price including VAT

Germany: traders who offer goods or services to consumers, or advertise to them with prices, must state total prices (§ 3(1) PAngV). The total price includes VAT and other price components (§ 2 No. 3). If a price is split into parts, the total price must be highlighted (§ 3(3)). In distance selling, also state that the prices include VAT and other price components (§ 6(1) No. 1).

Poland: the price includes VAT and excise duty where the sale is subject to them (art. 3(2)).

Shipping costs

Germany, § 6 PAngV: in distance selling, state whether freight, delivery or shipping costs or other costs apply, and state their amount if it can reasonably be calculated in advance.

Poland: under art. 12(1) point 5 of the Consumer Rights Act, the consumer must learn the total price with taxes and the costs of transport, delivery, postal services and other costs at the latest when agreeing to a distance contract. If the amount cannot be calculated, say that these costs apply.

Checklist before a sale

  • Note the lowest price of each product in the 30 days before the start.
  • Show it next to every reduced price, also in lists and ads.
  • Check what each percentage refers to.
  • Show the unit price for goods sold by weight, volume, length or area.
  • Show ‘incl. VAT’ and a note on shipping costs near the price.
  • Compare the visible price with the price in your structured data. That is data quality, not a legal rule.
A price tag with an old price struck through and a highlighted new price, next to a calendar grid of 30 days. One day in the grid is marked as the lowest price, and a bracket spans the whole period before the sale.
The reduced price and the lowest price of the 30 days before belong together.

Work with Do4U

Price display check reads the address of a product page or HTML or text you paste. The code finds current and struck prices, discounts, unit prices, quantities, notes on VAT and shipping and the price in the structured data. Each finding comes with a quote from your page, the rule (German PAngV or the Polish act, chosen by the currency or by you) and a note on what to check. The AI is optional: it only sorts price blocks with several unmarked amounts, and only from the amounts the code found. Without AI, the tool runs as code only and is free up to a daily limit. It sees one page, not your cart, checkout or price history. So it can tell whether a 30-day price is shown, but not whether it is correct.

Do4U finds hints. You check them against your price history and decide what to change.

Sources