
Sprawdzone i zaktualizowane w czerwcu 2026 — wzory oraz ustawienia stanów magazynowych PrestaShop zweryfikowane dla wersji 1.7, 8 i 9.
Oto scenariusz, który co tydzień powtarza się w sklepach PrestaShop. Otwierasz Katalog → Stany magazynowe, a przy Twoim najlepiej sprzedającym się produkcie widzisz 3 sztuki. Dostawca potrzebuje 14 dni na realizację dostawy. Sprzedajesz mniej więcej 2 sztuki dziennie. Matematyka jest brutalna i oczywista: towar skończy się w mniej niż dwa dni, nowa dostawa dotrze dopiero po dwóch tygodniach, a Ty właśnie wpisałeś sobie w kalendarz dwanaście dni zerowej sprzedaży swojego topowego produktu. Najbardziej frustrujące jest to, że nie było w tym żadnego zaskoczenia — dane potrzebne do przewidzenia tej sytuacji przez cały czas czekały w panelu administracyjnym. Punkt ponownego zamówienia to po prostu liczba, która zmienia „znowu zabrakło nam towaru” w „nowa dostawa dotarła tydzień przed tym, zanim była potrzebna”.
Ten poradnik dotyczy jednej konkretnej decyzji: przy jakim poziomie zapasu składasz kolejne zamówienie u dostawcy i jak podłączyć ten próg w PrestaShop, żeby system przypominał o tym za Ciebie. To warstwa planowania, która leży pod każdą inną decyzją magazynową — czy ukrywać produkty niedostępne, czy pozwalać na zamówienia z opóźnioną realizacją, jak układać katalog. To osobne tematy z osobnymi odpowiedziami, podlinkowane niżej tam, gdzie pasują; tutaj trzymamy się wzoru i ustawień panelu administracyjnego, które pomagają go egzekwować.
Wzór na punkt ponownego zamówienia
Najbardziej przydatna liczba magazynowa, jaką możesz obliczyć, to punkt ponownego zamówienia — poziom zapasu, przy którym uruchamiasz nowe zamówienie u dostawcy:
Punkt ponownego zamówienia = (Średnia dzienna sprzedaż × Czas realizacji dostawy) + Zapas bezpieczeństwa
Przykład:
- Średnia dzienna sprzedaż: 5 sztuk
- Czas realizacji dostawy przez dostawcę: 10 dni
- Zapas bezpieczeństwa: 15 sztuk
- Punkt ponownego zamówienia = (5 × 10) + 15 = 65 sztuk
Gdy stan magazynowy spada do 65 sztuk, zamawiasz. 50 sztuk (5 × 10) pokrywa spodziewaną sprzedaż w czasie oczekiwania na dostawę; 15 sztuk bufora bezpieczeństwa amortyzuje wyjątkowo dobry tydzień albo opóźnioną wysyłkę. Co Ci to daje w praktyce? Zamówienie do dostawcy wychodzi dokładnie wtedy, gdy w dniu przyjazdu dostawy zostaje Ci niewielki, ale dodatni bufor — nie kilka tygodni za wcześnie (kapitał zamrożony na półce) i nie trzy dni za późno (scenariusz dwunastu dni zerowej sprzedaży opisany wyżej).
Te trzy dane wejściowe nie są zgadywanką. Dwie z nich — średnia dzienna sprzedaż i realny czas realizacji dostawy — już znajdują się w Twojej bazie PrestaShop, a kolejne sekcje pokazują, jak wyciągnąć je dokładnie.
Obliczanie średniej dziennej sprzedaży na podstawie danych z PrestaShop
Użyj co najmniej 30 dni historii sprzedaży, a jeśli masz dane, najlepiej 90 dni. Krótsze okna są zbyt zmienne — jeden dobry tydzień zawyża średnią i prowadzi do nadmiernego zatowarowania. PrestaShop daje Ci te dane bez arkusza kalkulacyjnego: Statystyki → Najlepiej sprzedające się produkty pozwalają ustawić zakres dat i pokazują łączną liczbę sprzedanych sztuk danego produktu w tym okresie. Podziel liczbę sprzedanych sztuk przez liczbę dni w zakresie i masz średnią dzienną sprzedaż.
Dwa doprecyzowania są ważne, jeśli wzór ma mówić prawdę:
- Wyklucz dni, w których produkt faktycznie był niedostępny. Jeśli produkt przez osiem dni z 30-dniowego okna miał stan zero, dzielenie przez 30 zaniży realny popyt i ustawisz punkt ponownego zamówienia zbyt nisko — praktycznie gwarantując kolejny brak magazynowy. Dziel przez dni, w których produkt był dostępny, a nie przez dni kalendarzowe.
- Sezonowość obsługuj danymi z ubiegłego roku, nie z ubiegłego miesiąca. Przy asortymencie sezonowym weź ten sam okres z poprzedniego roku i skoryguj go o wzrost. Produkt sprzedał się w liczbie 300 sztuk w ubiegłym czerwcu, a firma urosła o 20%? Zaplanuj mniej więcej 360 sztuk na ten czerwiec. Krocząca średnia z 90 dni całkowicie pominęłaby taki pik.
Jeśli sprzedajesz kombinacje (rozmiary, kolory), wyciągaj liczby dla każdej kombinacji, a nie tylko dla produktu — rozmiar „M” sprzedawany codziennie i „XXL” sprzedawany raz w miesiącu potrzebują różnych punktów ponownego zamówienia, mimo że mają tę samą kartę produktu. PrestaShop śledzi stan magazynowy dla każdej kombinacji i tak samo powinno działać Twoje planowanie.
Jeśli wolisz samodzielnie pobrać surowe liczby — na przykład po to, żeby zasilić arkusz kalkulacyjny liczący punkty ponownego zamówienia dla wielu produktów naraz — zapytanie tylko do odczytu w Parametry zaawansowane → Baza danych → Menedżer SQL zwróci liczbę sprzedanych sztuk na produkt w wybranym oknie. Poniższe zapytanie sumuje ilości z zatwierdzonych zamówień z ostatnich 90 dni:
SELECT od.product_id,
od.product_name,
SUM(od.product_quantity) AS units_sold
FROM ps_order_detail od
JOIN ps_orders o
ON o.id_order = od.id_order
WHERE o.valid = 1
AND o.date_add >= DATE_SUB(NOW(), INTERVAL 90 DAY)
GROUP BY od.product_id, od.product_name
ORDER BY units_sold DESC;
Podziel każdą wartość units_sold przez 90 (albo przez liczbę dni, w których produkt był faktycznie dostępny, zgodnie z doprecyzowaniem powyżej), żeby uzyskać średnią dzienną sprzedaż. Zapytanie wyłącznie odczytuje dane — nigdy ich nie zmienia. Warunek o.valid = 1 ogranicza wyniki do zamówień, które PrestaShop traktuje jako realną sprzedaż, więc anulowane zamówienia i błędy płatności nie zawyżają popytu. Jeśli potrzebujesz szczegółów na poziomie kombinacji, grupuj również po od.product_attribute_id. W większości sklepów jednak Statystyki → Najlepiej sprzedające się produkty z zakresem dat to ścieżka bez SQL do tych samych liczb.
Zapas bezpieczeństwa: jak duży bufor wystarczy
Zapas bezpieczeństwa chroni przed dwiema rzeczami, których średnia nie widzi: skokami popytu i poślizgami dostawcy.
- Zmienność popytu: średnia wynosi 5 sztuk dziennie, ale realne dni wahają się od 3 do 8. Bufor pokrywa dni powyżej średniej, które pojawiają się w czasie oczekiwania na uzupełnienie zapasu.
- Zmienność dostaw: dostawca deklaruje 10 dni, a częściej, niż chciałby przyznać, dostarcza w 14. Bufor pokrywa różnicę między deklarowanym a faktycznym czasem realizacji.
Praktyczny wzór dla małych sklepów:
Zapas bezpieczeństwa = (Maksymalna dzienna sprzedaż − Średnia dzienna sprzedaż) × Maksymalny czas realizacji dostawy
Przykład:
- Maksymalna dzienna sprzedaż (najbardziej ruchliwy realistyczny dzień): 8 sztuk
- Średnia dzienna sprzedaż: 5 sztuk
- Maksymalny czas realizacji dostawy (najgorszy zaobserwowany przypadek): 14 dni
- Zapas bezpieczeństwa = (8 − 5) × 14 = 42 sztuki
To celowo konserwatywne podejście — bufor jest liczony na scenariusz, w którym gorszy dzień spotyka się z opóźnioną dostawą. Przy produktach mniej krytycznych albo napiętej gotówce możesz go zmniejszyć. Ten kompromis nigdy nie znika: większy zapas bezpieczeństwa oznacza mniej braków, ale więcej kapitału leżącego bezczynnie; mniejszy zapas uwalnia gotówkę, ale zwiększa ryzyko wyczerpania towaru. Właśnie dlatego kolejna sekcja mówi, żeby nie stosować tego samego bufora do każdego produktu.
Analiza ABC: poświęcaj uwagę tam, gdzie jest przychód
Możesz mieć setki SKU, ale nie wszystkie zasługują na taki sam nakład pracy. Analiza ABC porządkuje je według wkładu w przychód, dzięki czemu inwestujesz precyzję tam, gdzie brak towaru naprawdę boli:
| Klasa | Udział w katalogu | Udział w przychodzie (typowo) | Monitorowanie | Zapas bezpieczeństwa |
|---|---|---|---|---|
| A | Top ~20% | 60–80% | Sprawdzaj codziennie; precyzyjny punkt ponownego zamówienia | Hojny — brak towaru tutaj jest kosztowny |
| B | Kolejne ~30% | ~15–25% | Co tydzień | Umiarkowany |
| C | Dolne ~50% | Pojedyncze procenty | Co miesiąc | Minimalny — tydzień bez towaru prawie nie zostanie zauważony |
Podział przychodów zwykle przypomina zasadę Pareto; traktuj procenty jako kierunkowe i potwierdź własne dane w Statystyki → Najlepiej sprzedające się produkty, sortując po wartości sprzedaży. Sens pozostaje ten sam: perfekcyjne planowanie ponownego zamówienia dla produktu, który sprzedaje się dwa razy w miesiącu, to zmarnowany wysiłek obok poprawnego ustawienia progów dla listy A. Dla produktów A licz pełne punkty ponownego zamówienia i zapas bezpieczeństwa, dla B stosuj przybliżenia, a dla C wystarczy prosta zasada „zamów ponownie, gdy stan spadnie do tej okrągłej liczby”.
Podłączenie punktów ponownego zamówienia w panelu PrestaShop

Punkt ponownego zamówienia, o którego sprawdzeniu musisz pamiętać, to punkt, o którym w końcu zapomnisz. PrestaShop może pilnować progu za Ciebie. Przy każdym produkcie otwórz kartę Ilości, a znajdziesz dwa ustawienia, które zamieniają obliczoną liczbę w automatyczny sygnał:
- Minimalna ilość do sprzedaży — jak nisko może spaść stan magazynowy, zanim produktu nie będzie można zamówić. To Twoja dolna granica, a nie wyzwalacz ponownego zamówienia.
- Alert niskiego stanu magazynowego (pole „Otrzymuj powiadomienie e-mailem” / poziomu niskiego stanu) — ustaw tutaj swój punkt ponownego zamówienia, nie 1 ani 2, i włącz opcję e-mail. Gdy dostępna ilość przekroczy ten próg w dół, PrestaShop wyśle e-mail z powiadomieniem o niskim stanie magazynowym. Odbiorcą jest adres powiadomień sprzedawcy/pracownika, a nie pole z Ustawień klienta — sprawdź, dokąd trafia ta wiadomość w konfiguracji pracowników lub alertów e-mail w Twojej wersji. Ten e-mail jest Twoim sygnałem „dziś złóż zamówienie u dostawcy”.
Mechanizm działający pod spodem: stan magazynowy każdego produktu lub kombinacji znajduje się w tabeli ps_stock_available i jest zarządzany przez klasę StockAvailable. Każde zamówienie go zmniejsza i uruchamia hook actionUpdateQuantity, na którym opiera się sprawdzanie niskiego stanu. Nie musisz tego dotykać — ale właśnie dlatego ustawienie pola alertu osobno dla każdej kombinacji ma znaczenie: każda kombinacja ma własny wiersz i własny próg.
Jedna decyzja platformowa kształtuje całą resztę. We współczesnym PrestaShop zarządzanie stanami magazynowymi znajduje się w Parametry sklepu → Ustawienia produktów i jest kontrolowane przez wartość konfiguracyjną PS_STOCK_MANAGEMENT. Starszy PrestaShop 1.6 dodatkowo udostępniał Advanced Stock Management (wiele magazynów, ilości fizyczne kontra dostępne, ruchy zapasów dostawców w ps_stock), sterowany wartością PS_ADVANCED_STOCK_MANAGEMENT — koncepcję z epoki 1.6, której nowsze wersje nie pokazują już jako zwykłego ustawienia. Dla małego sklepu z jedną lokalizacją prosty stan magazynowy plus alert niskiego stanu to właściwe narzędzie — ten starszy mechanizm ASM dodawał realny narzut i był zbudowany z myślą o operacjach magazynowych, a nie o sklepie zamawiającym towar od jednego dostawcy.
Jeśli wyrosłeś już z natywnych e-maili o niskim stanie — chcesz mieć jeden ekran z listą wszystkich produktów poniżej punktu ponownego zamówienia, z dostawcą i sugerowaną ilością do zamówienia, zamiast ścigać pojedyncze wiadomości — to jest moment, w którym dedykowany panel stanów magazynowych zaczyna na siebie zarabiać. Szerszy próg „kiedy panel administracyjny przestaje wystarczać” omawiamy w artykule zarządzanie zapasami w małych sklepach internetowych, a katalog modułów mypresta.rocks zawiera narzędzia, które pokazują przekroczenia punktów ponownego zamówienia w całym katalogu w jednym widoku, zamiast opierać się na alertach dla pojedynczych produktów.
Ile zamawiać za każdym razem
Punkt ponownego zamówienia mówi Ci kiedy; wielkość zamówienia mówi ile. Zamawiaj zbyt często, a marnujesz czas administracyjny i koszty każdej wysyłki; zamawiaj zbyt dużo, a zamrażasz kapitał i powierzchnię magazynową. Podręcznikowa odpowiedź to ekonomiczna wielkość zamówienia:
EOQ = √(2 × Roczny popyt × Koszt zamówienia / Koszt utrzymania jednej sztuki)
- Roczny popyt: liczba sztuk sprzedanych w ciągu roku (pełny rok w Statystyki → Najlepiej sprzedające się produkty).
- Koszt zamówienia: stały koszt złożenia jednego zamówienia — wysyłka, obsługa, Twój czas administracyjny.
- Koszt utrzymania zapasu: roczny koszt przechowywania jednej sztuki — miejsce, ubezpieczenie i koszt alternatywny zamrożonego kapitału, zwykle 15–25% kosztu jednostki.
Szczerze mówiąc, większość małych sklepów nie potrzebuje pierwiastka kwadratowego. Praktyczna zasada: zamów tyle, żeby pokryć popyt do kolejnego naturalnego zamówienia, plus zapas bezpieczeństwa. Jeśli zamawiasz co miesiąc i sprzedajesz 150 sztuk miesięcznie, zamów 150 plus bufor, który utrzyma Cię na docelowym poziomie bezpieczeństwa. Po EOQ sięgaj dopiero wtedy, gdy koszty zamówień albo koszty utrzymania zapasu są na tyle wysokie, że częstotliwość zamawiania naprawdę zmienia Twoją marżę.
Twoje wzory są tak dobre, jak dane o czasie realizacji dostawy
Najczęstszy powód, dla którego poprawny punkt ponownego zamówienia i tak kończy się brakiem magazynowym: wpisany do wzoru czas realizacji dostawy to liczba, którą dostawca zadeklarował, a nie liczba, w której faktycznie dostarcza. Śledź realne czasy realizacji i podstawiaj do wzorów realne dane:
- Notuj różnicę między dniem złożenia każdego zamówienia a dniem, w którym towar faktycznie dociera — w starszym Advanced Stock Management z wersji 1.6 Magazyn → Ruchy magazynowe zapisuje znaczniki czasu przyjęć; w nowoczesnym sklepie z prostym stanem magazynowym śledź czasy realizacji dostawcy ręcznie w kolumnie arkusza do ponownych zamówień.
- Do obliczania zapasu bezpieczeństwa dla produktów A używaj najgorszego zaobserwowanego czasu realizacji, nie średniej. Bufor istnieje właśnie na zły przypadek.
- Miej zapasowego dostawcę dla produktów A i zamawiaj w regularnym rytmie — dostawcy traktują przewidywalnych klientów priorytetowo, co po cichu skraca realny czas realizacji.
Ile naprawdę kosztują braki magazynowe — i jakie decyzje z tego wynikają
Sprzedawcy stale zaniżają koszt braku towaru. Utracona sprzedaż to tylko widoczna część:
- Utracona sprzedaż: klient chciał kupić, ale nie mógł.
- Utracony klient: sprawdza konkurencję i może już nie wrócić.
- Zmarnowany budżet reklamowy: każde kliknięcie reklamy produktu bez stanu magazynowego to przepalone pieniądze.
- Wahania katalogu i indeksowania: zależnie od tego, jak obsługujesz produkty niedostępne, strony mogą wypadać z mapy witryny i ponownie do niej wracać.
Zsumuj dzienny przychód generowany przez pięć najważniejszych produktów — ta liczba pokazuje, ile kosztuje Cię brak systemu ponownych zamówień w każdy dzień braku towaru. W większości sklepów to wielokrotnie więcej niż koszt utrzymywania trochę większego zapasu bezpieczeństwa — i to jest cały argument za ustawieniem tych progów oraz pozwoleniem PrestaShop, żeby ich pilnował.
Dobry punkt ponownego zamówienia zapobiega większości braków magazynowych, ale nie wszystkim, i nie decyduje o tym, co sklep pokazuje klientom, gdy stan faktycznie spadnie do zera. To celowo oddzielne decyzje:
- Co klienci widzą przy zerowym stanie. Ukryć produkt czy zostawić go widocznego z informacją o dostępności? Obie decyzje da się obronić, a właściwy wybór zależy od katalogu — pełne omówienie znajdziesz w artykule brak towaru: ukrywać czy nie ukrywać.
- Sprzedaż przez lukę w dostępności. Jeśli możesz przyjmować zamówienia pod nadchodzącą dostawę, zamówienia z opóźnioną realizacją i przedsprzedaż zmieniają brak towaru w opóźnioną sprzedaż zamiast utraconej — zobacz przedsprzedaż i zamówienia z opóźnioną realizacją w PrestaShop.
- Ponowne zamawianie na większą skalę. Gdy zarządzasz setkami SKU, przyda Ci się masowy eksport stanów i danych sprzedażowych, żeby liczyć punkty ponownego zamówienia poza panelem administracyjnym — eksporty CSV zamówień i faktur oraz import i eksport produktów pokazują, jak wyciągać i wprowadzać dane.
Najczęściej zadawane pytania
Jaki jest wzór na punkt ponownego zamówienia?
Punkt ponownego zamówienia = (Średnia dzienna sprzedaż × Czas realizacji dostawy) + Zapas bezpieczeństwa. Jeśli sprzedajesz 5 sztuk dziennie, dostawca potrzebuje 10 dni, a Ty utrzymujesz bufor 15 sztuk, zamawiasz ponownie, gdy stan osiągnie (5 × 10) + 15 = 65 sztuk. Pierwsze 50 sztuk pokrywa spodziewaną sprzedaż w czasie oczekiwania; 15 sztuk amortyzuje ruchliwy tydzień albo opóźnioną dostawę.
Jak obliczyć średnią dzienną sprzedaż w PrestaShop?
Użyj Statystyki → Najlepiej sprzedające się produkty z zakresem dat od 30 do 90 dni, a następnie podziel liczbę sprzedanych sztuk przez liczbę dni w zakresie — ale dziel przez dni, w których produkt był dostępny, nie przez dni kalendarzowe, bo wcześniejszy brak magazynowy zaniży realny popyt. Dla widoku według kombinacji lub masowego podglądu powyższe zapytanie SQL tylko do odczytu pobiera te same liczby prosto z tabel zamówień.
Gdzie ustawić wyzwalacz ponownego zamówienia, żeby PrestaShop mi przypominał?
Na karcie Ilości każdego produktu ustaw pole poziomu niskiego stanu magazynowego na obliczony punkt ponownego zamówienia (nie 1 ani 2) i włącz powiadomienie e-mail. Gdy dostępna ilość przekroczy ten próg w dół, PrestaShop wyśle wiadomość na adres powiadomień sprzedawcy — ten e-mail jest Twoim sygnałem „dziś złóż zamówienie u dostawcy”. Ustawiaj go osobno dla każdej kombinacji, ponieważ każda kombinacja ma własny wiersz i własny próg.
Jaki zapas bezpieczeństwa warto utrzymywać?
Praktyczny wzór dla małych sklepów: Zapas bezpieczeństwa = (Maksymalna dzienna sprzedaż − Średnia dzienna sprzedaż) × Maksymalny czas realizacji dostawy. Używaj najgorszego zaobserwowanego czasu realizacji, nie średniej — bufor istnieje na scenariusz, w którym zły dzień spotyka się z opóźnioną dostawą. Dla bestsellerów z listy A utrzymuj hojniejszy zapas bezpieczeństwa, a dla długiego ogona minimalny; tydzień bez akcesorium za €2 prawie nie zostanie zauważony.
Czy e-mail o niskim stanie obsługuje wiele magazynów?
Nie — natywny stan magazynowy i jego alert niskiego stanu zakładają jedną pulę zapasu. Gdy tylko towar znajduje się w więcej niż jednej lokalizacji, pojedynczy próg przestaje opisywać rzeczywistość. Punkty ponownego zamówienia per lokalizacja (to, że w biurze kończy się towar, nie oznacza, że magazyn jest pusty) są częścią Warehouse Revolution.
Planowanie zapasów nie musi być skomplikowane. Punkty ponownego zamówienia dla produktów A, pole alertu niskiego stanu ustawione na te punkty, żeby PrestaShop wysyłał e-mail zamiast wymagać od Ciebie pamiętania o sprawdzeniu, realne dane o czasie realizacji dostaw i cotygodniowe spojrzenie na Katalog → Stany magazynowe — to wystarcza, żeby prowadzić większość małych sklepów bez ani jednego awaryjnego zamówienia. Wzory to prosta arytmetyka. Efekt bierze się z ustawienia progu tam, gdzie system będzie go egzekwował, więc dyscyplina nie zależy od Twojej pamięci.
Komentarze
Brak komentarzy. Bądź pierwszy!
Bądź pierwszy: zadaj pytanie albo podziel się przydatną opinią.
Dodaj komentarz
Dodaj pytanie, szczegół montażu albo opinię, która może pomóc innemu czytelnikowi.