Najważniejsze cechy i korzyści
- Zbiorcza aktualizacja cen: jeden plik CSV może wskazywać wiele produktów, co ogranicza potrzebę otwierania i edytowania ich kart osobno.
- Dostosowanie do cennika dostawcy: wybór separatora, obsługa nagłówka i mapowanie kolumn pozwalają wykorzystać różne układy danych bez ręcznego przestawiania każdej kolumny.
- Powtarzalne wyliczanie cen: zapisane ustawienia narzutu, obniżki i zaokrąglania są wykorzystywane przy kolejnych importach produktów bazowych.
- Kontrola przed aktualizacją: symulacja pokazuje planowane decyzje bez zapisywania cen w katalogu.
- Przejrzystość wyniku: podsumowanie i raport pozwalają odróżnić zmiany, pominięte pozycje, nieznane identyfikatory oraz wiersze zatrzymane przez limity.
- Możliwość przywrócenia zapisanych wartości: historia udostępnia cofanie przebiegów, dla których zachowały się odpowiednie dane do przywrócenia.
- Obsługa regularnych dostaw cenników: pobieranie pliku i import mogą być uruchamiane przez zewnętrzny harmonogram CRON.
Import CSV i dopasowanie produktów
Domyślny format obejmuje dwie kolumny: identyfikator oraz cenę. Na stronie mapowania można przypisać inne pozycje kolumn do identyfikatora, ceny sprzedaży i kosztu zakupu, a pozostałe pola pominąć. Moduł pokazuje próbkę wgranego pliku i może zaproponować przypisanie na podstawie rozpoznanych nagłówków; propozycja wymaga sprawdzenia i zapisania.
- Identyfikatory: referencja produktu, czyli kod SKU, EAN13, UPC, ID produktu oraz ID kombinacji w trybie kombinacji. MPN jest dostępny, jeśli odpowiednie pole istnieje w bazie danej instalacji.
- Powtarzające się kody w katalogu: ustawienie pozwala aktualizować pierwsze dopasowanie albo wszystkie rekordy o tym samym identyfikatorze.
- Format liczb: obsługiwany jest przecinek lub kropka dziesiętna, spacje w kwotach oraz symbole walut przy liczbie. Usunięcie symbolu waluty nie oznacza przeliczenia kursu.
- Format pliku: konfigurowalny separator, w tym tabulator, opcjonalny wiersz nagłówka, pola w cudzysłowach i usuwanie znacznika BOM z pliku UTF-8.
- Kontrola ponownego importu ręcznego: można zablokować użycie nazwy pliku odnotowanej wcześniej w historii zastosowanych importów ręcznych danego sklepu. Symulacje i przebiegi CRON nie są uwzględniane w tej kontroli.
Przykład podstawowego cennika CSV
reference;price
PROD-001;99.90
PROD-002;149,50
PROD-003;219.00
Dla tego przykładu należy wybrać referencję jako identyfikator, średnik jako separator i włączyć pomijanie pierwszego wiersza jako nagłówka. Kolumna pierwsza jest identyfikatorem, a druga ceną. Sposób interpretacji kwot jako netto lub brutto ustawia się oddzielnie.
Wyliczanie cen sprzedaży i reguły cenowe
Dla produktów bazowych punktem wyjścia może być cena z CSV, koszt zakupu z przypisanej kolumny CSV albo cena zakupu zapisana już w katalogu. Koszt odczytany z pliku służy do obliczeń; moduł nie zapisuje go jako nowej ceny zakupu produktu.
- Narzut na koszt: cena jest obliczana według wzoru: koszt × (1 + procent / 100). Przykładowo koszt 100 zł i narzut 30% dają cenę 130 zł przed ewentualnym zaokrągleniem.
- Obniżka procentowa: moduł odejmuje wybrany procent od wartości wskazanej jako punkt wyjścia.
- Zaokrąglanie: dostępne są dwa miejsca po przecinku, końcówka ,99, pełne jednostki w górę, najbliższa pełna jednostka oraz pozostawienie wyniku bez dodatkowego zaokrąglenia.
- Minimalny narzut na koszt: po zaokrągleniu cena może zostać podniesiona do poziomu wynikającego z ustawionego minimalnego narzutu, o ile dostępny jest dodatni koszt zakupu.
- Reguły warunkowe: można określić odrębne działanie dla producenta, dostawcy wskazanego w produkcie, domyślnej kategorii, zakresu wartości wejściowych albo wszystkich produktów objętych importem. Reguła może też wykluczyć pozycje z aktualizacji.
- Kolejność reguł: decyduje pierwsza pasująca aktywna reguła. Gdy żadna nie pasuje, stosowane są ustawienia domyślne. Lista reguł jest przypisana do sklepu docelowego.
Narzut i marża oznaczają tutaj różne obliczenia. Narzut 30% od kosztu 100 zł daje 130 zł, czyli marżę około 23,08% ceny sprzedaży. W podsumowaniu moduł oblicza marżę według wzoru: (cena sprzedaży netto − koszt netto) / cena sprzedaży netto. Zestawienie dotyczy pozycji, dla których dostępny jest koszt potrzebny do obliczenia.
Ceny netto, brutto i kombinacje produktów
Import cen netto zapisuje wartości bez przeliczania podatku. Dla cen brutto można wybrać stałą stawkę VAT albo przeliczenie według reguły podatkowej produktu dla domyślnego kraju sklepu docelowego. Przy pliku brutto reguły cenowe i zaokrąglanie działają na kwotach brutto, a dopiero wynik jest przeliczany na netto. Brak stawki potrzebnej do przeliczenia jest wykazywany w podsumowaniu.
W trybie kombinacji plik określa wpływ wariantu na cenę bazową produktu. Przy cenie bazowej 100 zł i wpływie kombinacji 20 zł suma wynosi 120 zł netto przed podatkiem i innymi mechanizmami cenowymi sklepu. Można również włączyć zerowanie ceny bazowej produktów, których kombinacje zostały zaktualizowane; taka zmiana wpływa na pozostałe warianty tego samego produktu. Reguły narzutu, obniżki procentowej i zaokrąglania oraz tworzenie obniżek jako cen specyficznych dotyczą importu produktów bazowych.
Symulacja, limity zmian i obniżki jako rabaty
Symulacja pozwala sprawdzić, jak moduł odczyta cennik i jakie decyzje podejmie, bez zapisu cen produktów. W ustawieniach limitów można kontrolować maksymalny procent wzrostu i spadku, cenę zerową, a dla produktów bazowych z zapisaną ceną zakupu również sprzedaż poniżej kosztu i minimalny narzut nad kosztem katalogowym.
- Pomijanie wiersza: pozycja naruszająca limit trafia do raportu, a pozostałe pozycje mogą zostać zaktualizowane.
- Zatrzymanie całego przebiegu: analiza poprzedzająca zapis sprawdza aktywne limity; ich naruszenie powoduje odrzucenie importu przed zmianą cen.
- Limit niedopasowanych pozycji: osiągnięcie ustawionego progu udziału niedopasowanych wierszy zatrzymuje przebieg przed zapisem.
- Obsługa błędnych danych: brak wymaganych kolumn, pusty identyfikator lub nieprawidłowa wymagana cena są raportowane jako pominięte pozycje.
Opcja obniżek jako rabatów zachowuje cenę katalogową produktu bazowego, a różnicę między nią i niższą ceną wynikową zapisuje jako kwotową cenę specyficzną PrestaShop. Kolejne importy zarządzają rabatami zapisanymi przez moduł. W instalacjach aktualizowanych z linii 1.1.x mechanizm porządkowania starszych rabatów może objąć także dawny, bezwarunkowy rabat kwotowy dodany ręcznie dla tego sklepu.
Raporty, historia i cofanie aktualizacji
Podsumowanie pokazuje liczbę odczytanych wierszy, zmienionych produktów i kombinacji, niezmienionych cen, pominięć, niedopasowań i blokad. Zawiera także informacje o wzrostach i spadkach cen, największych zmianach oraz wynikach stosowania reguł cenowych.
- Raport CSV: zawiera decyzję dla pozycji, przyczynę, numer wiersza, identyfikator, ID produktu lub kombinacji oraz dostępne wartości przed zmianą i po niej.
- Podgląd różnic w panelu: umożliwia filtrowanie według wyniku, kierunku zmiany i minimalnej zmiany procentowej. Pełny raport można pobrać do pliku.
- Historia przebiegów: udostępnia zapisane wyniki importów i symulacji, raporty oraz akcje przywracania i usuwania wpisów.
- Zapamiętywanie poprzednich cen: po włączeniu tej opcji można odtworzyć wartości zapisane przed danym przebiegiem. Domyślnie przechowywane są dane do cofania 10 ostatnich przebiegów, osobno dla sklepu.
- Podsumowanie e-mail: po zastosowanej aktualizacji można wysłać wiadomość na wskazany adres. Raport mniejszy niż 2 MiB jest dołączany do wiadomości; większy pozostaje do pobrania w panelu.
Cofanie może również usunąć rabaty utworzone przez przebieg i odtworzyć usunięte rabaty, jeśli zachowano ich zapis. Przywrócenie wcześniejszej ceny może nadpisać późniejszą edycję tego samego pola. Dostępność tej operacji zależy od zachowanych danych historii i nie zastępuje kopii bazy danych sklepu.
Pobieranie cenników, profile dostawców i CRON
Źródłem cennika może być plik wgrany z komputera lub adres dostawcy. Pobieranie zdalne obsługuje HTTP/HTTPS, FTP z opcją FTPS oraz SFTP, jeśli biblioteka cURL na serwerze udostępnia ten protokół. Dane połączenia obejmują odpowiednio adres, host, port, ścieżkę, login i hasło.
Profil dostawcy zapisuje pod nazwą ustawienia importu i eksportu, mapowanie kolumn, domyślne ustawienia wyliczania cen, limity i źródło pliku. Profile należą do sklepu docelowego, lecz nie przechowują jego wyboru, wgranego pliku, sekretu CRON ani hasła dostawcy. Lista reguł warunkowych pozostaje przypisana do sklepu. Po zmianie dostawcy trzeba sprawdzić dane uwierzytelnienia.
Moduł udostępnia adres CRON chroniony sekretem oraz operacje pobrania pliku, importu, pobrania połączonego z importem i odczytu statusu. Harmonogram ustawia się na serwerze lub w usłudze wywołującej adres cyklicznie. Wywołanie może wskazywać profil, a kolejne wywołania kontynuują rozpoczęty import. Profile nie stanowią magazynu oddzielnych haseł dla wielu dostawców; zgodność aktualnego hasła z profilem jest sprawdzana przy wywołaniu automatycznym wymagającym uwierzytelnienia.
Eksport cen, większe pliki i multistore
Eksport generuje CSV z identyfikatorami oraz aktualnymi cenami netto wybranego sklepu. Można wybrać produkty bazowe albo kombinacje, rodzaj identyfikatora i separator. Dla kombinacji eksportowany jest wpływ na cenę bazową. Ponowny import wymaga sprawdzenia mapowania, wybrania cen netto oraz ustawień reguł, aby nie przeliczyć ponownie już przygotowanych kwot.
Pliki o rozmiarze co najmniej 512 KiB uruchamiane w panelu są przetwarzane etapami z informacją o postępie. Po zamknięciu karty kolejne etapy nie są wykonywane przez przeglądarkę; powrót do strony importu pozwala kontynuować od zapisanego miejsca. Limit pliku w module wynosi 32 MiB, a ustawienia PHP mogą dodatkowo ograniczyć rozmiar przesyłanego pliku.
W instalacji multistore wybiera się sklep docelowy importu oraz sklep eksportu. Ceny są aktualizowane w wybranym sklepie, natomiast podstawowe ustawienia modułu są wspólne dla instalacji. Profile, reguły warunkowe i dane historii są powiązane ze sklepem.
Jak przygotować aktualizację cen?
- Wybierz sklep docelowy, zakres aktualizacji i identyfikator zgodny z danymi katalogu.
- Wgraj lub pobierz plik, sprawdź podgląd, separator, nagłówek i mapowanie kolumn.
- Ustaw netto lub brutto, potrzebne reguły cenowe, limity zmian i zapamiętywanie poprzednich cen.
- Uruchom symulację i sprawdź podsumowanie oraz raport różnic.
- Uruchom aktualizację z wyłączoną symulacją, a następnie sprawdź jej wynik w historii.
Zakres działania i wymagania
Import cen z CSV Pro aktualizuje dane cenowe istniejących produktów i kombinacji. Nie tworzy nowych produktów ani nie importuje stanów magazynowych, opisów, zdjęć, wag czy kodów identyfikacyjnych do kart produktów. Excel i inne arkusze mogą służyć do przygotowania cennika, ale plik trzeba zapisać w formacie CSV; moduł nie importuje bezpośrednio XLSX ani XML.
Dla wersji 1.4.0 moduł deklaruje obsługę PrestaShop od 1.7.6 do 9.x. Dokumentacja podaje zakres PHP 7.0–8.5, przy czym wersja PHP musi jednocześnie spełniać wymagania używanej wersji PrestaShop. Pobieranie zdalne wymaga cURL, a aktualizacje według harmonogramu wymagają skonfigurowania zewnętrznego CRON.
Link do demo modułu:
Demo panel administracyjny:
https://moduly-prestashop.eu/masowa-aktualizacja-csv-cen/admin-dev
Demo panel przedni:
https://moduly-prestashop.eu/masowa-aktualizacja-csv-cen