Najważniejsze funkcje i korzyści
- Masowa aktualizacja ilości: zmiana stanów wielu pozycji z jednego pliku, bez ręcznego edytowania każdej karty produktu.
- Osobne tryby produktów i kombinacji: aktualizacja produktów bez wariantów albo stanów konkretnych wariantów, z przeliczeniem ich sumy na poziomie produktu.
- Dopasowanie według kodów katalogowych: referencja, czyli SKU, EAN13, UPC, ID produktu, ID kombinacji oraz MPN, jeśli odpowiednie pole jest dostępne w instalacji.
- Mapowanie kolumn dostawcy: wskazanie kolumn identyfikatora i ilości, pomijanie dodatkowych danych oraz propozycja mapowania na podstawie rozpoznanych nagłówków.
- Ustawianie lub dodawanie ilości: wykorzystanie pełnego zestawienia stanów albo pliku zawierającego ilości do dodania, na przykład z dostawy.
- Uwzględnianie otwartych zamówień: opcjonalne odjęcie ilości z zamówień o wskazanych statusach przed zastosowaniem wartości z pliku.
- Symulacja przed zapisem: sprawdzenie dopasowań, planowanych zmian i powodów pominięcia pozycji bez zmiany stanów w katalogu.
- Konfigurowalne limity: kontrola procentowego wzrostu i spadku ilości, zerowania stanów oraz udziału wierszy bez dopasowania do sklepu.
- Obsługa ujemnego wyniku: wybór między zapisaniem wartości ujemnej, podniesieniem jej do zera i pominięciem pozycji.
- Raport CSV i ekran różnic: ilości przed i po operacji, różnica, identyfikatory oraz decyzja dotycząca danego wiersza; w panelu dostępne są filtry i stronicowanie raportu.
- Historia i przywracanie ilości: dostęp do przebiegów oraz cofnięcie zapisanych zmian, jeżeli zachowano migawkę stanów sprzed importu.
- Eksport aktualnych stanów: plik CSV dla produktów lub kombinacji z wyborem sklepu, identyfikatora i separatora, uwzględniający zapisane mapowanie kolumn.
- Pobieranie od dostawcy i profile ustawień: import plików z adresu HTTP/HTTPS lub serwera FTP/FTPS oraz zapisywanie konfiguracji używanych przy różnych źródłach danych.
- Obsługa cyklicznych aktualizacji: adres dla zewnętrznego CRON-a, podgląd wyniku ostatniego wywołania oraz kontynuowanie rozpoczętego importu.
- Etapowe przetwarzanie większych plików: pasek postępu i możliwość kontynuacji z panelu, również przy użyciu przycisku, gdy JavaScript jest wyłączony.
- Kontrola indeksu identyfikatora: informacja o brakującym indeksie bazy i narzędzie jego dodania, pomocne przy dopasowywaniu pozycji w większym katalogu.
- Podsumowanie e-mail: opcjonalna wiadomość po wykonanej aktualizacji, z raportem jako załącznikiem, gdy jego rozmiar na to pozwala.
Jak działa aktualizacja stanów produktów i wariantów?
Tryb produktów służy do aktualizacji pozycji bez kombinacji. Produkt posiadający kombinacje jest w tym trybie pomijany i otrzymuje odpowiedni wpis w raporcie. Aby zmienić ilości wariantów, należy wybrać tryb kombinacji i dopasować identyfikatory z pliku do właściwych wariantów. Po zapisie moduł przelicza łączny stan produktu jako sumę ilości jego kombinacji.
- Ustaw stan: jeżeli sklep ma 10 sztuk, a plik zawiera 25, nowy stan wyniesie 25 sztuk.
- Dodaj do stanu: przy 10 sztukach w sklepie i wartości 25 w pliku wynik wyniesie 35 sztuk.
- Odejmij otwarte zamówienia: w trybie ustawiania, przy wartości 25 w pliku i 4 sztukach w zamówieniach objętych wybranymi statusami, wynik wyniesie 21 sztuk.
Przykłady zakładają prawidłowe dopasowanie i brak blokady przez limity; w dwóch pierwszych odejmowanie zamówień jest wyłączone. Opcja odejmowania korzysta z zamówień sklepu docelowego i nie obsługuje dopasowania według MPN. Przy wspólnych kodach katalogowych można aktualizować pierwsze dopasowanie albo wszystkie dopasowane pozycje.
Plik CSV z magazynu lub hurtowni
Podstawowy układ zawiera identyfikator i ilość. Można ustawić separator, w tym tabulator, określić obecność nagłówka oraz przypisać inne pozycje kolumn. Podgląd danych ułatwia sprawdzenie mapowania, a propozycja rozpoznana z nagłówków wymaga zatwierdzenia. Plik należy przygotować w UTF-8; czytnik usuwa znacznik BOM i obsługuje pola w cudzysłowach.
Przykład dla separatora średnikowego, identyfikacji po referencji i włączonego pomijania nagłówka:
kod;ilość
SKU-001;25
SKU-002;0
SKU-003;8
Ilości są zapisywane jako liczby całkowite. Wartość 3,9 lub 3.9 zostanie odczytana jako 3, a -3,9 jako -3. Puste lub nieliczbowe wartości są pomijane z informacją w raporcie. Prawidłowa liczba 0 oznacza propozycję ustawienia zera w trybie ustawiania stanów i nadal podlega skonfigurowanym limitom.
Kontrola zmian i cofanie importu
Symulacja jest domyślnie włączona w formularzu uruchamiania aktualizacji. Limity pozwalają pominąć zablokowaną pozycję albo odrzucić import po analizie wykonanej przed zapisem. Procentowy wzrost i spadek są oceniane względem dodatniego stanu istniejącego w sklepie. Osobny próg może zatrzymać import, gdy udział poprawnie odczytanych wierszy bez użytecznego dopasowania do sklepu osiągnie ustawioną wartość.
Raport pokazuje decyzje dotyczące danych, a historia przechowuje informacje o pliku, sklepie, trybie oraz wynikach przebiegu. Przy włączonym zapisywaniu migawek funkcja przywracania odtwarza wcześniejsze ilości dla pozycji objętych migawką. Liczbę zachowywanych przebiegów można ustawić; domyślnie jest to 10. Przywrócenie wpisuje ilości sprzed importu, więc może nadpisać ich późniejsze zmiany wynikające z zamówień, ręcznej edycji lub kolejnych aktualizacji.
Pobieranie plików i automatyczna aktualizacja stanów
Plik można wgrać ręcznie albo pobrać z publicznego adresu HTTP/HTTPS lub serwera FTP/FTPS. SFTP jest dostępne, jeżeli obsługuje je biblioteka cURL na serwerze sklepu. Pobieranie wymaga rozszerzenia cURL i źródła dostępnego pod publicznym adresem; adresy sieci prywatnej są odrzucane.
Po włączeniu automatyzacji moduł udostępnia adres zabezpieczony sekretnym tokenem. Częstotliwość wywołań ustala się w zewnętrznym harmonogramie CRON. Kolejne wywołanie kontynuuje aktywny import; gdy nie ma rozpoczętego przebiegu, można pobrać nowy plik i wykonać aktualizację, tylko pobrać plik albo uruchomić import już zapisanego pliku. Dostępne jest również sprawdzenie statusu.
Profile dostawców zapisują między innymi separator, mapowanie, identyfikator, tryb ilości, limity i źródło pobierania. Są przechowywane osobno dla sklepu docelowego. Nie zawierają hasła dostawcy ani tokenu CRON, dlatego zmiana profilu wymaga sprawdzenia bieżącego hasła w ustawieniach automatyzacji.
Praca w multistore i zakres działania modułu
- Wybór sklepu: import i eksport mają ustawienie sklepu docelowego. Jeśli grupa sklepów współdzieli stany, aktualizacja dotyczy jej wspólnego zasobu, co wpływa również na pozostałe sklepy korzystające z tych ilości. Bieżące ustawienia modułu są wspólne dla instalacji.
- Aktualizacja istniejącego katalogu: moduł nie tworzy produktów ani kombinacji i nie importuje cen, opisów, zdjęć czy nowych kodów identyfikacyjnych. Nie ma funkcji automatycznego zerowania wszystkich pozycji nieobecnych w pliku.
- Format i wielkość pliku: przyjmowane są pliki CSV oraz TXT o strukturze CSV, bez bezpośredniego importu XLSX lub XML. Limit modułu wynosi 32 MiB; limit ręcznego wgrywania może być niższy z powodu ustawień serwera.
- Kontynuowanie pracy: przy imporcie etapowym uruchomionym w panelu kolejne kroki wymagają otwartej strony, ręcznej kontynuacji albo wywołań CRON. Zamknięcie karty nie uruchamia osobnego procesu w tle.
- Współpraca z dodatkami magazynowymi: zapis wsadowy nie wywołuje hooka
actionUpdateQuantityi nie tworzy wpisów ruchów magazynowychstock_mvt. Dodatki wymagające tych zdarzeń potrzebują osobnego sprawdzenia współpracy. - Zgodność deklarowana dla wersji 2.0.0: PrestaShop od 1.7.6.0 do serii 9.x; dokumentacja modułu wskazuje PHP 7.0–8.5. Wersja PHP musi jednocześnie odpowiadać wymaganiom używanej wersji PrestaShop.
Przebieg pracy z modułem
- Wybierz sklep, typ aktualizacji, identyfikator oraz sposób zastosowania ilości.
- Wgraj lub pobierz plik, sprawdź separator i nagłówek, a następnie zapisz mapowanie kolumn.
- Ustaw limity, zapisywanie migawek i ewentualne odejmowanie ilości z wybranych statusów zamówień.
- Uruchom symulację i przejrzyj podsumowanie oraz raport różnic.
- Po sprawdzeniu danych uruchom aktualizację z wyłączoną symulacją, a wynik sprawdź w historii.
Link do demo modułu:
Demo panel administracyjny:
https://moduly-prestashop.eu/csvquantityupd/admin-dev
Demo panel przedni:
https://moduly-prestashop.eu/csvquantityupd