Jak pokazywać cenę z VAT według kraju odwiedzającego w PrestaShop

Skonfiguruj stawki VAT UE, pokaż cenę z VAT kraju wykrytego przez GeoIP lub wybranego w selektorze, a potem wyeksportuj sprzedaż według stawek: cała droga w PrestaShop, wraz z ograniczeniami modułu.

Comment afficher le prix TTC du pays du visiteur dans PrestaShop

Hiszpański klient otwiera kartę produktu i widzi cenę obliczoną z francuskim VAT. Stawka jego kraju pojawia się dopiero po wpisaniu adresu, czasem gdy produkt jest już w koszyku. To pytanie sprzedawców działających w kilku krajach UE: jak pokazać cenę z VAT kraju odwiedzającego od pierwszej strony, nie psując reguł podatkowych produktów? Ten przewodnik przechodzi przez moduł OSS VAT UE, zakładka po zakładce, i pokazuje, co zostawia księgowemu.

Czy PrestaShop poradzi sobie sam z VAT w krajach UE i z OSS?

Nie do końca: PrestaShop stosuje VAT adresu koszyka; moduł stosuje stawkę wykrytego lub wybranego kraju już na karcie produktu i przygotowuje eksport według stawek dla OSS.

Jest przeznaczony przede wszystkim dla sklepów, które spełniają trzy warunki.

  • Sprzedajesz osobom prywatnym w co najmniej dwóch krajach UE i pokazujesz ceny z VAT.
  • Chcesz, aby odwiedzający widział stawkę swojego kraju już na karcie produktu, a nie dopiero w koszyku.
  • Przygotowujesz sprzedaż według stawek do procedury OSS, z plikiem CSV do sprawdzenia.

Nie jest potrzebny w trzech przypadkach. Sklep sprzedający tylko w jednym kraju niewiele z niego skorzysta. Podobnie sprzedaż B2B z odwrotnym obciążeniem, bo moduł nie sprawdza numerów VAT. Sklep szukający monitorowania progu OSS albo przechowywania dowodów VAT przez dziesięć lat nie znajdzie ich w tej wersji.

Karta modułu podsumowuje funkcje, a dokumentacja opisuje każdą zakładkę.

Jak skonfigurować stawki VAT krajów UE w PrestaShop?

Otwórz stronę Konfiguruj modułu, a następnie zakładkę Podatki: kreator przygotowuje stawki krajów, w których sprzedajesz, pokazuje dane referencyjne stawek VAT dla każdego kraju i niczego nie tworzy przed potwierdzeniem.

Kreator działa w trzech krokach. Najpierw wybierasz grupy reguł podatkowych przypisane do produktów albo przygotowujesz nowe. Drugi krok pokazuje, kraj po kraju, stawki referencyjne (standardowa, obniżona, obniżona 2, bardzo obniżona) i stan konfiguracji (Skonfigurowany, Częściowy, Nie skonfigurowany). Trzeci krok wymienia podatki do utworzenia, reguły do utworzenia, pominięte elementy i błędy, a następnie stosuje zmiany po kliknięciu «Wykonaj»; dopóki nie potwierdzisz, podgląd nie tworzy żadnej reguły.

Dwa punkty trzeba sprawdzić ręcznie. Produkty nigdy nie są automatycznie przypisywane do innej grupy: artykuł ze stawką obniżoną zachowuje swoją grupę, a stawka obniżona zależy od kategorii i terytorium. Grupy współdzielone między sklepami, reguły regionalne i reguły łączone sprawdza się w natywnych ustawieniach PrestaShop, a nie w podglądzie modułu.

Jak pokazać cenę z VAT kraju odwiedzającego, z adresem i bez adresu?

Moduł ustala kraj w tej kolejności: adres podatkowy koszyka, wybór zapisany w cookie, wykrywanie GeoIP, a potem kraj domyślny z zakładki Ogólne.

Zakładka Ogólne włącza podgląd cen z VAT i ustawia kraj domyślny oraz uprawnione grupy klientów. Kraje proponowane w selektorze wybiera się w zakładce Kraje. Zakładka Wyświetlanie umieszcza selektor na standardowym hooku (displayNav1, displayNav2, displayTop) albo na hooku niestandardowym (domyślnie displayWeprestaOSS); dostępnych jest pięć szablonów, a podgląd na żywo podąża za ustawieniami.

Wykrywanie GeoIP konfiguruje się w zakładce Zaawansowane. Wpisz identyfikator konta MaxMind i klucz uprawniony do pobierania GeoLite2 Country, uruchom pobieranie i sprawdź stan bazy. PHP musi mieć cURL, Phar i zlib; pusty klucz zachowuje zapisany klucz. Na lokalnym adresie IP wykrywanie nie może działać.

Gdy tylko koszyk ma prawidłowy adres podatkowy, ten adres staje się punktem odniesienia, a koszty są przeliczane zgodnie z ustawieniem dostawy lub faktury w PrestaShop. Zalogowany klient może wybrać jeden ze swoich adresów i potwierdzić go do dostawy; moduł nigdy nie tworzy fikcyjnego adresu. Szacowana cena pojawia się też w oknie potwierdzenia dodania do koszyka.

Czas życia cookie ustawia się w zakładce Zaawansowane, w dniach; wartość 0 zachowuje wybór tylko na sesję.

Jak sprawdzić, czy geolokalizacja i ceny są poprawne?

Kraj pojawia się w selektorze tylko wtedy, gdy spełnione są trzy warunki: jest aktywny w zakładce Kraje, jego podatki są skonfigurowane w zakładce Podatki i jest aktywny w PrestaShop (Międzynarodowe → Lokalizacja → Kraje).

Zacznij od stanu bazy GeoIP w zakładce Zaawansowane: musi wskazywać, że baza jest dostępna. Potem użyj selektora kraju w sklepie, aby pokazać go jak odwiedzający z każdego wybranego kraju, i porównaj cenę produktu ze stawką podstawową oraz produktu ze stawką obniżoną. Zakończ koszykiem, z rzeczywistym adresem dostawy, a następnie z innym adresem faktury, jeśli go akceptujesz.

Jeśli cena się nie zmienia, wyczyść pamięć podręczną PrestaShop i sprawdź, czy produkt należy do grupy reguł podatkowych danego kraju. Jeśli brakuje kraju, wróć do trzech warunków powyżej. Pamięć podręczna stron lub CDN musi rozróżniać kraj i sesję odwiedzającego; inaczej może podawać wszystkim stronę jednego kraju.

Jak wyeksportować sprzedaż i faktury korygujące według stawki do deklaracji OSS?

Otwórz zakładkę Eksport VAT, wybierz okres, uruchom «Podgląd» i kliknij «Pobierz CSV»: kwoty są rozdzielone według sklepu, waluty, kraju, stawki i składnika, z transportem włącznie.

Sprzedaż idzie według daty zamówienia; faktury korygujące według daty wystawienia, także gdy dotyczą starszej sprzedaży. Kwoty i stawki historyczne są zachowywane: zmiana reguły podatkowej nie przepisuje zapisanych wierszy. Wiersze do sprawdzenia pozostają oznaczone w podglądzie i w pliku.

Zwrotu wpisanego bez faktury korygującej nie można odliczyć automatycznie. W przypadku terminów płatności klientów biznesowych spójrz raczej na Płatność odroczoną B2B, która obsługuje limit kredytowy i przypomnienia.

Co się stanie, gdy licencja wygaśnie albo serwer nie odpowiada?

Odnowiona subskrypcja nie jest już przerywana w starej dacie, a przejściowy błąd serwera licencji daje 7 dni tolerancji od pierwszego błędu; bez ważnej licencji moduł jednak się wyłącza.

Licencję aktywuje się na stronie Konfiguruj, kluczem i sekretem licencji z konta wepresta.shop, przyciskiem Aktywuj licencję. Panel pokazuje potem typ, domenę, datę wygaśnięcia i pozostałe dni; przycisk Dezaktywuj usuwa licencję z tego sklepu. Sprawdzenie odbywa się najwyżej raz na godzinę, a na tej stronie co 5 minut, dopóki licencja nie jest aktywna: PrestaShop kontaktuje się z serwerem tylko wtedy, gdy wypada sprawdzenie, a nie przy każdym otwarciu.

Strona Konfiguruj bez ważnej licencji: formularz aktywacji, ostrzeżenie o wygaśnięciu i przypomnienie, że ustawienia i reguły podatkowe są zachowane.
Strona Konfiguruj bez ważnej licencji: formularz aktywacji, ostrzeżenie o wygaśnięciu i przypomnienie, że ustawienia i reguły podatkowe są zachowane.

Po tym okresie moduł się wyłącza: selektor, komunikat VAT i ceny z VAT kraju odwiedzającego znikają, a PrestaShop pokazuje swoje zwykłe ceny. Ustawienia i reguły podatkowe pozostają na miejscu. Menedżer modułów odmawia ponownego włączenia modułu i odsyła do strony Konfiguruj, która włącza go, gdy tylko licencja jest ważna, bez wpisywania klucza po odnowieniu.

Po aktywacji panel pokazuje ważną licencję, domenę, datę wygaśnięcia i pozostałe dni; «Otwórz ustawienia modułu» prowadzi do zakładek.
Po aktywacji panel pokazuje ważną licencję, domenę, datę wygaśnięcia i pozostałe dni; «Otwórz ustawienia modułu» prowadzi do zakładek.

Wersja 2.0.2 naprawiła trzy błędy: odnowioną subskrypcję, która pozostawała przerwana w starej dacie, przejściową odpowiedź serwera, która usuwała licencję, oraz błąd 500 w panelu administracyjnym na PrestaShop 8 po wyłączeniu. Formularz, panel i komunikaty są dostępne po francusku, angielsku, hiszpańsku, włosku i polsku. Moduł jest zgodny z PrestaShop 1.7.8, 8.0+ i 9.0+, z PHP 7.4 minimum; w PHP 7.1–7.3 pokazuje komunikat «PHP 7.4 minimum» zamiast błędu krytycznego.

Po kliknięciu «Dezaktywuj»: licencja zostaje usunięta, moduł jest wyłączony i wraca formularz, a ustawienia i reguły podatkowe pozostają zachowane.
Po kliknięciu «Dezaktywuj»: licencja zostaje usunięta, moduł jest wyłączony i wraca formularz, a ustawienia i reguły podatkowe pozostają zachowane.

Czy eksport VAT zastępuje deklarację OSS?

Nie: sumuje sprzedaż i faktury korygujące zapisane w sklepie i tworzy plik CSV do sprawdzenia, a nie deklarację ani decyzję o Twoim obowiązku podatkowym.

Moduł nie śledzi progu OSS, nie przechowuje dowodów VAT przez dziesięć lat i nie aktualizuje samodzielnie bazy GeoIP. Nie sprawdza unijnych numerów VAT i nie zamienia ceny B2B na odwrotne obciążenie. Te ograniczenia są świadome: przybliżona liczba dotycząca obowiązku prawnego byłaby groźniejsza niż puste pole.

Stawki, reguły i Twój obowiązek podatkowy zależą od Twojej sytuacji i kraju siedziby. Moduł liczy i prezentuje; nie decyduje za Ciebie. Przed złożeniem deklaracji poproś księgowego o sprawdzenie konfiguracji i eksportu.

W przypadku pozostałych obowiązków europejskich dotyczących karty produktu zobacz paszport cyfrowy produktu oraz monitorowanie wylesiania UE (EUDR).

Najczęściej zadawane pytania

Czy mogę pokazywać różne ceny w zależności od adresu IP odwiedzającego?
Tak, dzięki wykrywaniu GeoIP: po włączeniu GeoIP i dopuszczeniu kraju w selektorze moduł odczytuje adres IP z lokalnej bazy MaxMind i stosuje wykryty kraj do wyświetlanych cen. Dopóki koszyk nie ma adresu podatkowego, cena pozostaje szacunkowa i widać ją też w oknie dodawania do koszyka. Gdy pojawi się prawidłowy adres, to on przejmuje obliczenia i koszty są przeliczane.
Czy trzeba aktualizować bazę GeoIP MaxMind i jak często?
Moduł nie narzuca terminarza: bazę pobiera się w zakładce Zaawansowane, podając identyfikator konta MaxMind i klucz uprawniony do GeoLite2 Country. Nową bazę pobieraj, kiedy chcesz; jeśli operacja się nie uda, używana jest poprzednia. Po każdej aktualizacji sprawdź wyświetlany stan. Na lokalnym adresie IP wykrywanie nie działa.
Co się stanie, gdy serwer licencji jest chwilowo niedostępny?
Licencja pozostaje ważna. Przejściowy błąd, limit żądań lub prace serwisowe liczą się jako nieudane sprawdzenie, a moduł daje 7 dni tolerancji od pierwszego błędu. Po tym okresie bez ważnej odpowiedzi moduł wyłącza się jak bez licencji. Ważna odpowiedź zeruje licznik.
Subskrypcja została odnowiona: czy moduł wyłączy się w starej dacie?
Nie. Gdy data zapisana w sklepie już minęła, moduł pyta serwer licencji i zapisuje nową datę. Jeśli moduł został w międzyczasie wyłączony, otwórz stronę Konfiguruj: sprawdzi licencję i włączy moduł, gdy tylko będzie ważna, bez ponownego wpisywania klucza i sekretu.
Czy muszę rejestrować się w OSS, gdy sprzedaję do innego kraju UE?
Procedura OSS to nie tylko licznik: zależy od rodzaju sprzedaży, wspólnego progu i kraju siedziby. Moduł nie liczy tego progu i nie rozstrzyga o Twoim obowiązku podatkowym. Poproś księgowego o sprawdzenie swojej sytuacji, a potem użyj eksportu VAT, aby przygotować kwoty według kraju i stawki.

Produkty w tym artykule

Znajdź moduł, którego potrzebuje Twój sklep

Zobacz moduły