# Ceny według kraju, sklepu i waluty: dokumentacja

> Pełny przewodnik po module Ceny według kraju, sklepu i waluty: reguły, obliczanie ceny brutto, kombinacje, symulacja, przeliczanie, cofanie, promocje i cron.

- Strona: <https://www.datafirefly.com/pl/documentation/prix-par-pays-boutique-devise/>
- Język: pl
- Zaktualizowano: 2026-10-09
- Inne języki: [fr](https://www.datafirefly.com/documentation/prix-par-pays-boutique-devise/index.md), [en](https://www.datafirefly.com/en/documentation/prix-par-pays-boutique-devise/index.md), [es](https://www.datafirefly.com/es/documentation/prix-par-pays-boutique-devise/index.md), [de](https://www.datafirefly.com/de/documentation/prix-par-pays-boutique-devise/index.md), [it](https://www.datafirefly.com/it/documentation/prix-par-pays-boutique-devise/index.md), [pt](https://www.datafirefly.com/pt/documentation/prix-par-pays-boutique-devise/index.md), [nl](https://www.datafirefly.com/nl/documentation/prix-par-pays-boutique-devise/index.md)
- Indeks: <https://www.datafirefly.com/pl/documentation/llms.txt>

Ceny według kraju, sklepu i waluty stosuje współczynnik marży i zaokrąglenie psychologiczne dla każdego rynku, a wynik zapisuje jako natywne ceny specjalne PrestaShop. Ten przewodnik obejmuje instalację, tworzenie reguł, obliczanie ceny, symulację, przeliczanie, cofanie przeliczenia i automatyzację przez cron.

## Instalacja i aktualizacja

Moduł jest zgodny z PrestaShop 8.0 do 9.x, w trybie jednego sklepu i multisklepu.

1. W panelu administracyjnym otwórz **Moduły > Menedżer modułów**, kliknij **Prześlij moduł** i wybierz plik ZIP.
2. Moduł tworzy swoje tabele, zakładkę **DF Multi Price** w sekcji **Katalog** oraz token crona.
3. Otwórz konfigurację modułu, aby ustawić automatyczne stosowanie, rozmiar partii i pobrać adres URL crona.

Przechodzisz z wersji 1.0.0? Po aktualizacji przelicz reguły, zwłaszcza te powiązane z walutą inną niż domyślna: wersja 1.0.0 zapisywała te ceny w niewłaściwej walucie. Istniejące reguły zachowują swoje działanie, z wyłączonymi opcjami „Wyceniaj każdą kombinację” i „Zachowaj aktywne promocje”. W razie potrzeby włącz je w każdej regule.

## Tworzenie reguły cenowej

Otwórz **Katalog > DF Multi Price** i kliknij **Dodaj regułę**. Formularz ma cztery bloki.

### Kto widzi tę cenę

- **Sklep**: jeden sklep lub wszystkie. Przy „Wszystkie sklepy” ceny bazowe pochodzą ze sklepu domyślnego.
- **Kraj**: jego stawka VAT służy do obliczenia zaokrąglonej ceny brutto. Odwiedzający bez adresu jest przypisany do domyślnego kraju sklepu, chyba że włączona jest geolokalizacja, a zmiana waluty nie zmienia kraju. Reguła dla innego kraju obejmuje więc tylko klientów z adresem w tym kraju. Dla reguły walutowej zostaw „Wszystkie kraje”.
- **Waluta**: utwórz jedną regułę na walutę, aby kontrolować końcówkę w każdej z nich. Przy „Wszystkie waluty” cena jest wyrażona w walucie domyślnej, a PrestaShop przelicza ją na pozostałe waluty, które tracą końcówkę.
- **Grupa klientów**: dla cenników B2B. Rabaty grupowe z Klienci > Grupy nadal są naliczane dodatkowo.

### Które produkty

- **Kategoria**: kategoria ze wszystkimi podkategoriami lub cały katalog.
- **Marka**: ogranicza regułę do jednej marki.
- **Wykluczone produkty**: ID produktów oddzielone przecinkami.
- **Zachowaj aktywne promocje**: zobacz osobną sekcję poniżej.

### Jak budowana jest cena

- **Podstawa ceny**: cena sprzedaży netto lub cena zakupu. Przy cenie zakupu produkty bez niej są pomijane.
- **Współczynnik marży**: cena = podstawa x współczynnik. 1,20 dodaje 20%. Wpisz 1, aby tylko zaokrąglić.
- **Wyceniaj każdą kombinację**: zalecane. Każda kombinacja dostaje własną cenę z dopłatą. Bez tej opcji PrestaShop dodaje dopłatę kombinacji po zaokrągleniu i końcówka ginie.
- **Zaokrąglenie**: najbliższa końcówka, zawsze w górę, zawsze w dół lub bez zaokrąglenia.
- **Końcówka psychologiczna**: x,90, x,95, x,99, x,50 lub x,00.
- **Krok zaokrąglenia**: zaokrągla do wielokrotności kroku zamiast do końcówki. Dostępne kroki: 0,05, 0,10, 0,20, 0,25, 0,50, 1, 5 i 10. Kierunek wynika z pola Zaokrąglenie: z 0,10 i Najbliższa końcówka 23,47 daje 23,50; z 10 i Zawsze w górę 23,47 daje 30; z 10 i Zawsze w dół daje 20. Wybrany krok zastępuje końcówkę. Cena nigdy nie jest zaokrąglana do zera: wynosi co najmniej jeden krok. „Brak” (domyślnie) zachowuje końcówkę.
- **Zaokrąglaj cenę brutto**: zalecane w B2C. Wyłącz dla cen B2B wyświetlanych netto: zaokrąglenie dotyczy wtedy ceny netto.

### Zabezpieczenia

- **Cena minimalna**: minimalna cena wyświetlana, w walucie reguły. 0 = brak minimum.
- **Minimalna marża od ceny zakupu**: współczynnik od ceny zakupu, poniżej którego cena nigdy nie spada, np. 1,15. Dotyczy produktów z ceną zakupu. 0 = wyłączone.
- **Priorytet**: niższe wartości są przetwarzane najpierw. Gdy dwie reguły dotyczą tego samego sklepu, kraju, waluty i grupy, cenę zachowuje pierwsza, a druga liczy konflikt.
- **Aktywna**: wyłączenie reguły usuwa wygenerowane przez nią ceny.

## Jak obliczana jest cena końcowa

Zaokrąglenie ma sens tylko dla kwoty widocznej dla klienta. Silnik działa w tej kolejności:

1. Cena bazowa netto (z kombinacją, jeśli opcja jest włączona) pomnożona przez współczynnik.
2. Przeliczenie na walutę reguły po kursie sklepu.
3. Przejście na brutto z VAT kraju z reguły, plus opłata ekologiczna, jeśli jest włączona w PrestaShop.
4. Zaokrąglenie do wybranej końcówki lub do wielokrotności kroku, jeśli ustawiono krok zaokrąglenia.
5. Cena minimalna, a potem minimalna marża, obie zaokrąglone w górę.
6. Powrót do ceny netto zapisywanej w walucie reguły.

Przykład: cena bazowa 69,99 € netto, współczynnik 1,20, VAT 19% i końcówka x,99 dają w sklepie 99,99 € brutto.

PrestaShop odczytuje cenę specjalną powiązaną z walutą w tej walucie, bez przeliczania. Dlatego moduł zapisuje ją bezpośrednio w walucie reguły: reguła w funtach pokazuje kwotę w funtach obliczoną przez regułę.

## Sprawdzanie ceny w sklepie

Panel **Sprawdź cenę w sklepie** nad listą reguł odtwarza obliczenie PrestaShop dla konkretnego kontekstu. Wpisz ID produktu, a w razie potrzeby ID kombinacji, i wybierz sklep, kraj (domyślnie kraj sklepu), walutę i grupę (domyślnie Odwiedzający). Panel pokazuje:

- kraj, do którego przypisani są odwiedzający bez adresu, i stan geolokalizacji;
- wyświetlaną cenę, netto lub brutto zależnie od grupy;
- cenę specjalną użytą przez PrestaShop i jej źródło: reguła modułu, cena wpisana ręcznie lub reguła cen katalogowych;
- status każdej reguły: zastosowana, inny kontekst (ze sklepem, krajem, walutą lub grupą, których dotyczy), produkt poza regułą, do przeliczenia, zachowana promocja lub zastąpiona przez inną cenę specjalną.

Lista reguł pokazuje też ostrzeżenie, gdy reguła dotyczy kraju innego niż domyślny kraj jej sklepu bez geolokalizacji, lub gdy reguła „Wszystkie sklepy” obejmuje sklepy z różnymi krajami domyślnymi.

## Symulacja przed zastosowaniem

Na liście reguł akcja **Symuluj** otwiera okno z obecną ceną w sklepie, nową ceną i zmianą w procentach dla pierwszych objętych produktów. Nic nie jest zapisywane. Pominięte produkty pojawiają się z powodem: aktywna promocja lub brak ceny bazowej.

Akcja **Eksportuj podgląd CSV** tworzy pełną listę (ID produktu, ID kombinacji, indeks, nazwa, obecna cena, nowa cena, zapisana cena netto, status) w pliku CSV ze średnikami, czytelnym w Excelu.

## Przeliczanie

- Akcja **Przelicz** reguły stosuje tę regułę do katalogu.
- Przycisk **Przelicz wszystkie aktywne reguły** na pasku narzędzi uruchamia reguły według priorytetu.

Przetwarzanie odbywa się w partiach z paskiem postępu, a potem wyświetla podsumowanie:

- **Utworzone**, **Zaktualizowane**, **Bez zmian**: ceny zapisane przez regułę.
- **Zachowane promocje**: produkty pozostawione bez zmian, bo są w promocji.
- **Konflikty**: ceny, które ma już reguła o wyższym priorytecie i tych samych wymiarach.
- **Pominięte**: produkty bez użytecznej ceny bazowej.
- **Usunięte**: ceny usunięte lub zwrócone sprzedawcy, np. dla produktu, który wyszedł poza zakres reguły.

Reguła zmieniona po ostatnim przeliczeniu ma na liście oznaczenie **Do przeliczenia**. Rozmiar partii (10 do 500 produktów) ustawia się w konfiguracji modułu.

## Cofanie przeliczenia

Każde przeliczenie, ręczne lub z crona, zapisuje poprzedni stan każdej zmienianej ceny. Aby wrócić:

- na liście reguł użyj akcji **Cofnij ostatnie przeliczenie**;
- albo w konfiguracji modułu kliknij **Cofnij** w historii.

Cofnięcie usuwa ceny utworzone przez przeliczenie, przywraca wartość zmienionych cen i odtwarza usunięte ceny. Działa w odwrotnej kolejności: najpierw najnowsze przeliczenie, potem poprzednie, do 5 przeliczeń wstecz na regułę. Przerwane przeliczenie (okno zamknięte w trakcie) można cofnąć godzinę po jego rozpoczęciu.

Po cofnięciu reguła ma oznaczenie **Do przeliczenia**, bo ceny nie odpowiadają już jej ustawieniom. W razie potrzeby zmień regułę, uruchom symulację i przelicz.

Reguła musi być aktywna, aby cofnąć jej przeliczenie. Przeliczeń wykonanych w wersji 1.0.0 lub 1.1.0 nie można cofnąć: funkcja działa od pierwszego przeliczenia w wersji 1.1.1.

## Promocje i ceny wpisane ręcznie

PrestaShop stosuje jedną cenę specjalną na produkt: wygrywa najbardziej szczegółowa. Cena dla kraju i waluty ukryłaby więc szerszą promocję. Z opcją **Zachowaj aktywne promocje** produkt z aktywnym rabatem (nieutworzonym przez moduł) pozostaje nietknięty i jest przeliczany przy pierwszym przeliczeniu po zakończeniu promocji. Zaplanuj crona, aby działo się to automatycznie.

Jeśli istnieje już ręczna cena stała o tych samych wymiarach co reguła, bez rabatu i bez dat, reguła ją przejmuje zamiast tworzyć duplikat. Jej pierwotna wartość jest zapisywana i przywracana przy cofnięciu przeliczenia, wyłączeniu lub usunięciu reguły albo odinstalowaniu modułu. Promocje i ceny o innych wymiarach nigdy nie są zmieniane.

## Automatyzacja przez cron

Adres URL crona, chroniony tokenem, jest widoczny w konfiguracji modułu:

```
https://twojsklep.pl/index.php?fc=module&module=dfmultiprice&controller=cron&token=TWOJ_TOKEN
```

Dodaj `&id_rule=3`, aby przeliczyć tylko jedną regułę. Zaplanuj adres u swojego dostawcy hostingu, np. co noc: ceny nadążają wtedy za zmianami kursów i kosztów oraz końcem promocji. Cron zwraca podsumowanie JSON dla każdej reguły, a każde uruchomienie można cofnąć jak ręczne przeliczenie. W razie wycieku tokenu wygeneruj go ponownie w konfiguracji: stary adres przestanie działać.

## Automatyczne stosowanie

Gdy opcja jest włączona, utworzenie lub zmiana produktu albo kombinacji stosuje aktywne reguły do tego produktu. Przydatne przy regularnych importach.

PrestaShop nie uruchamia hooków modułu dla pracownika bez uprawnienia „Wyświetl” do tego modułu. Zachowaj crona jako zabezpieczenie.

## Historia

Konfiguracja modułu pokazuje 20 ostatnich przeliczeń: datę, regułę, źródło (ręcznie lub cron), status, liczniki i liczbę zmian zapisanych do cofnięcia.

## Wyłączanie, usuwanie i odinstalowanie

- Wyłączenie lub usunięcie reguły usuwa wygenerowane przez nią ceny i przywraca wartość przejętych cen ręcznych.
- Duplikowanie reguły tworzy wyłączoną kopię, gotową do dostosowania do innego rynku.
- Odinstalowanie usuwa wszystkie wygenerowane ceny i przywraca wartość przejętych cen ręcznych.

## Rozwiązywanie problemów

### Produkt nie jest aktualizowany

Sprawdź, czy jest aktywny w sklepie reguły, należy do docelowej kategorii i marki i nie jest wykluczony. Uruchom symulację: status pokazuje, czy jest w promocji lub nie ma ceny bazowej. Przy podstawie „Cena zakupu” potrzebuje ceny zakupu.

### Wyświetlana cena nie ma właściwej końcówki

Sprawdź, czy „Zaokrąglaj cenę brutto” jest włączone i czy kraj reguły odpowiada krajowi klienta. Dla kombinacji z dopłatą włącz „Wyceniaj każdą kombinację”. W walucie innej niż waluta reguły PrestaShop przelicza cenę: utwórz regułę dla tej waluty.

### Cena jest poprawna w euro, ale nie w innej walucie

Reguła jest ustawiona na „Wszystkie waluty”: cena jest zapisywana w walucie domyślnej, a PrestaShop ją przelicza, np. 23,90 € na 27,84 $. Końcówka nie jest zachowana. Panel Sprawdź cenę pokazuje wtedy tę samą cenę specjalną w obu walutach. Utwórz jedną regułę na walutę, z krajem „Wszystkie kraje”, i przelicz.

### Reguła dla kraju nie działa dla odwiedzających

Odwiedzający bez adresu są przypisani do domyślnego kraju sklepu. Reguła dla innego kraju dotyczy tylko klientów z adresem w tym kraju lub wszystkich odwiedzających z tego kraju, gdy włączona jest geolokalizacja (Międzynarodowy > Lokalizacja > Geolokalizacja).

### Końcówka jest błędna tylko w jednym sklepie

W multisklepie zaokrąglenie używa VAT domyślnego kraju sklepu, którego dotyczy reguła. Reguła „Wszystkie sklepy” opiera się na sklepie domyślnym: jeśli sklepy nie mają tego samego kraju domyślnego, utwórz jedną regułę na sklep.

### Końcówka nie pojawia się na cenie netto widocznej dla odwiedzających

Jeśli grupa Odwiedzający wyświetla ceny netto, wyłącz „Zaokrąglaj cenę brutto”: końcówka dotyczy wtedy ceny netto, którą widzą odwiedzający.

### Podsumowanie pokazuje konflikty

Inna reguła z tym samym sklepem, krajem, walutą i grupą ma już te ceny. Dostosuj priorytety lub połącz obie reguły.

### Nie widać przycisku Cofnij

Cofnąć można tylko ostatnie przeliczenie każdej reguły, jeśli wykonano je w wersji 1.1.1 i należy do 5 ostatnich. Przeliczenia trwającego krócej niż godzinę nie można jeszcze cofnąć.

### Cron zwraca „Invalid token”

Token w adresie nie zgadza się z zapisanym. Pobierz aktualny adres z konfiguracji.

### Przy niektórych produktach pojawia się znaczek „-0,00 €”

To nie jest problem szablonu. PrestaShop od wersji 8.1 liczy wyświetlany rabat, odejmując cenę zaokrągloną do 2 miejsc po przecinku od ceny bez rabatu, która zachowuje 6 miejsc. Ponieważ cena reguły jest zapisywana netto, powrót do ceny brutto przy VAT 19, 21 lub 23% zostawia czasem różnicę 0,000001, którą szablon pokazuje jako rabat -0,00 €. Od wersji 1.1.4 moduł niweluje tę różnicę dla własnych cen: zaktualizuj moduł i wyczyść pamięć podręczną w **Zaawansowane > Wydajność**. Przeliczenie nie jest potrzebne.
