- Patryk Marek
- Baza wiedzy
- 0 polubienia
- 40 wyświetlenia
- 0 komentarze
- import ilości do PrestaShop, stany magazynowe dostawcy, aktualizacja ilości kombinacji, symulacja importu stanów
Klient zamawia produkt oznaczony jako dostępny, a dostawca odpowiada: „ostatnia sztuka już sprzedana”. Aktualizacja stanów magazynowych w PrestaShop z pliku CSV pomaga przenosić dostępność z zewnętrznego zestawienia do sklepu. Żeby miało to sens, trzeba ustalić, co oznaczają liczby w pliku, jak rozpoznawać warianty i kiedy dane dostawcy uwzględniają już Twoje zamówienia.
Aktualizacja stanów z CSV Pro dla PrestaShop umożliwia import ilości istniejących produktów i kombinacji, symulację zmian, kontrolę limitów oraz cykliczne pobieranie plików. Poniżej pokazujemy, jak ułożyć ten proces i uniknąć błędów, których samo częstsze uruchamianie importu nie naprawi.
Pełny stan czy nowa dostawa? Wybierz właściwy tryb importu
„Ustaw stan” zastępuje dotychczasową ilość. „Dodaj do stanu” zwiększa ją o ilość z pliku. Oba tryby są dostępne w module, ale odpowiadają na różne potrzeby.
| Co zawiera CSV? | Tryb | Przykładowy wynik |
|---|---|---|
| Aktualna ilość przeznaczona do sprzedaży: 12 sztuk |
Ustaw stan | W sklepie było 5 sztuk. Po imporcie będzie 12. |
| Nowa dostawa: 12 dodatkowych sztuk |
Dodaj do stanu | W sklepie było 5 sztuk. Po imporcie będzie 17. |
Przykład zakłada wyłączone odejmowanie zamówień i brak blokady przez limity. Jeśli codzienny plik dostawcy zawiera pełną dostępność, użycie trybu dodawania zawyży stan przy kolejnych importach. Z kolei ustawienie stanu na podstawie samej nowej dostawy zastąpi ilość towaru, który był już w sklepie.
W trybie dodawania pilnuj, czy dokument został już przetworzony. Moduł ma kontrolę ponownego użycia nazwy pliku, ale zmiana nazwy nie oznacza nowej dostawy. Jeżeli dopuścisz ponowny import tych samych ilości jako osobny przebieg, możesz doliczyć je drugi raz.
Jak przygotować plik CSV do aktualizacji ilości?
W podstawowym pliku wystarczą dwie kolumny: identyfikator i ilość. Przykład dla referencji produktów:
reference;quantity
MUG-001;12
BAG-002;0
TOW-003;24
W tym pliku separatorem jest średnik, a pierwszy wiersz to nagłówek. W module wybierz referencję jako identyfikator, przypisz kolumnę quantity do ilości i ustaw pomijanie nagłówka. W trybie „ustaw stan”, bez odejmowania zamówień, docelowe ilości wyniosą odpowiednio 12, 0 i 24, o ile pozwolą na to zabezpieczenia.
Mapowanie kolumn pozwala wykorzystać plik o innym układzie — np. z kodem w trzeciej kolumnie i stanem w siódmej. Pozostałe kolumny można pominąć. Podpowiedź mapowania z nagłówków warto sprawdzić na kilku wierszach przed zapisaniem.
Identyfikator musi oznaczać ten sam produkt w pliku i w sklepie. Kod dostawcy nie staje się automatycznie referencją PrestaShop. Moduł obsługuje m.in. referencję, EAN oraz ID produktu lub kombinacji. Sprawdź unikalność kodów i zachowaj zera na ich początku. Plik XLSX wyeksportuj do CSV, najlepiej w UTF-8. Ilości przygotuj jako liczby całkowite: moduł obcina część ułamkową, więc 3,7 zostanie odczytane jako 3.
PrestaShop ma również standardowy importer CSV z mapowaniem pól. Przy jednorazowej aktualizacji warto sprawdzić jego możliwości. Osobny moduł przydaje się przede wszystkim wtedy, gdy potrzebujesz powtarzalnych ustawień, symulacji, bezpieczników, historii i automatycznego pobierania plików.
Produkt ma rozmiary lub kolory? Aktualizuj stany kombinacji
Pięć sztuk produktu nie mówi, które warianty można sprzedać. Koszulka może mieć łącznie pięć sztuk, ale wszystkie w rozmiarze L. Wpisanie ogólnego stanu nie uzupełni brakujących rozmiarów S i M.
Dla produktów z kombinacjami wybierz tryb aktualizacji kombinacji i identyfikator konkretnego wariantu, np. jego referencję, EAN lub ID kombinacji. Moduł przelicza łączny stan produktu na podstawie stanów jego kombinacji. W trybie aktualizacji produktów pomija rodzica mającego kombinacje i zapisuje przyczynę w raporcie.
Sprawdź też powtarzające się identyfikatory. Jeżeli kilka wariantów ma wspólny kod, jeden wiersz nie wskazuje jednoznacznie, któremu z nich należy przypisać ilość. Opcja aktualizowania wielu dopasowań wymaga świadomego użycia; nie rozdziela automatycznie jednej puli towaru między warianty.
U dostawcy jest 20 sztuk, ale trzy już sprzedano. Co zaimportować?
Stan fizyczny i ilość dostępna do sprzedaży mogą się różnić. Towar przeznaczony do realizacji zamówienia nadal może leżeć na półce. PrestaShop rozróżnia ilość dostępną, fizyczną i zarezerwowaną, co wyjaśnia dokumentacja zarządzania stanami.
Moduł może odjąć od ilości z CSV produkty zamówione w wybranych statusach. Jeśli plik podaje 20 sztuk, a pasujące pozycje zamówień obejmują trzy, do dalszych obliczeń trafi 17. W trybie „ustaw stan” będzie to docelowa ilość, o ile nie zablokują jej limity.
Włącz tę funkcję tylko wtedy, gdy plik nie uwzględnia jeszcze tych zamówień. Jeśli system dostawcy już zmniejszył dostępność z 20 do 17, ponowne odjęcie trzech sztuk da 14. Nie będzie to poprawna dostępność.
Dobierz statusy do własnego procesu realizacji. Mechanizm sumuje ilości z pozycji zamówień znajdujących się obecnie w wybranych statusach; nie jest pełnym rozliczeniem rezerwacji w ERP. Działa także przed dodaniem ilości w trybie „dodaj do stanu”, dlatego przy zwykłym dokumencie nowej dostawy sprawdź, czy takie odejmowanie jest w ogóle potrzebne.
Zero, pusta komórka i brak produktu w pliku to trzy różne sytuacje
- Ilość 0: w trybie „ustaw stan”, przy wyłączonym odejmowaniu zamówień, oznacza zamiar wyzerowania wskazanego produktu lub wariantu. Zapis może zatrzymać skonfigurowany bezpiecznik.
- Pusta lub nieprawidłowa ilość: wiersz jest pomijany i opisywany w raporcie. Nie staje się automatycznie zerem.
- Brak wiersza produktu: moduł nie zeruje jego stanu tylko dlatego, że produkt nie występuje w CSV.
To szczególnie ważne, gdy dostawca wysyła wyłącznie produkty dostępne. Pozycja, która zniknęła z takiego pliku, może zachować wcześniejszą ilość w sklepie. Jeśli chcesz przekazywać wyczerpanie zapasu, ustal z dostawcą eksport pozycji z zerem albo osobno przygotuj brakujące zerowe wiersze. Nie zakładaj, że nieobecność oznacza wycofanie: przyczyną może być filtr lub niepełny eksport.
Jak przeprowadzić import stanów bez zgadywania wyniku?
- Ustal źródło i znaczenie danych. Sprawdź datę eksportu, pełny lub częściowy zakres pliku, jednostkę oraz to, czy są to stany końcowe, czy ilości nowej dostawy.
- Wybierz sklep i tryb. Ustaw produkty lub kombinacje, identyfikator oraz „ustaw” albo „dodaj”. W multistore sprawdź, czy sklepy współdzielą stany.
- Zachowaj dotychczasowe ilości. Wyeksportuj stany i włącz zapamiętywanie wartości sprzed przebiegu. Przed pierwszym dużym importem przygotuj również kopię bazy sklepu.
- Ustaw zabezpieczenia. Moduł udostępnia limity procentowego wzrostu i spadku, blokadę zerowania od wskazanej liczby sztuk, politykę ilości ujemnych oraz próg niedopasowanych wierszy. Dobierz je do charakteru katalogu.
- Uruchom symulację. Porównaj ilości przed i po zmianie, niedopasowane kody, pominiętych rodziców z kombinacjami i zablokowane wiersze. Symulacja nie zapisuje stanów w katalogu.
- Wykonaj import i sprawdź sklep. Zweryfikuj raport, kilka konkretnych wariantów, produkt z zerowym stanem i możliwość złożenia zamówienia. Przy trwającej sprzedaży uwzględnij zamówienia powstałe po imporcie.
Reakcją na naruszenie limitów może być pominięcie wiersza albo zatrzymanie przebiegu po analizie wstępnej. Blokada dużego spadku pomaga wychwycić podejrzany plik, ale może też zatrzymać prawidłową informację o wyczerpaniu towaru. Dlatego raport zablokowanych pozycji wymaga sprawdzenia.
Automatyczna aktualizacja stanów: jak często uruchamiać CRON?
Częstotliwość importu dopasuj do częstotliwości powstawania nowych danych. Jeżeli dostawca generuje plik raz dziennie, pobieranie go co pięć minut nie odświeży informacji o jego magazynie. Znaczenie ma także czas potrzebny na zakończenie importu w Twoim sklepie.
Moduł pobiera CSV przez HTTP/HTTPS, FTP/FTPS lub SFTP, zależnie od konfiguracji i obsługi protokołów przez serwer. Profile dostawców pozwalają zapisać ustawienia kolejnych importów. Cykliczną pracę uruchamia zewnętrzny CRON wywołujący adres modułu; samo zapisanie źródła pliku nie tworzy działającego harmonogramu.
Po konfiguracji sprawdź ostatnie wywołanie i zakończenie przebiegu w historii. Możesz włączyć podsumowania e-mail. Przy kilku źródłach ustal, które produkty aktualizuje każde z nich: kolejne pełne zestawienie w trybie „ustaw stan” może zastąpić wynik poprzedniego.
Okresowy import odwzorowuje otrzymany stan w momencie aktualizacji. Nie rezerwuje towaru u dostawcy podczas zakupów klienta. Przy wspólnym magazynie obsługującym wielu sprzedawców sama aktualizacja CSV nie daje gwarancji, że ostatnia sztuka nadal będzie dostępna przy realizacji zamówienia.
Dostępność w sklepie i w Google powinna się zgadzać
Po zmianie stanów sprawdź dane wysyłane do Google Merchant Center. Google wymaga zgodności dostępności w źródle danych, na stronie produktu i podczas zakupu. Porównuj ten sam wariant: dostępny rozmiar L nie potwierdza dostępności rozmiaru M.
W praktyce warto generować feed po zakończeniu importu ilości. Aktualizacja stanów z CSV Pro nie zarządza osobną integracją Merchant Center. Sprawdź również, czy sklep pozwala zamawiać towary bez zapasu — sam zapis zera nie rozstrzyga wszystkich zasad sprzedaży.
Import stanów do PrestaShop — częste pytania
Czy stan 0 automatycznie blokuje dodanie do koszyka?
Nie zawsze. Decydują także ustawienia zamawiania produktów bez dostępnego stanu oraz ustawienia konkretnego produktu. Moduł aktualizuje ilość; sprawdź osobno zachowanie sklepu po jej wyzerowaniu.
Czy można przywrócić stan sprzed importu?
Tak, jeśli moduł zachował poprzednie ilości dla danego przebiegu. Funkcja „Przywróć” zapisuje te wartości ponownie. Przed użyciem porównaj późniejsze zamówienia, dostawy i ręczne korekty: przywrócenie starej liczby może nadpisać ich wpływ. Historia importera nie jest pełną ewidencją ruchów magazynowych.
Czy moduł współpracuje ze wspólnym stanem w multistore?
Obsługuje stany osobnego sklepu i grupy współdzielącej zapas. Przy wspólnym stanie zmiana wpływa na dostępność w tej grupie. Odejmowanie ilości z zamówień dotyczy natomiast wybranego sklepu, więc nie traktuj go jako automatycznej sumy zamówień całej grupy.
Czy import uruchomi powiadomienia i integracje reagujące na zmianę stanu?
Nie należy tego zakładać. Import wsadowy nie wywołuje hooka actionUpdateQuantity i nie tworzy standardowych wpisów stock_mvt. Jeśli inne rozszerzenie korzysta z tych mechanizmów, potrzebna jest osobna weryfikacja integracji. Moduł prowadzi własną historię importów.
Aktualizacja stanów z CSV Pro służy do ilości istniejących produktów i kombinacji. Nie tworzy nowych produktów ani nie aktualizuje ich opisów czy cen. O osobnym procesie cenowym przeczytasz w artykule Aktualizacja cen w PrestaShop z CSV. Przy stanach zacznij od jednego sprawdzonego pliku i symulacji, a dopiero potem ustaw regularne importy.
Komentarze (0)