Przycisk odstąpienia od umowy dla PrestaShop — dyrektywa UE 2023/2673
Przycisk i formularz odstąpienia od umowy, których dyrektywa (UE) 2023/2673 wymaga od każdego sklepu PrestaShop od…
- PS 1.7.5+
- PS 8
- PS 9
Masz pytanie przed zakupem? Opowiedz nam o swoim sklepie, a odpowiemy w ciągu 24 godzin.
Zapytaj nasGdy obniżasz cenę produktu, Twój klient widzi przekreśloną cenę, a obok niej jeszcze jedną linijkę: najniższą cenę, jaką ten produkt miał w ciągu ostatnich 30 dni. Tego wymaga prawo w całej Unii Europejskiej za każdym razem, gdy ogłaszasz obniżkę ceny. PrestaShop tego nie ma i nie zapisuje też cen z poprzednich dni, żeby móc ją wyliczyć.

Twoja kurtka kosztuje zwykle 49,99 €. Dwa tygodnie temu przez kilka dni sprzedawałeś ją za 39,99 €. Dziś obniżasz ją do 29,99 €. PrestaShop ogłasza „−40%” i 20 € oszczędności, wyliczone od 49,99 €. Z modułem Twój klient czyta „Najniższa cena z 30 dni przed obniżką: 39,99 €”, a rabat i oszczędność liczone są od tej kwoty: −25% i 10 €. Tak liczy Trybunał Sprawiedliwości UE.
Linijka pojawia się tam, gdzie Twój klient widzi obniżoną cenę: na karcie produktu oraz na listach kategorii i wyników wyszukiwania. Jeśli produkt ma kombinacje, każdy rozmiar i kolor ma własną najniższą cenę, bo każdy mógł mieć inną cenę. Wybierasz, w którym miejscu bloku ceny ma się pojawić, na karcie produktu i na listach, a jeśli masz szablon szyty na miarę, Twój programista wstawi ją, gdzie zechce, jedną linijką w szablonie.

We wrześniu 2024 roku Trybunał Sprawiedliwości UE jasno to rozstrzygnął w sprawie Aldi Süd (C-330/23): procent i oszczędność, które ogłaszasz, liczy się od najniższej ceny z ostatnich 30 dni, a nie od zwykłej ceny. PrestaShop liczy „−X%” od ceny sprzed obniżki, a wiele modułów Omnibus tylko dodaje pod spodem linijkę z najniższą ceną. Twój sklep pokazuje wtedy poprawną informację, a obok niej procent, na który prawo nie pozwala.
Moduł przelicza „−X%” i oszczędność od najniższej ceny z 30 dni, na karcie produktu i na listach. To, co Twój klient czyta na etykiecie rabatu, i to, co czyta w linijce z najniższą ceną, mówi to samo.
Żeby wiedzieć, jaka była najniższa cena, ktoś musiał ją zapisać. Moduł prowadzi własną historię: dla każdego produktu, kombinacji, sklepu i waluty. Sam zapisuje każdą zmianę ceny, a zaplanowana promocja zostaje zapisana z dokładną godziną rozpoczęcia lub zakończenia, bez zadań cron, które trzeba by ustawiać na hostingu.
Moduł przyjmuje ceny Twojego sklepu z tego dnia jako punkt wyjścia. Jeśli masz już trwające promocje z datą rozpoczęcia, zapisuje też cenę, jaką miały tuż przed startem, wziętą z Twojego własnego sklepu. Czego nie wie, tego nie wymyśla: obniżka, której poprzedniej ceny nie zna, nie jest ogłaszana (bez przekreślonej ceny, bez procentu, bez etykiety promocji), dopóki nie zaimportujesz swojej historii.
Każda zmiana zostaje zapisana z datą, a najniższa cena jest zawsze liczona z 30 dni przed obniżką. Promocje zaplanowane z datami zapisują się z dokładną godziną, nawet jeśli tego dnia nie zaglądasz do panelu.
Każdy sklep ma własną historię. Jeśli Twoje ceny w złotych są przeliczane z euro, najniższa cena w złotych jest odtwarzana według kursu z każdego dnia; jeśli nadasz produktowi własne ceny w złotych, mają one własną historię.
Instalujesz go tuż przed promocją? Nie musisz czekać 30 dni: zaimportuj swoje wcześniejsze ceny, a moduł użyje ich dla okresu sprzed własnej historii, nigdy nie nadpisując tego, co sam zapisał.

Bierze cenę, którą faktycznie pobrałeś w każdym zamówieniu z wybranych dni, i uznaje ją za obowiązującą do następnego zamówienia tego produktu. Pomija to, co nie było ceną dla wszystkich: klientów biznesowych, rabaty ilościowe i ceny uzgodnione z jednym klientem.
Jeśli Twoje wcześniejsze ceny są w ERP albo w arkuszu, wgraj je w pliku CSV według produktu, kombinacji, sklepu i waluty, z VAT lub bez. Przed importem widzisz podgląd z błędami w każdym wierszu.
Nowy import zastępuje poprzedni tego samego rodzaju. Tego, co moduł zapisał sam, nic nie rusza.
Jeśli ktoś zapyta, dlaczego produkt pokazuje taką poprzednią cenę albo dlaczego obniżka nie ma procentu, odpowiedź znajdziesz w panelu administracyjnym.

Zakładka modułu na karcie każdego produktu w panelu pokazuje, kombinacja po kombinacji, dzisiejszą cenę, od kiedy jest obniżona, poprzednią cenę, co moduł robi z tą obniżką i dlaczego, razem ze zmianami cen, które za tym stoją.
Ekran modułu sprawdza, czy Twój szablon ma miejsce na linijkę, ostrzega, gdy pamięć podręczna całych stron może podawać starą cenę, i liczy obniżki bez znanej poprzedniej ceny, żebyś mógł je zaimportować.
Gdy odinstalujesz lub zresetujesz moduł, historia zostaje: to dowód cen, które ogłaszałeś. Usuwa się ją tylko wtedy, gdy zaznaczysz przeznaczone do tego pole.
Dyrektywa zostawia niektóre przypadki do decyzji poszczególnym krajom, a nie wszystkie zdecydowały tak samo. Moduł pozwala Ci je ustawić dla każdego kraju, do którego sprzedajesz. Działają według kraju odwiedzającego, który pochodzi z naszego modułu Geolokalizacja dla PrestaShop: ceny, waluta i język według kraju, jeśli go masz, albo z kraju rozpoznanego przez Twój sklep.

Jeśli w trakcie promocji obniżasz cenę stopniami, tam gdzie prawo na to pozwala, punktem odniesienia jest cena sprzed pierwszej obniżki. Domyślnie jest to włączone dla Niemiec i Francji.
Produkt sprzedawany krócej niż 30 dni nie ma 30 dni historii. Domyślnie w Hiszpanii jego obniżka jest pokazywana tak, jak jest; w pozostałych krajach najniższa cena liczy się od dnia, w którym trafił do sprzedaży. Obie listy krajów możesz zmienić.
Przepis chroni konsumentów. Jeśli sprzedajesz też firmom, wyklucz ich grupy klientów, a nie zobaczą tej linijki.
Artykuł 6a dyrektywy 98/6/WE, dodany dyrektywą (UE) 2019/2161, którą wszyscy nazywają Omnibus, obowiązuje od 28 maja 2022 roku: za każdym razem, gdy ogłaszasz obniżkę ceny, musisz podać cenę poprzednią, czyli najniższą cenę, jaką stosowałeś w ciągu 30 dni przed obniżką.
W Polsce prezes UOKiK nałożył w styczniu 2026 roku na Zalando karę 30,9 mln zł; decyzja jest nieprawomocna. W Hiszpanii ministerstwo ds. konsumentów ukarało siedem sklepów internetowych łącznie kwotą 350 000 € za ich promocje z Black Friday 2023, a Wyższy Sąd Sprawiedliwości Wspólnoty Madrytu (TSJM) utrzymał kary w mocy w październiku 2025 roku.
Gdzie mówi o tym prawo poszczególnych krajów
Prawie każdy moduł Omnibus pokazuje linijkę z ceną. To, co odróżnia moduł, który dobrze liczy, od takiego, który tylko na to wygląda, kryje się w tych pytaniach: zadaj je każdemu, zanim kupisz.
| Pytanie | Ten moduł | Dlaczego to ważne |
|---|---|---|
| Czy liczy „−X%” od najniższej ceny z 30 dni? | Tak | Tego wymaga wyrok Aldi Süd. Procent od zwykłej ceny to nadal źle ogłoszona obniżka, nawet z linijką najniższej ceny pod spodem. |
| Czy zapisuje najniższą cenę każdej kombinacji? | Tak | Rozmiar M i rozmiar XL mogły mieć różne ceny. |
| Czy rozdziela sklepy i waluty? | Tak | Najniższa cena w euro nic nie mówi o cenie w złotych czy koronach. |
| Czy potrzebuje zadania cron? | Nie | Gdy cron przestaje działać, najniższa cena się dezaktualizuje i nikt tego nie zauważa. |
| Co robi z cenami sprzed instalacji? | Importuje je z zamówień lub z CSV | Moduł, który bez danych uzupełnia 30 dni wstecz, zakłada ceny, których nie zna. |
| A jeśli nie zna poprzedniej ceny obniżki? | Nie ogłasza jej | Przekreślona cena albo procent bez poprzedniej ceny, która by je uzasadniała, to dokładnie to, na co przepis nie pozwala. |
| Czy działa na moim PrestaShop? | Od 1.6.1 do 9.x | Wiele sklepów, które robią promocje, wciąż działa na 1.6 lub 1.7. |
To dyrektywa (UE) 2019/2161, która dodała do unijnych przepisów o cenach regułę dotyczącą obniżek: gdy ogłaszasz obniżkę ceny, musisz podać najniższą cenę z 30 dni przed obniżką. W Polsce wynika to z art. 4 ust. 2 ustawy o informowaniu o cenach towarów i usług, który obejmuje także usługi. W całej UE obowiązuje od 28 maja 2022 roku.
PrestaShop nie zapisuje historii cen, więc potrzebujesz modułu, który ją zapisuje i pokazuje obok obniżonej ceny. Ten robi to na karcie produktu i na listach, dla każdej kombinacji, sklepu i waluty, od dnia instalacji.
Od najniższej ceny z ostatnich 30 dni. Tak orzekł Trybunał Sprawiedliwości UE w sprawie Aldi Süd (C-330/23, wrzesień 2024): „−30%” liczone od zwykłej ceny jest niedopuszczalne, jeśli w ostatnim miesiącu produkt był już tańszy. Moduł przelicza procent i oszczędność od tej najniższej ceny.
Nie. Obowiązek powstaje, gdy ogłaszasz obniżkę: przekreśloną cenę, procent albo „przed” i „teraz”. Jeśli tylko zmieniasz cenę, nie ogłaszając tego, nie ma czego pokazywać, i moduł niczego nie pokazuje.
Nie, jeśli sprzedajesz wyłącznie firmom: przepis chroni konsumentów. Jeśli w jednym sklepie sprzedajesz jednym i drugim, wyklucz w module grupy swoich klientów biznesowych, a linijkę zobaczą tylko konsumenci.
Moduł zaczyna od cen Twojego sklepu z dnia instalacji i nie wymyśla wcześniejszych. Żeby nie czekać 30 dni, zaimportuj je: z zamówień, z ceną faktycznie pobraną, albo z pliku CSV ze swoimi cenami. To, co zaimportujesz, wypełnia tylko okres sprzed historii samego modułu.
Niektóre kraje pozwalają, by przy rosnącej obniżce punktem odniesienia była cena sprzed pierwszej obniżki. Moduł pozwala Ci to włączyć w krajach, w których jest to dozwolone; domyślnie jest to włączone dla Niemiec i Francji.
Nie. Każda zmiana ceny zapisuje się sama, a promocje zaplanowane z datami zostają zapisane z dokładną godziną rozpoczęcia lub zakończenia. Jeśli Twój sklep przez wiele dni nie ma odwiedzin, masz opcjonalny adres URL dla crona, żeby nic nie zostało w tyle.
Tak. Działa od PrestaShop 1.6.1 do 9.x i jest przetestowany na 1.6.1, 1.7.5, 1.7.8, 8.1 i 9.0, w wielu sklepach i z wieloma walutami, na PHP od 5.6 do 8.4.
Domyślnie obniżka nie jest ogłaszana: produkt sprzedaje się po obniżonej cenie, ale bez przekreślonej ceny, bez procentu i bez etykiety promocji. Gdy tylko zaimportujesz historię zamówień albo plik CSV ze swoimi cenami, moduł zna poprzednią cenę i obniżka jest ogłaszana z najniższą ceną.
Zostaje w Twojej bazie danych, bo jest dowodem cen, które ogłaszałeś. Usuwa się ją tylko wtedy, gdy wcześniej zaznaczysz pole usuwania przy odinstalowaniu.
Przy instalacji moduł zapisuje ceny z tego dnia, przejmuje poprzednią cenę trwających promocji, które mają datę rozpoczęcia, a linijka zaczyna się pojawiać przy Twoich przecenionych produktach. Bez zmian w szablonie i bez tworzenia zadań cron.
Obniżki stopniowe i nowości młodsze niż 30 dni, włączone lub wyłączone dla każdego kraju, do którego sprzedajesz.
Wybierz grupy klientów, które nie powinny widzieć linijki, na przykład konta firmowe.
Zastosuj go do całego katalogu albo tylko do wybranych kategorii (z podkategoriami), marek lub produktów i wyłącz te, które chcesz. Historia jest zapisywana dla wszystkich, więc późniejsze rozszerzenie niczego nie traci.
Wybierz, gdzie ma się pojawiać na karcie produktu i na listach, zmień jej treść w każdym języku i zdecyduj, czy przekreślona cena i procent mają być przeliczane od najniższej ceny, czy ukryte, tak by została tylko linijka.

Masz pytanie przed zakupem? Opowiedz nam o swoim sklepie, a odpowiemy w ciągu 24 godzin.
Zapytaj nasModuł, aplikacja, serwer, który sprawia problemy, albo coś pilnego. Odpowiadamy w ciągu 24 godzin, ze stałą wyceną: cena i termin.