- Patryk Marek
- Baza wiedzy
- 0 polubienia
- 39 wyświetlenia
- 0 komentarze
Dostawca przysłał nowy cennik, a w sklepie nadal obowiązują poprzednie ceny? Masowa aktualizacja cen w PrestaShop z pliku CSV pozwala wprowadzić zmiany bez otwierania każdego produktu osobno. Zanim uruchomisz import, ustal jednak, co oznaczają kwoty w pliku i po czym rozpoznasz produkty. Błędny identyfikator, cena brutto odczytana jako netto albo pełna cena wariantu wpisana jako dopłata mogą zmienić poprawny cennik w błędne ceny sprzedaży.
Poniżej przechodzimy od pliku dostawcy do sprawdzonej aktualizacji: mapowania kolumn, wyliczenia cen, symulacji i kontroli wyniku. Pokazujemy też, gdzie pomaga Aktualizacja cen z pliku CSV Pro dla PrestaShop i jakie ustawienia wymagają Twojej decyzji.
Czy do zmiany cen w PrestaShop trzeba instalować moduł?
PrestaShop ma własny importer CSV, dostępny w sekcji Zaawansowane → Import. Umożliwia mapowanie pól i aktualizację danych istniejących produktów. Może korzystać z referencji produktu jako klucza, co opisuje oficjalna instrukcja importu PrestaShop. Przy jednorazowej zmianie cen warto zacząć od sprawdzenia tych możliwości w swojej wersji sklepu.
Osobny moduł ma uzasadnienie, gdy cenniki wracają regularnie i potrzebujesz powtarzalnej procedury: zapisanych ustawień dostawcy, narzutu na koszt zakupu, limitów dopuszczalnych zmian, symulacji oraz historii z możliwością cofnięcia. Aktualizacja cen z pliku CSV Pro skupia te narzędzia wokół cen już istniejących produktów i kombinacji.
Jak przygotować CSV, żeby cena trafiła do właściwego produktu?
Najprostszy cennik zawiera identyfikator i cenę. Przykładowy plik dla referencji produktów może wyglądać tak:
reference;price
PROD-001;94.90
PROD-002;139.00
PROD-003;64.90
W tym przykładzie separatorem kolumn jest średnik, pierwszy wiersz to nagłówek, a kropka oddziela część dziesiętną. W module wybierasz referencję jako identyfikator, przypisujesz drugą kolumnę do ceny i włączasz pomijanie nagłówka. Zapisz plik w UTF-8. Arkusz XLSX trzeba wcześniej wyeksportować do CSV.
Jeżeli dostawca wysyła więcej kolumn, mapowanie pozwala wskazać identyfikator, cenę sprzedaży i opcjonalny koszt zakupu, a pozostałe pola pominąć. Nie trzeba przestawiać kolumn tylko po to, aby identyfikator znalazł się na początku. Moduł potrafi podpowiedzieć role z nagłówków, ale podpowiedź wymaga sprawdzenia i zapisania.
Klucz musi oznaczać ten sam produkt po obu stronach. Symbol dostawcy nie staje się automatycznie referencją sklepu, a jego numer pozycji nie musi być ID produktu w PrestaShop. Przed importem sprawdź kilka dopasowań, powtarzające się kody oraz identyfikatory z zerami na początku. W module można korzystać m.in. z referencji, EAN lub ID właściwego dla wybranego trybu aktualizacji.
Netto, brutto czy koszt zakupu — co naprawdę zawiera cennik?
Nazwa kolumny „cena” nie określa ani podatku, ani przeznaczenia kwoty. Dostawca może przesłać koszt zakupu netto, sugerowaną cenę detaliczną brutto albo kwotę w innej walucie. Te dane wymagają różnych ustawień.
| Dane w pliku | Co ustalić przed importem |
|---|---|
| Cena sprzedaży netto | Ustaw tryb netto i sprawdź, czy chcesz przepisać cenę bez dodatkowych reguł. |
| Cena sprzedaży brutto | Wybierz przeliczenie według podatku produktu albo jednej, wskazanej stawki. Stała stawka ma sens tylko dla odpowiedniego zestawu produktów. |
| Koszt zakupu | Przypisz kolumnę jako koszt i ustaw sposób wyliczania ceny sprzedaży, np. narzut. |
| Cena w obcej walucie | Przelicz ją przed importem. Moduł nie wykonuje przeliczeń kursowych. |
Przykład obliczeniowy: przy założonej stawce VAT 23% kwota 123 zł brutto odpowiada 100 zł netto. Zapisanie 123 zł jako ceny netto daje 151,29 zł brutto, zanim uwzględnisz ewentualne rabaty. Przeliczenie w module zależy od wybranego trybu i konfiguracji podatków w sklepie.
Tryb netto/brutto dotyczy także sposobu interpretacji kosztu z pliku. Jeśli dostawca miesza cenę detaliczną brutto z kosztem zakupu netto, ujednolić trzeba dane używane do obliczeń. Samo wskazanie właściwych kolumn nie rozwiąże tej różnicy.
Narzut 30% to nie marża 30%
Reguła narzutu w module liczy cenę jako koszt zakupu × (1 + procent narzutu). Przy koszcie 100 zł netto i narzucie 30% otrzymasz 130 zł netto. Różnica wynosi 30 zł, ale stanowi około 23,08% ceny sprzedaży. Tyle wynosi marża liczona względem tej ceny.
Aby uzyskać marżę 30% przy koszcie 100 zł netto, cena musiałaby wynieść około 142,86 zł netto: 100 / (1 - 0,30). To przykład różnicy między pojęciami, bez uwzględnienia innych kosztów sprzedaży. Wpisanie 30 w polu narzutu nie da tego samego wyniku.
Aktualizacja cen z pliku CSV Pro pozwala oprzeć obliczenia na cenie z pliku, koszcie z pliku lub koszcie zapisanym w katalogu. Dla produktów bazowych dostępne są narzut, obniżka procentowa, wykluczenie z importu i zaokrąglanie. Warunki reguł mogą dotyczyć marki, dostawcy, kategorii domyślnej lub przedziału cenowego. Decyduje pierwsza pasująca reguła — procenty z kilku reguł nie sumują się.
Po ustawieniu narzutu i zaokrągleń sprawdź wynik w symulacji. Zabezpieczenia oparte na koszcie potrzebują poprawnego kosztu zakupu; jego brak nie daje podstaw do oceny opłacalności sprzedaży.
Ceny kombinacji: kiedy 120 zł oznacza dopłatę?
W PrestaShop kombinacja ma wpływ na cenę produktu bazowego. Jeżeli produkt kosztuje 100 zł netto, a wybrany wariant ma kosztować 120 zł netto, jego wpływ wynosi 20 zł. Wpisanie 120 zł jako wpływu da 220 zł netto. Przykład pomija promocje i inne korekty ceny. Mechanizm opisuje dokumentacja produktów i kombinacji PrestaShop.
W trybie kombinacji moduł importuje właśnie wpływ na cenę. Ma także opcję zerowania ceny bazowej, która zmienia sposób przygotowania cennika. Przed jej użyciem sprawdź wszystkie warianty danego produktu, również te nieobecne w pliku: cena bazowa jest wspólna. Reguły narzutu i zaokrąglania dla produktów bazowych nie są stosowane do wpływów kombinacji.
Jak przeprowadzić aktualizację cen krok po kroku?
- Wybierz zakres. Ustal sklep docelowy, produkty lub kombinacje, identyfikator, walutę i znaczenie kwot. W multistore sprawdź konkretny sklep przed każdym przebiegiem.
- Zachowaj punkt odniesienia. Wyeksportuj aktualny cennik i włącz zapamiętywanie poprzednich cen. Przed pierwszym dużym importem wykonaj również kopię bazy sklepu.
- Wgraj plik i ustaw mapowanie. Sprawdź separator, nagłówek, identyfikator i źródło ceny. Przy regułach opartych na koszcie sprawdź też jego dostępność.
- Ustaw bezpieczniki. Moduł udostępnia m.in. limity wzrostu i spadku ceny, blokadę ceny zerowej oraz kontrole względem kosztu dla produktów bazowych. Przykładowy limit spadku 20% może wychwycić podejrzaną obniżkę, ale dopasuj go do własnego cennika.
- Uruchom symulację. Sprawdź ceny przed i po zmianie, pozycje niedopasowane, pominięte i zablokowane. Symulacja oblicza wynik bez zapisywania cen w katalogu.
- Wykonaj właściwy import i sprawdź rezultat. Porównaj raport z kilkoma kartami produktów oraz koszykiem, uwzględniając warianty i aktywne rabaty. Sam licznik przetworzonych wierszy nie potwierdza, że wszystkie ceny są zgodne z zamierzeniem.
Reakcję na naruszenie limitów można skonfigurować jako pomijanie problematycznych wierszy albo zatrzymanie przebiegu. W trybie zatrzymania moduł najpierw analizuje plik pod kątem zabezpieczeń. Dobierz ten wybór świadomie: częściowo zaktualizowany cennik może być poprawnym wynikiem przy pojedynczym błędzie, ale nie wtedy, gdy wymagasz spójnej zmiany całej oferty.
Czy cennik dostawcy można pobierać automatycznie?
Tak. Moduł obsługuje pobieranie pliku z adresu HTTP/HTTPS oraz przez FTP lub SFTP, zależnie od ustawień i możliwości serwera. Profile dostawców zapisują ustawienia potrzebne przy kolejnych importach, w tym mapowanie kolumn.
Cykliczne pobieranie i aktualizację uruchamia zewnętrzny harmonogram CRON wywołujący adres udostępniony przez moduł. Samo zapisanie adresu cennika nie uruchamia regularnej synchronizacji. Po konfiguracji sprawdź ostatnie wywołanie, historię importu i raport. Moduł może również wysyłać podsumowania e-mail; ustal, kto będzie na nie reagował.
Profile nie przechowują haseł dostawców. Przy kilku chronionych źródłach trzeba więc uzgodnić konfigurację uwierzytelniania. Automatyzację włącz po sprawdzeniu konkretnego pliku w symulacji i poprawnym imporcie ręcznym.
Po imporcie sprawdź też ceny poza panelem sklepu
Jeżeli korzystasz z Google Merchant Center, porównaj nową cenę w sklepie z ceną w danych produktowych wysyłanych do Google. Google wymaga zgodności ceny w źródle danych i na stronie docelowej. Sprawdzenie powinno dotyczyć tego samego wariantu i waluty.
W praktyce zaplanuj generowanie i pobieranie feedu po zakończeniu aktualizacji cen. Moduł CSV zmienia ceny w katalogu, ale nie zarządza harmonogramem osobnej integracji z Merchant Center. Dzięki takiej kolejności ograniczasz okres, w którym sklep pokazuje już nową cenę, a zewnętrzny kanał korzysta jeszcze ze starej.
Aktualizacja cen z CSV — częste pytania
Czy moduł utworzy produkty, których nie ma w sklepie?
Nie. Aktualizuje istniejące produkty i kombinacje. Niedopasowaną pozycję trzeba sprawdzić w raporcie; moduł nie tworzy na jej podstawie nowej karty produktu.
Czy można cofnąć błędną aktualizację?
Moduł ma cofanie przebiegów w historii. Przywrócenie zapisanych cen wymaga zachowanej kopii ich wcześniejszych wartości. Zadbaj o włączone zapamiętywanie cen i limit przechowywanych kopii. Przed cofnięciem sprawdź późniejsze importy i ręczne edycje, ponieważ przywrócenie starszych wartości może je nadpisać.
Czy razem z cenami zaktualizuję stany magazynowe i opisy?
Nie. Ten moduł służy do aktualizacji cen. Obecność kolumn z ilością, opisem lub zdjęciem w CSV nie oznacza, że te dane zostaną zaimportowane.
Dlaczego po imporcie klient widzi inną kwotę niż w CSV?
Sprawdź tryb netto/brutto, reguły cenowe, cenę bazową i wpływ kombinacji, aktywne rabaty oraz kontekst klienta i waluty. Kwota z pliku może być podstawą obliczeń, a nie końcową ceną widoczną w koszyku.
Aktualizacja cen z pliku CSV Pro przydaje się, gdy chcesz regularnie wprowadzać cenniki i kontrolować wynik każdej zmiany. Zacznij od poprawnego dopasowania produktów i jednej sprawdzonej symulacji. Dopiero wtedy przenieś tę samą procedurę do harmonogramu.
Komentarze (0)