Nejnižší cena za 30 dní: jak správně uvádět slevy v e-shopu
Pokud v e-shopu oznamujete slevu – přeškrtnutou cenou, procentem nebo reklamním označením, které zdůrazňuje výhodnou cenu –, musíte uvést předchozí cenu. Je to nejnižší cena, za kterou jste zboží prodávali během 30 dní před snížením. Z ní se musí počítat i samotná sleva, takže přeškrtnutá „běžná“ cena z produktu často nestačí.
V praxi to znamená, že e-shop potřebuje spolehlivou historii cen. Bez ní nedokážete doložit, jaká byla nejnižší cena za 30 dní, a akce na Black Friday se snadno změní ve falešnou slevu. Níže najdete pravidlo, ilustrativní příklad, postup zavedení ve WooCommerce i v jiném e-shopu, rozhodovací tabulku a kontrolní seznam.
Článek řeší technické a procesní zajištění. Právní výklad pro váš konkrétní případ, zejména u výjimek, si ověřte s právníkem.
Co přesně pravidlo vyžaduje
Na Slovensku pravidlo upravuje § 7 slovenského zákona č. 108/2024 Z. z. o ochraně spotřebitele. Obchodník musí v každém oznámení o snížení ceny zboží uvést předchozí cenu a snížení určit na jejím základě. Předchozí cena je nejnižší cena, za kterou zboží prodával v období 30 dní před snížením ceny. Pokud ho prodává kratší dobu, rozhoduje nejnižší cena od začátku prodeje.
Tentýž paragraf obsahuje dvě odchylky. Při postupném snižování ceny můžete uvádět předchozí cenu určenou před prvním snížením. Pravidla o předchozí ceně se nevztahují na zboží, které podléhá rychlému snížení jakosti nebo zkáze.
Jak se má sleva počítat, upřesnil Soudní dvůr EU v rozsudku C-330/23 (Aldi Süd) z 26. září 2024. Snížení ceny oznámené v procentech nebo reklamním prohlášením, které zdůrazňuje výhodnost nabídky, se musí určit z nejnižší ceny za období nejméně 30 dní před snížením. Podle tiskové zprávy soudu se tím brání tomu, aby obchodník před akcí cenu zvýšil a poté ukazoval falešné slevy.
Spor se týkal reklamních letáků diskontního řetězce. Spotřebitelská organizace namítala, že v prvním příkladu byla cena těsně před akcí 1,69 €, ale nejnižší cena za 30 dní 1,29 € – stejná jako údajně snížená cena. Podle ní nestačí nejnižší cenu v reklamě pouze uvést. Soudní dvůr potvrdil, že sleva se musí určit právě z ní.
Pravidla v Česku a Německu
Pravidlo vychází z článku 6a směrnice 98/6/ES ve znění směrnice (EU) 2019/2161, které se v praxi říká Omnibus. Národní předpisy se však v detailech liší. V Česku podle ministerstva průmyslu a obchodu platí od 6. ledna 2023 § 12a zákona č. 634/1992 Sb., o ochraně spotřebitele: informace o slevě musí obsahovat nejnižší cenu, za kterou obchodník zboží nabízel a prodával během 30 dní před slevou, takzvanou referenční cenu.
V Německu ukládá § 11 nařízení o uvádění cen (PAngV) uvést při každém oznámení snížení ceny zboží nejnižší celkovou cenu za posledních 30 dní před snížením. U slevy, která se postupně a bez přerušení zvyšuje, lze během akce uvádět nejnižší cenu před jejím začátkem. Výslovně se vyjímají individuální snížení ceny a rychle se kazící zboží nebo zboží s krátkou trvanlivostí, pokud se zlevňuje kvůli hrozící zkáze či konci trvanlivosti a je to vhodně označeno. Při prodeji do Maďarska, Polska nebo jiné země EU si ověřte tamní předpis.
Příklad: cena na Black Friday, která není slevou
Tento příklad je ilustrativní – e-shop i ceny jsou smyšlené. Mlýnek na kávu měl v posledních týdnech tyto ceny:
| Období | Cena pro zákazníka | Co se stalo |
|---|---|---|
| do 31. 10. | 129 € | Běžná cena |
| 1.–7. 11. | 99 € | Týdenní akce propagovaná na sociálních sítích |
| 8.–16. 11. | 129 € | Návrat k běžné ceně |
| 17.–26. 11. | 149 € | Zdražení podle nového ceníku dodavatele |
| od 27. 11. | 119 € | Black Friday: šablona ukazuje přeškrtnutých 149 € a odznak „−20 %“ |
U akce od 27. 11. je rozhodující období 28. 10. až 26. 11. Nejnižší cena v něm je 99 € z týdenní akce. Cena 119 € je tedy o 20 € vyšší než předchozí cena a nejde o slevu, přestože je nižší než přeškrtnutých 149 €. Odznak „−20 %“ by zákazníka uváděl v omyl.
E-shop má dvě poctivé možnosti. Buď prodává za 119 € bez přeškrtnuté ceny, procenta a reklamy na slevu, nebo sníží cenu pod 99 €. Při ceně 89 € je sleva z předchozí ceny 10,1 %, takže zobrazí přeškrtnutých 99 € a „−10 %“.
Proč běžné nastavení e-shopu nestačí
Dokumentace REST API WooCommerce popisuje u produktu běžnou cenu (regular_price), akční cenu (sale_price), začátek a konec akční ceny v časovém pásmu webu (date_on_sale_from, date_on_sale_to) a aktuální cenu (price). Jde o aktuální stav produktu. Pole s historií cen nebo s nejnižší cenou za 30 dní v této dokumentaci nenajdete.
Pokud vaše šablona při akci přeškrtne běžnou cenu a procento vypočítá z rozdílu běžné a akční ceny, výsledek sedí jen tehdy, když za posledních 30 dní nebyla cena pro zákazníka nižší než aktuální běžná cena. Stačí však změna ceníku nebo krátká akce a čísla přestanou platit.
Cena se navíc mění z více míst: ruční úpravou v administraci, hromadnou úpravou, importem, synchronizací s ERP nebo naplánovaným začátkem a koncem akce. U naplánované akce se cena pro zákazníka změní, aniž by v tu chvíli někdo produkt upravoval. Historie, která zachytí jen ruční úpravy, je proto neúplná.
Jak zavést historii cen a výpočet slevy
1. Sepište všechna místa, kde oznamujete slevu
Produktová stránka, výpis kategorie, výsledky vyhledávání, odznaky, bannery, newslettery, příspěvky na sociálních sítích a tištěné letáky. Zákon mluví o každém oznámení o snížení ceny, nejen o produktové stránce.
2. Zaznamenávejte každou změnu ceny
Pro každý produkt a variantu ukládejte cenu, kterou zákazník viděl a platil včetně DPH, platnost od – do, zdroj změny (administrace, import, ERP, naplánovaná akce) a uživatele nebo proces, který ji provedl. K událostem přidejte noční záznam skutečně platné ceny. Zachytí i změnu, kterou by událost minula.
3. Chybějící historii doplňujte jen z ověřitelných podkladů
Pokud historii nemáte, dá se částečně sestavit ze záloh databáze, exportů, ERP nebo objednávek. U každého údaje zapište, odkud pochází. Kde cenu nedokážete doložit, slevu neoznamujte a záznamy začněte sbírat alespoň 30 dní před akcí.
4. Při startu akce vypočítejte a uložte předchozí cenu
Systém vezme nejnižší cenu z 30 dní před začátkem akce, u nového zboží od začátku prodeje. Výsledek uloží k akci, aby se během ní neměnil. Při postupném snižování můžete ponechat předchozí cenu určenou před prvním snížením; pro německý trh musí sleva růst bez přerušení.
5. Zobrazujte jednu cenu a jedno procento
Nejjednodušší a nejbezpečnější je, když přeškrtnutá cena je předchozí cena a procento se počítá z ní. Přidejte srozumitelný popis, například „Nejnižší cena za 30 dní před slevou: 99 €“. Procenta zaokrouhlujte dolů, abyste slevu nikdy nenadsadili.
6. Před spuštěním kampaně proveďte kontrolu
Vygenerujte přehled všech produktů v akci: předchozí cena, akční cena, vypočtené procento a procento, které se zobrazí. Produkt, jehož akční cena není nižší než předchozí, nesmí dostat odznak slevy. Přehled ať schválí odpovědná osoba.
7. Na stejná data napojte i marketing
Texty bannerů, e-mailů a příspěvků přebírejte ze schváleného přehledu kampaně, ne ručním přepisováním. Pokud obsah plánujete a schvalujete centrálně, pomůže automatizace sociálních sítí napojená na stejné ceny. Přehled kampaně archivujte pro případ kontroly.
Rozhodovací tabulka: jaká je předchozí cena
Tabulka shrnuje slovenské pravidlo a rozdíly, které vyplývají z německého textu. Nenahrazuje právní posouzení.
| Situace | Předchozí cena | Poznámka |
|---|---|---|
| Zboží prodáváte déle než 30 dní a cena za tu dobu neklesla pod aktuální běžnou cenu | Aktuální běžná cena | Jen v tomto případě sedí výpočet z běžné ceny uložené u produktu |
| V posledních 30 dnech běžela jiná akce | Cena z této akce, pokud byla nejnižší | Ovlivní každou akci, která začne do 30 dní po jejím skončení |
| Běžnou cenu jste v posledních 30 dnech zvýšili | Nižší cena před zvýšením | Zdražení těsně před akcí slevu nezvětší |
| Zboží prodáváte kratší dobu než 30 dní | Nejnižší cena od začátku prodeje | Slovensko: § 7 odst. 2 písm. b) zákona č. 108/2024 Z. z. |
| Postupné snižování ceny | Předchozí cena určená před prvním snížením | Slovensko: § 7 odst. 3; Německo: jen pokud sleva roste bez přerušení |
| Rychle se kazící zboží | Na Slovensku se povinnost neuplatňuje (§ 7 odst. 4) | Německo: jen při hrozící zkáze nebo konci trvanlivosti a s označením |
| Individuální sleva pro konkrétního zákazníka | V Německu se neuvádí – výslovná výjimka | Slovenský § 7 takovou výjimku neuvádí – ověřte s právníkem |
Plugin, úprava šablony nebo vlastní řešení
Hotový plugin je nejrychlejší. Před nasazením si však ověřte, zda zaznamenává i změny z importů, ERP a REST API, zda sleduje varianty, zda ukládá cenu s DPH, jak pracuje s naplánovanými akcemi, kde všude zobrazuje předchozí cenu a co se stane s historií při jeho vypnutí nebo migraci.
Úprava šablony řeší jen zobrazení. Bez spolehlivé historie správnou přeškrtnutou cenu nevypočítá.
Vlastní modul dává plnou kontrolu nad výpočtem, přehledem kampaně a schvalováním. Vyžaduje však vývoj, testy a údržbu při aktualizacích WooCommerce. Pokud ceny vznikají v ERP, je často čistší počítat předchozí cenu tam a do e-shopu ji posílat přes API integraci. E-shop ji pak jen zobrazuje.
Doporučení: u menšího katalogu s cenami spravovanými v administraci začněte ověřeným pluginem a kontrolou před kampaní. Při importech, ERP nebo prodeji do více zemí navrhněte historii cen jako samostatnou část systému.
Časté chyby
- Procento z běžné ceny. Běžná cena zvýšená před akcí vytvoří falešnou slevu – právě tomu má podle Soudního dvora EU zabránit výpočet z předchozí ceny.
- Zapomenutá krátká akce. Akce, která skončila před méně než 30 dny, může stále určovat předchozí cenu.
- Historie jen z administrace. Importy, ERP a naplánované akce zůstanou mimo záznam.
- Jen hlavní produkt. Varianty s různými cenami potřebují vlastní historii.
- Různá čísla v kanálech. Banner slibuje „−30 %“, produktová stránka ukazuje jiné procento.
- Ztráta historie při migraci. Při změně pluginu nebo platformy se záznamy nepřenesou.
- Nesprávný den nebo časové pásmo. Pokud historie, plánování akcí a výpočet nepracují ve stejném časovém pásmu, 30denní období se posune o den.
Kontrolní seznam před akcí
- Historie cen pokrývá alespoň 30 dní před začátkem akce pro všechny produkty a varianty v akci.
- Záznamy obsahují změny z administrace, importů, ERP i naplánovaných akcí.
- Předchozí cena je vypočítaná a uložená při startu akce.
- Přeškrtnutá cena i procento vycházejí z předchozí ceny.
- Produkty, jejichž akční cena není nižší než předchozí, nemají odznak slevy.
- Bannery, e-maily a příspěvky používají stejná čísla jako e-shop.
- Pro nové zboží, postupné slevy a výjimky existuje jasné pravidlo.
- Přehled kampaně schválila odpovědná osoba a je archivovaný.
- Situace z rozhodovací tabulky jsou otestované na testovací kopii e-shopu.
Časté dotazy
Musím uvádět nejnižší cenu i u slevového kupónu?
Slovenský § 7 mluví o každém oznámení o snížení ceny zboží a výjimku pro kupóny neuvádí. Německé PAngV výslovně vyjímá individuální snížení ceny. U veřejně propagovaných kódů na celý sortiment se poraďte s právníkem a technicky si připravte stejný výpočet.
Co když zboží prodáváme kratší dobu než 30 dní?
Podle slovenského zákona je předchozí cenou nejnižší cena od začátku prodeje. Systém proto potřebuje i datum, odkdy zboží prodáváte.
Jak zaokrouhlovat procento slevy?
§ 7 zaokrouhlování neupravuje. Bezpečný postup je počítat z předchozí ceny a zaokrouhlit dolů, aby zobrazené procento nikdy nebylo vyšší než skutečné.
Platí to i pro newsletter a sociální sítě?
Povinnost se týká každého oznámení o snížení ceny zboží a rozsudek Soudního dvora se týkal reklamních letáků. Pokud slevu uvádíte v e-mailu nebo příspěvku, počítejte ji stejně jako v e-shopu a ze stejných dat.
Dá se historie cen dopočítat zpětně?
Jen z ověřitelných podkladů, jako jsou zálohy, exporty, ERP nebo objednávky, a se zapsaným zdrojem. Pokud cenu za některé dny nedoložíte, slevu neoznamujte, dokud nebudete mít 30 dní spolehlivých záznamů.
Jak vám pomůžeme
Pokud chcete mít před další kampaní jistotu, že přeškrtnuté ceny a procenta sedí, podívejte se, jak děláme e-shopy na míru. Doplníme historii cen, výpočet předchozí ceny, kontrolu před kampaní i napojení na ERP. Napište nám a společně zjistíme, odkud ceny ve vašem e-shopu přicházejí a co změnit jako první.
Zdroje
- Slovenský zákon č. 108/2024 Z. z. o ochraně spotřebitele, § 7 (Slov-Lex, znění účinné od 27. 9. 2026, ověřeno 13. 11. 2026)
- Soudní dvůr EU: tisková zpráva č. 152/24 k věci C-330/23 Aldi Süd (26. 9. 2024)
- Německé nařízení o uvádění cen (Preisangabenverordnung, PAngV), § 11
- Ministerstvo průmyslu a obchodu ČR: informace k rozsudku Soudního dvora EU
- WooCommerce: dokumentace REST API v3 – produkty