A struck-through price next to a burger, “−20% on pizzas on Tuesdays”, happy hours at the bar. For a guest that's an ordinary promotion, and for the law it's “information about a reduction in the price of a service”. Since January 1, 2023, such information in Poland has a mandatory addition: the lowest price from the 30 days before the reduction.
A curiosity to start with: the EU rule on the lowest price, introduced by the Omnibus Directive, doesn't cover restaurants. It applies to goods, and a meal at a venue is a service. Poland went further than Brussels and extended it to services too, so every pizzeria, café, bar and food truck has this obligation. We explain what the rules say, how UOKiK (Poland's competition and consumer protection authority), the European Commission and the Court of Justice of the EU read them, and what that means for your menu (sources at the end).
Where the Omnibus Directive came from and why it applies to restaurants in Poland
“Omnibus” is the informal name of Directive (EU) 2019/2161 of November 27, 2019. Like a bus carrying many passengers, it amended four consumer directives at once. To Directive 98/6/EC on price indication it added Article 6a:
Any announcement of a price reduction shall indicate the prior price applied by the trader for a determined period of time prior to the application of the price reduction.
The “prior price” is the lowest price from at least the 30 days before the reduction. The point is to end fake promotions: a shop can no longer raise a price just before Black Friday and then announce “−50%”. The European Commission's guidance says, however, that the price indication directive covers goods and does not apply to services. A dish prepared in a restaurant is a service, just as it is for VAT.
Poland implemented the Omnibus Directive a few months late, with the Act of December 1, 2022 (Dz.U. 2022 poz. 2581). It amended the Act on Informing about the Prices of Goods and Services (consolidated text: Dz.U. 2023 poz. 168), whose Article 4(2) reads (our translation):
In every case of informing about a reduction in the price of a good or service, next to the information about the reduced price, information about the lowest price of that good or service in force during the 30 days before the reduction was introduced shall also be displayed.
Two words make the difference. “Or service” covers food service, and “informing” instead of “announcement” covers more forms of communication. In his explanations of the rules, the President of UOKiK stresses that “the legislator decided to regulate not only goods but also services”, and names preparing a meal as an example.
| Legal act | What it means for a venue |
|---|---|
| Directive (EU) 2019/2161 (Omnibus) | The lowest price from the last 30 days for reductions on goods (Article 6a of Directive 98/6/EC), new rules for customer reviews |
| Act on Informing about the Prices of Goods and Services (Dz.U. 2023 poz. 168), Articles 4–7 | The obligation for goods and services, exceptions, advertising, Trade Inspection fines |
| Regulation on displaying the prices of goods and services (Dz.U. 2022 poz. 2776) | Where and how to show the price and the reduction, the price list at the venue (§ 9) |
| Act on Counteracting Unfair Market Practices (Dz.U. 2023 poz. 845) | Misleading promotions, “free”, customer reviews |
| Act on Competition and Consumer Protection (Dz.U. 2025 poz. 1714) | Fines from the President of UOKiK of up to 10% of turnover |
When you're informing about a reduction, and when you aren't
The obligation only arises when you communicate the reduction. If you quietly change a price on the menu from PLN 32 to PLN 29, you don't have to do anything more. UOKiK: “a price reduction alone, without drawing consumers' attention to it (presenting one price), doesn't create additional information obligations for businesses”.
Almost any “cheaper now” signal is information about a reduction, though: the words “promotion”, “deal”, “discount”, “cheaper by…”, a “−20%” sign, a struck-through price, the color you usually use for promotions, or a higher price shown next to a lower one. Radio ads too. We translated the examples from UOKiK's explanations into the language of food service:
| Message | Lowest price from the last 30 days? | Why |
|---|---|---|
| “Margherita −20%” or a struck-through price on the menu | Yes | Classic information about a reduction |
| A lower price on the menu, without any marking | No | You're not informing about a reduction |
| A lunch set for PLN 29, without “cheaper” or strikethroughs | No | It's the ordinary price of the set |
| “Second pizza 50% off” | Yes | You're reducing the price of a specific product |
| “Buy two pizzas, get the third free” | No | A bundled offer, the price of no pizza goes down |
| “Buy three beers, pay PLN 30 for all of them” | No | A price for the set |
| A “PIZZA15” code for all pizzas announced on Instagram | Yes | A code for a specific group of products |
| A “PLN 10 off your first order” code for any dishes | No | A basket code, the customer chooses the products |
| “−20% on desserts for club members” | Yes | A loyalty discount on a group of products |
| A stamp card: every tenth coffee free | No | A reward for earlier purchases |
| “The best prices in town” | No | A general slogan, not a reduction |
Three caveats:
- “Free” has to be genuinely free. Article 7(20) of the Act on Counteracting Unfair Market Practices prohibits the word if the customer has to pay anything for the product other than the unavoidable cost of collection or delivery.
- Basket codes aren't a loophole. UOKiK warns that frequent “for your next order” codes can work like a permanent “everything” promotion and be treated as circumventing the rules.
- A set “PLN 8 cheaper than separately” speaks the language of a reduction. It's safer to give just the price of the set or to add the lowest price from the last 30 days.
How to work out the lowest price from the last 30 days
- The period is 30 calendar days before the first day on which the item can be bought for less. It doesn't move as long as the promotion runs on the same terms, even for longer than 30 days.
- Every price at which you offered the dish counts, including from earlier promotions, even one-day and hourly ones, and even if nobody bought it. Discounts for only some guests count too: according to UOKiK, the price from a women-only promotion on Women's Day becomes the reference point for later reductions for everyone.
- Each sales channel separately, if prices differ, e.g. at the venue and in an app. The message must then make clear which channel the reduction applies to.
- You calculate the percentage from the lowest price from the last 30 days. On September 26, 2024, the Court of Justice of the EU ruled in case C-330/23 Aldi Süd that a reduction announced as a percentage or with a slogan such as “price highlight” must be determined on the basis of the lowest price applied by the trader during a period of not less than 30 days before the price reduction.
Here's how it works, using the example of a burger at “InPlate Bistro”:
| Period | Burger price |
|---|---|
| September 1–20 | PLN 32 |
| September 21–25 (burger of the week) | PLN 26 |
| September 26 – October 9 | PLN 32 |
| from October 10: “−20% promotion” | PLN 25.60 |
The lowest price from the 30 days before October 10 is PLN 26, from the “burger of the week”. Compared with that, the reduction is 1.5%, not 20%. The correct version: “PLN 25.60, lowest price in the 30 days before the reduction: PLN 26.00”. You can add “regular price: PLN 32.00” and the percentage relative to it, but UOKiK requires both reference prices and both percentages to be shown equally: in the same font, size and color.
The same goes for progressive promotions. A dessert at PLN 20 went down to PLN 16, and then to PLN 12. The second reduction is −25% from PLN 16, not −40% from PLN 20.
How to label it and where to put it
In Poland, label the reference price “najniższa cena z 30 dni przed obniżką” (lowest price in the 30 days before the reduction) or an equivalent, e.g. “najniższa cena w ciągu 30 dni przed obniżką”. UOKiK rejects “reference price”, “Omnibus price”, “was”, a symbol alone, and even “lowest price from the last 30 days”. The short form “lowest price” may only be used where space is lacking, e.g. in the list of dishes in an app, if the full description is easily available on the dish card.
The information has to sit right next to the promotional price, below it or above it. A poster by the till or an asterisk with an explanation at the bottom of the page isn't enough.
A new dish, a seasonal menu and pastries after 6 p.m.
- A new dish. If it has been on the menu for less than 30 days, you give the lowest price since it was introduced (Article 4(3) of the Act).
- A seasonal dish. A pumpkin soup that comes back after a break of more than 30 days is counted from its return for the first 30 days. A week's break because an ingredient ran out changes nothing.
- An opening promotion. You can't announce a reduction of a price that was never in force. You can, however, give an upcoming price with a date, e.g. “PLN 25 for the opening, PLN 32 from December 1”, without strikethroughs or percentages.
- Pastries and sandwiches from the display case. For goods that spoil quickly you give the “price before the reduction”, i.e. the price before the first reduction, without counting 30 days (Article 4(4)). Croissants at half price in the evening fall under the exception.
This exception has a clear limit. UOKiK writes that “a quickly perishable good (e.g. a ready-made sandwich) must be distinguished from the service of preparing and delivering food (a dish prepared to order by a restaurant)”. A pizza baked at 9 p.m. and sold for less isn't a croissant from the display case: the 30-day rule applies.
Happy hours: the hardest case
Happy hours are a reduction, because everything about how they're communicated says “cheaper now”. The trouble is that they come back every day.
Take a burger at PLN 30 that costs PLN 24 Monday to Friday from 15:00 to 17:00. According to UOKiK, for the lowest price “it doesn't matter how long the good or service was offered at a given price (e.g. one-day or hourly promotions)”. The European Commission adds that the lowest price includes any previous “reduced” prices in that period.
On Tuesday at 15:00, the lowest price from the last 30 days is therefore PLN 24, from Monday. The guest sees a price of PLN 24 and next to it “lowest price in the 30 days before the reduction: PLN 24.00”. It looks less impressive, but it complies with the rules. After the Aldi Süd judgment the percentage is also calculated from this price, and from it the reduction is zero. A big “−20%” calculated from PLN 30 is the riskiest part of the message with daily happy hours.
What you can do:
- Show three prices, equally legible: “PLN 24 during happy hours, lowest price in the 30 days before the reduction: PLN 24, regular price: PLN 30”. The European Commission gives a similar pattern for frequent promotions.
- Talk about the hours and the price, not percentages: “Burgers for PLN 24 from 15:00 to 17:00”, with the lowest price from the last 30 days.
- Rotate categories. When happy hours cover burgers in October and pizzas in November, on the day each category starts the lowest price from the last 30 days is usually the regular price. Then the reduction is real and you can give a percentage.
You can also try other interpretations: that permanent happy hours are one ongoing promotion, or a separate “afternoon service”, just as UOKiK allows a weekend night's stay to be treated as a different service from a weekday one. Neither UOKiK nor the courts have ruled on daily happy hours in food service, though. These are arguments to discuss with a lawyer, not a ready-made loophole.
Where the information has to appear
You give the lowest price in the same place and at the same time as you inform about the reduction of a specific dish. Article 4(5) of the Act applies these rules to advertising with a price too, and § 3 of the Regulation allows a price notice in the form of a display, e.g. a menu screen above the counter.
- Menu, board, TV screen: a line with the lowest price next to the promotional price.
- Online menu and app: next to the dish in the list and on the dish card, and for a discount code at the latest once it's entered.
- Social media, Google, leaflets: a post about a specific dish with a promotional price must include the lowest price from the last 30 days. A general “−20% on pizzas on Tuesdays” doesn't need it, but it must appear on the menu next to every discounted pizza.
- Delivery apps: according to UOKiK, a platform that provides tools for showing reductions is responsible for their compliance. If you write about a discount yourself, e.g. in a dish description, you alone are responsible.
Fines: who inspects and what it costs
The Trade Inspection imposes fines of up to PLN 20,000, and up to PLN 40,000 when the violation recurs at least three times within 12 months (Article 6 of the Act on Informing about Prices). In an inspection published in June 2025, inspectors checked 626 venues and found irregularities in 75%, most often in price information (354 venues). They issued 163 decisions with fines totaling PLN 177,750, about PLN 1,100 on average (our calculation). In the first half of 2026, 80% of the 317 venues inspected had irregularities. The inspections cover all the price display rules, not just Omnibus.
The President of UOKiK can impose a fine of up to 10% of turnover when a practice infringes the collective interests of consumers (Article 24 and Article 106(1)(4) of the Act on Competition and Consumer Protection). In January 2026 he announced non-final fines for Zalando (PLN 30.9 million) and Temu (PLN 5.9 million), among other things for missing or miscalculated lowest prices from the last 30 days and for calculating discounts from the regular price.
A guest who has doubts about a price can demand the price most favorable to them (Article 5 of the Act on Informing about Prices), and in the case of an unfair practice, among other things, a price reduction (Article 12 of the Act on Counteracting Unfair Market Practices). When the allegation is about misleading, it's the venue that has to prove it acted fairly (Article 13). That's why it's worth keeping a price history.
Omnibus isn't only about prices: guest reviews
The directive also changed the rules on unfair market practices. Three of them matter for a venue:
- If you show guest reviews on your website or in an app, say whether and how you check that they come from customers (Article 6(4)(7) of the Act on Counteracting Unfair Market Practices).
- Claiming that reviews come from customers without reasonable verification is prohibited in all circumstances (Article 7(25)).
- So is posting or commissioning fake reviews or distorting real ones (Article 7(26)), e.g. buying Google reviews of your venue.
Before you deal with promotions: the price list at the venue
Most of the shortcomings found in inspections concern the basics: in 2026, in 60% of cases there was no price list or no quantity for a dish or drink. § 9 of the Regulation requires a price list with the full name of the dish and the quantity the price refers to, available before the order is placed and displayed in or in front of the venue. UOKiK also reminds venues that surcharges, e.g. for service or takeaway packaging, have to be stated clearly before the order, and that the weight refers to the dish as prepared.
A checklist before your next promotion
- Check whether the message is a reduction: a percentage, a strikethrough, “promotion”, “cheaper”.
- Work out the lowest price from the 30 days before the start, including previous promotions and happy hours.
- Calculate the percentage from that price, not from the regular one.
- Label it “lowest price in the 30 days before the reduction” (in Polish: “najniższa cena z 30 dni przed obniżką”) and put it right next to the promotional price.
- Repeat this everywhere: on the menu, on the board, on the screen, on the website, on the apps and in the post.
- For a new dish, give the lowest price since it was introduced; for croissants from the display case, the price before the reduction.
- Keep a price history in case of an inspection or a complaint.
How WP InPlate keeps track of the lowest price from the last 30 days
The hardest part of Omnibus isn't adding a line, it's memory: what every dish and every size cost in all the promotions and happy hours windows of the last 30 days. On a paper menu or in a spreadsheet it's easy to make a mistake.
If you take orders online with WP InPlate, the system does this calculation:
- It keeps its own price history for every product and size. It records changes from the manager panel, from WooCommerce, from imports and from scheduled sales, and checks once a day that none slipped through.
- It shows “Lowest price in the 30 days before the reduction” in the dish window for every product on promotion, and on the menu card and in related products whenever they show a reduction.
- It includes happy hours: the prices from earlier windows, on every sales channel.
- It doesn't announce a reduction without a price history. When the system doesn't know the lowest price from the last 30 days, the guest sees only the current price, and the discount in the cart works normally.
You set up happy hours in the manager panel: days, times, categories or dishes and channels (QR table, dine-in, pickup, delivery). Menu prices change by themselves when a window starts and ends, without reloading the page.
The seller is always responsible for whether a promotion is lawful, so how you communicate a discount is your decision. WP InPlate shows the lowest price information on the online menu, not on TV screens: if you mark a promotion there, add it yourself. The details are in the documentation: Promotions, Omnibus and happy hours. See also how the online menu works, and try WP InPlate free for 30 days.
Summary
The EU rule on the lowest price from the last 30 days doesn't apply to restaurants, but the Polish act also covers services. So in Poland every piece of information about a cheaper dish, on the menu, online or in an ad, requires the lowest price from the 30 days before the reduction, and the percentage is calculated from that price. Daily happy hours, discounts for regulars and codes for specific dishes hide the most traps, while simple offers such as “third pizza free” don't carry this obligation.
Sources
- The Act of May 9, 2014 on Informing about the Prices of Goods and Services, consolidated text Dz.U. 2023 poz. 168 (in Polish)
- The Act of December 1, 2022 amending the Consumer Rights Act and certain other acts, Dz.U. 2022 poz. 2581 (in Polish)
- Regulation of the Minister of Development and Technology of December 19, 2022 on displaying the prices of goods and services, Dz.U. 2022 poz. 2776 (in Polish)
- The Act of August 23, 2007 on Counteracting Unfair Market Practices, consolidated text Dz.U. 2023 poz. 845 (in Polish)
- The Act of February 16, 2007 on Competition and Consumer Protection, consolidated text Dz.U. 2025 poz. 1714 (in Polish)
- EUR-Lex: Directive (EU) 2019/2161 of the European Parliament and of the Council of November 27, 2019 (Omnibus)
- EUR-Lex: European Commission, Guidance on the interpretation and application of Article 6a of Directive 98/6/EC (2021/C 526/02)
- President of UOKiK: Information on price reductions – explanations (2023, in Polish)
- CJEU: press release No 152/24, judgment in case C-330/23 Aldi Süd (September 26, 2024)
- Prawo.pl: Zalando and Temu fined for incorrect information about promotions (January 12, 2026, in Polish)
- UOKiK: In bars, pubs and restaurants – a Trade Inspection check (June 18, 2025, in Polish)
- NowyMarketing: Trade Inspection – irregularities in 75% of food service venues (June 24, 2025, in Polish)
- UOKiK: How much and for what? Food service under scrutiny (July 31, 2026, in Polish)
- Wiadomości Spożywcze: Restaurants under scrutiny – 80% of venues with irregularities (July 31, 2026, in Polish)



