Przejdź do treści

Najniższa cena z trzydziestu dni: rejestr, który jest materiałem dowodowym

Przy każdym ogłoszeniu obniżki sklep musi podać najniższą cenę towaru z ostatnich trzydziestu dni. To wymóg ustawowy, więc kluczowe pytanie brzmi nie „jak to wyliczyć", tylko „jak to udowodnić".

Obowiązek wynika z ustawy o informowaniu o cenach towarów i usług, która wdraża unijną dyrektywę o wskazywaniu cen. Treść jest prosta: przy każdym ogłoszeniu obniżki ceny trzeba podać najniższą cenę tego towaru z trzydziestu dni poprzedzających obniżkę. Jeżeli towar jest w sprzedaży krócej niż trzydzieści dni — najniższą cenę od początku oferowania.

Wyliczenie takiej kwoty to kilka linii kodu. Problem leży gdzie indziej.

Rejestr, nie pole w produkcie

Najprostsze wdrożenie zapisuje wyliczoną kwotę w metadanych produktu i pokazuje ją na karcie. Działa do pierwszej kontroli — bo pytanie brzmi wtedy nie „co pokazujecie”, tylko „na jakiej podstawie”.

Kwota bez historii, z której powstała, jest deklaracją. Dopiero historia jest dowodem.

Dlatego historię cen prowadzimy jako ciąg wyłącznie dopisywany, w osobnej tabeli, a nie w metadanych produktu. Trzy skutki tej decyzji:

  • Nic z rejestru nie znika przy zapisie produktu — a produkty bywają zapisywane masowo, importem albo integracją z magazynem.
  • Rejestr da się wyeksportować w całości i przekazać jako załącznik.
  • Dla każdej pokazanej kwoty da się wskazać wpisy, z których została policzona, razem z datami.

Czego rejestr świadomie nie robi

Zakres obowiązku jest węższy, niż podpowiada intuicja, a nadgorliwość w tym miejscu kosztuje wiarygodność komunikatu przy każdym produkcie.

Cena wprowadzająca nie jest obniżką. Kiedy nowy produkt startuje z niższą ceną, która po czasie ma wzrosnąć, komunikat brzmi „teraz taniej, potem drożej”, a nie „było drożej, jest taniej”. Linia o najniższej cenie z trzydziestu dni nie ma tu czego opisywać, więc się nie pokazuje.

Rabaty koszykowe i kody rabatowe nie zmieniają ceny towaru, więc nie trafiają do rejestru. Zastrzeżenie jest jednak istotne: jeżeli kod jest ogłaszany jako obniżka ceny konkretnego towaru, obowiązek dotyczy tego ogłoszenia — i trzeba go obsłużyć tam, gdzie ono stoi, a nie udawać, że problem nie istnieje, bo mechanizm rabatu leży gdzie indziej.

Warianty produktów są zapisywane, ale nie wyświetlane w sklepie, który wariantów nie sprzedaje. Dane do audytu są kompletne, bo kompletne muszą być zawsze — ale kod rysujący linię na karcie produktu wariantowego byłby kodem nigdy nieuruchomionym. Taki kod nie jest gotowością na przyszłość, tylko nieprzetestowaną powierzchnią, która zepsuje się dokładnie w dniu, w którym pierwszy raz się wykona.

Wniosek szerszy niż jeden przepis

Wymagania prawne w sklepie mają wspólną cechę: rzadko chodzi w nich o to, co widzi klient, a prawie zawsze o to, co da się odtworzyć po fakcie. Warto to rozstrzygnąć na początku, bo różnica między „pokazujemy właściwą kwotę” a „potrafimy uzasadnić każdą pokazaną kwotę” to różnica w projekcie bazy danych, a nie w szablonie.

Macie podobny problem?

Opisz, na czym się zacięło. Odpowiemy, czy to robota na godziny, czy na projekt.

Napisz do nas