Problem, który rozwiązuje nasz moduł
Od 1 stycznia 2023 r. każdy sprzedawca, który ogłasza obniżkę ceny, musi podać obok niej najniższą cenę towaru z 30 dni przed wprowadzeniem tej obniżki. Obowiązek wynika z ustawy o informowaniu o cenach towarów i usług oraz dyrektywy Omnibus.
PrestaShop tego nie robi: nie pamięta historii cen, a przekreślona „stara cena” to zwykle cena katalogowa. Jeśli dwa tygodnie wcześniej produkt był tańszy, komunikat „-40%” może wprowadzać konsumenta w błąd. UOKiK kontroluje sklepy internetowe, porównywarki i platformy; kary idą w dziesiątki i setki tysięcy złotych, a w skrajnych przypadkach do 4% obrotu.
Ten moduł zbiera historię, liczy punkt odniesienia według wyjaśnień Prezesa UOKiK i wstawia czytelną etykietę tam, gdzie sklep pokazuje promocję.
Jak liczy (zgodność z UOKiK, nie „na oko”)
Moduł nie bierze minimum z „ostatnich 30 dni od dziś”. Okres odniesienia to 30 dni kalendarzowych kończących się dniem poprzedzającym start bieżącej obniżki. Jeśli promocja trwa bez zmian dłużej niż miesiąc, okno się nie przesuwa — nadal liczy się czas sprzed pierwszego dnia tej obniżki.
Gdy rabat jest pogłębiany (promocja krocząca: najpierw -20%, potem -50%), polskie przepisy wymagają nowego okna dla każdej kolejnej obniżki. Przykład z wyjaśnień UOKiK: towar po 10 zł, 10 czerwca 8 zł, 15 czerwca 4 zł — druga obniżka to 50% względem 8 zł, nie względem 10 zł. Towar nowy, w ofercie krócej niż 30 dni, dostaje etykietę „najniższa cena od wprowadzenia towaru”.
Cena zapisuje się jako cena publiczna brutto, per kombinacja. Rabat lojalnościowy jednego klienta albo kupon urodzinowy nie psuje historii całego katalogu. Etykieta pojawia się tylko przy obniżce — przy cenie regularnej cisza, zgodnie z ustawą.
Wdrożenie, funkcje sklepowe
Instalacja standardowa: wgrywacie ZIP, instalujecie, w konfiguracji uruchamiacie skan katalogu i cron. Od tego momentu każda zmiana ceny produktu, wariantu albo ceny specyficznej trafia do historii.
Pierwsze wejście na kartę też dopisuje bieżącą cenę, więc import XML, który omija haki, nie zostawia dziury. W panelu podajecie ID produktu i od razu widzicie: cenę publiczną, cenę regularną, czy etykieta się pokaże, najniższą cenę z okna, rzeczywisty procent, datę startu obniżki i zakres dni.
Historię warto zbierać przed Black Friday i wyprzedażą sezonową — wstecz PrestaShop jej nie ma. Moduł jest po polsku, z wymaganym sformułowaniem UOKiK, pod PrestaShop 1.7–9. Przy deinstalacji historia zostaje w bazie na kontrolę.
Specyfikacja techniczna
Sprawdź wymagania i kompatybilność przed instalacją.
Pytania i odpowiedzi
Odpowiedzi na pytania, które klienci zadają przed zakupem tego produktu.
Czy PrestaShop sam pokazuje najniższą cenę z 30 dni?
Nie. PrestaShop zna cenę katalogową i aktualną cenę specyficzną, ale nie przechowuje historii. Przekreślenie w motywie to zwykle cena regularna, a nie najniższa cena z 30 dni przed obniżką. Bez modułu sklep nie ma czym wykazać punktu odniesienia przy kontroli UOKiK.
Kiedy etykieta się pokazuje, a kiedy nie?
Tylko gdy ogłaszacie obniżkę, czyli gdy cena publiczna jest niższa od ceny bez rabatu (promocja, cena specyficzna, przekreślenie, „-x%”). Przy zwykłej cenie regularnej etykiety nie ma — tak stanowi ustawa. Włączenie wyświetlania na listach kategorii i w wyszukiwarce jest zalecane, bo UOKiK wymaga informacji wszędzie tam, gdzie widać rabat przy konkretnym produkcie.
Czy to jest „najniższa cena z ostatnich 30 dni”?
Nie, i tego sformułowania UOKiK nie akceptuje. Prawidłowo: najniższa cena z 30 dni przed obniżką. Okno to 30 dni kalendarzowych kończące się dniem przed startem bieżącej promocji. Trwająca wyprzedaż nie wchodzi do tego minimum. Jeśli promocja trwa bez zmian dłużej niż miesiąc, okno się nie przesuwa. Przy promocji kroczącej (najpierw -20%, potem -50%) każda kolejna, głębsza obniżka otwiera nowe okno.
Czy moduł obsługuje warianty, VAT i promocje katalogowe?
Tak. Historia jest per produkt i per kombinacja (rozmiar, kolor itd.), w cenie brutto widocznej dla konsumenta. Zapisuje publiczne ceny specyficzne. Nie wrzuca do historii kuponu jednego klienta, rabatu urodzinowego ani „trzeci produkt za 1 zł”. Procent na etykiecie — jeśli go włączycie — liczy się od ceny Omnibus, nigdy od ceny katalogowej ani od RRP producenta.
Co z nowymi produktami i po aktualizacji ze starej wersji?
Towar w ofercie krócej niż 30 dni dostaje tekst „najniższa cena od wprowadzenia towaru”. Po instalacji 2.0.0 albo upgrade z 1.x stara historia netto jest czyszczona (nie wolno jej mieszać z cenami brutto) — od razu uruchomcie skan katalogu. Moduł nie odtworzy cen sprzed instalacji: PrestaShop ich nie miał. Pełne, audytowalne 30 dni zbierają się dopiero od skanu i crona. Wdrażajcie przed sezonem, nie w dniu Black Friday.
Jak to wdrożyć i czy zadziała przy imporcie XML?
Instalacja ZIP, skan katalogu w konfiguracji, cron raz dziennie (URL z tokenem jest w panelu). Haki łapią zapis produktu, wariantu i ceny specyficznej. Jeśli ERP albo import ominie haki, cenę dopisze cron albo pierwsze wejście na kartę produktu. W BO wpisujecie ID produktu i widzicie wyliczenie: cena bieżąca, regularna, okno 30 dni, procent, czy etykieta wyjdzie. Działa na PrestaShop 1.7, 8 i 9. Motyw musi wołać hak displayProductPriceBlock (Classic i Hummingbird tak).
Czy deinstalacja kasuje historię i czy moduł chroni przed karą UOKiK?
Deinstalacja nie kasuje tabeli historii — dane zostają na wypadek kontroli. Moduł nie jest polisą ubezpieczeniową i nie gwarantuje, że UOKiK nigdy nie wszczyna postępowania. Gwarantuje poprawne liczenie i wymagane brzmienie etykiety w sklepie. Gazetki, reklamy, mailing i hasła „tylko dziś” przy promocji trwającej trzy miesiące nadal są po stronie polityki sklepu. Zgodność w PrestaShop to ten moduł; zgodność w całej komunikacji marketingowej to nadal Wasza decyzja.
| Gwiazdy | Procent |
|---|---|