Taxes i Tax Rules w PrestaShop: zacznij od właściwego modelu
PrestaShop rozdziela stawkę VAT od reguły podatkowej. To najważniejszy punkt konfiguracji, bo błąd na tym poziomie później przenosi się na cały katalog, koszyk i faktury.
Model obejmuje trzy warstwy:
| Warstwa w PrestaShop | Co definiuje | Gdzie działa |
Taxes | nazwa podatku, procent, status aktywny/nieaktywny | baza stawek, np. VAT France 20%, VAT Germany 19% |
Tax Rules / reguły podatkowe | kraj, stan, zakres kodów pocztowych, zachowanie przy kilku podatkach | logika geograficzna i fiskalna |
| Produkt | przypisaną Tax rule | kalkulacja ceny brutto w katalogu i checkout |
Produkt nie otrzymuje surowego podatku. W Catalog > Products przypisuje się mu Tax rule, a PrestaShop dopiero na tej podstawie wybiera właściwą stawkę dla adresu klienta.
Nie opisuj podatku jako miejsca, w którym konfiguruje się strefę geograficzną. W PrestaShop strefa, kraj lub zakres kodów pocztowych należą do reguły podatkowej, a nie do samej pozycji Taxes.
Ustawienia globalne VAT w Back Office
Globalne opcje VAT ustawia się w International > Taxes. Zanim dodasz nową stawkę, sprawdź opcje, które wpływają na cały sklep.
Najważniejsze ustawienia:
Enable tax- włącza lub wyłącza naliczanie podatków w sklepie;Display tax in the shopping cart- decyduje, czy podatek jest widoczny w koszyku;Based on- określa, czy kalkulacja VAT opiera się na adresie dostawy czy adresie faktury;Use ecotax- aktywuje obsługę ekopodatku, jeśli sklep go potrzebuje.
Domyślnie PrestaShop bazuje na adresie dostawy. To logiczne dla e-commerce, bo VAT w sprzedaży konsumenckiej zwykle zależy od kraju konsumpcji. Jeżeli proces sprzedaży wymaga adresu faktury jako podstawy kalkulacji, trzeba świadomie zmienić opcję Based on.
W sklepach B2B/B2C sprawdzam najpierw Based on. Jeden błędny wybór potrafi dać poprawny VAT w katalogu, ale zły VAT w koszyku, gdy klient używa innego adresu faktury i dostawy.
Jak dodać stawkę VAT i grupę reguł podatkowych
Nową konfigurację buduje się w dwóch krokach: najpierw Taxes, potem Tax Rules. Sama stawka 19% dla Niemiec albo 20% dla Francji nie wystarczy, jeśli nie zostanie ograniczona odpowiednią regułą.
Procedura:
Wejdź do Back Office.
Otwórz
International > Taxes.Dodaj lub edytuj pozycję w
Taxes, np.VAT Germany 19%.Przejdź do reguł podatkowych i wybierz
Add new tax rules group.Utwórz grupę reguł, np.
EU standard VAT - Germany.Dodaj linie reguł dla kraju, stanu lub zakresu kodów pocztowych.
Wybierz zachowanie przy wielu podatkach:
This Tax Only,CombinealboOne After Another.Przypisz właściwą stawkę z listy
Taxes.
Reguła podatkowa jest filtrem zastosowania podatku. Dla sprzedaży do Niemiec można zastosować VAT 19%, dla Francji 20%, a dla Szwajcarii 8,1%, ale każda konfiguracja musi odpowiadać rzeczywistemu przepływowi podatkowemu.
Nie buduj przykładu, w którym niemiecka stawka standardowa rośnie bez podstawy prawnej. Aktualny standardowy przykład dla Niemiec to 19%, a fikcyjna podwyżka zostawia w zespole zły wzorzec operacyjny.
Jak przypisać regułę VAT do produktu
Regułę VAT przypisuje się w karcie produktu, nie w samej stawce podatku. W PrestaShop 8 przejdź do Catalog > Products, wybierz produkt i otwórz zakładkę Pricing albo Prices, zależnie od widoku Back Office.
Tam wybiera się Tax rule. PrestaShop używa jej do obliczenia ceny brutto na podstawie ceny netto, kraju klienta i ustawień podatkowych sklepu.
Przy większym katalogu sprawdź osobno:
produkty standardowe;
produkty z obniżoną stawką;
usługi cyfrowe;
abonamenty i produkty cykliczne;
koszty dostawy, jeśli mają własną logikę podatkową.
Abonamenty podlegają tej samej logice katalogu. Technicznie przypisuje się im Tax rule, ale biznesowo trzeba jeszcze sprawdzić typ świadczenia, kraj klienta i status B2B/B2C.
Przy migracji katalogu nie zaczynam od masowej edycji produktów. Najpierw tworzę matrycę: typ produktu, kraj sprzedaży, typ klienta, reguła podatkowa. Dopiero potem robię import lub zmianę hurtową.
Sprzedaż UE, OSS i próg 10 000 EUR
Próg 10 000 EUR dotyczy łącznej sprzedaży na odległość B2C w UE i wybranych usług TBE, a nie ustawienia w PrestaShop. Podobną konfigurację wymaga konfiguracja VAT Shopify.
PrestaShop może naliczyć stawkę kraju dostawy, jeśli reguły są poprawnie skonfigurowane. Nie oznacza to jednak automatycznej zgodności OSS.
W praktyce potrzebne są:
reguł podatkowych dla krajów, do których sprzedajesz;
kontrola progu 10 000 EUR poza samą konfiguracją podatku;
proces rozliczenia OSS albo decyzja o lokalnej rejestracji VAT;
testy na realnych scenariuszach koszyka.
Aktualne stawki VAT w UE (np. Francja 20% i Niemcy 19% to dobry test bazowy.
PrestaShop nie powinien być traktowany jak silnik compliance OSS. To narzędzie do stosowania reguł, które zostały skonfigurowane; analiza progów, deklaracji i obowiązków nadal musi być prowadzona poza samą listą Taxes.
Klienci poza UE, Szwajcaria i terytoria zamorskie
Sprzedaż poza UE nie oznacza automatycznie „0% VAT” dla każdego koszyka. Reguła 0% albo brak podatku ma sens tylko wtedy, gdy uzasadnia ją przepływ: eksport, miejsce dostawy, status klienta, dokumenty potwierdzające i lokalne obowiązki.
Dla Szwajcarii należy używać aktualnego przykładu 8,1% jako standardowej stawki, jeżeli sklep ma scenariusz, w którym szwajcarski VAT ma być naliczany. Jeżeli sprzedaż jest eksportem z UE, logika może być inna i wymaga osobnej reguły.
DOM i terytoria zamorskie wymagają dedykowanych reguł. Nie traktuj ich jako globalnego zwolnienia. W PrestaShop lepiej odwzorować je przez osobne kraje, stany, strefy lub zakresy kodów pocztowych, zgodnie z tym, jak sklep modeluje adresy i jak wygląda obowiązek podatkowy.
| Scenariusz | Konfiguracja w PrestaShop | Kontrola biznesowa |
| Francja metropolitalna | reguła z VAT 20% | standardowy checkout FR |
| Niemcy | reguła z VAT 19% | brak fikcyjnej podwyżki stawki |
| Szwajcaria | reguła z VAT 8,1% albo reguła eksportowa | zależy od przepływu i obowiązku lokalnego |
| DOM / terytoria zamorskie | dedykowane reguły, strefy lub kody pocztowe | brak globalnego zwolnienia |
| Poza UE | 0% / no tax tylko dla uzasadnionych przepływów | dokumenty eksportowe i status klienta |
Dla terytoriów specyficznych tworzę osobny przypadek testowy checkout. Jeżeli zespół sprawdza tylko „Francja” jako kraj, nie wykryje błędów dla adresów zamorskich.
VIES i numery VAT B2B
VIES pomaga sprawdzić numer VAT kontrahenta z UE, ale nie rozwiązuje całej konfiguracji B2B w PrestaShop. To narzędzie weryfikacyjne dla numerów VAT w transakcjach wewnątrzunijnych, a nie uniwersalna automatyczna walidacja natywna każdego checkoutu.
Jeżeli sklep sprzedaje B2B w UE, zaplanuj:
pole na numer VAT klienta;
walidację VIES przez moduł, integrację lub proces ręczny;
zapis dowodu weryfikacji;
reguły cen netto/brutto dla klienta firmowego;
scenariusz błędnego, nieaktywnego albo niezgodnego numeru VAT.
Nie zakładaj automatycznego reverse charge tylko dlatego, że klient wpisał numer VAT. Decydują status kontrahenta, kraj, rodzaj transakcji i dowód weryfikacji.
Jak aktualizować stawki VAT bez psucia katalogu
Zmianę stawki obsługuj przez aktualizację podatku i kontrolę powiązanych reguł. Jeśli np. Szwajcaria przeszła ze stawki 7,7% na 8,1%, sama zmiana procentu może wpłynąć na wszystkie produkty korzystające z danej reguły.
Przed zmianą:
Spisz reguły podatkowe korzystające z danej stawki.
Sprawdź produkty przypisane do tych reguł.
Zweryfikuj, czy zmiana ma działać historycznie, czy tylko od konkretnej daty operacyjnej.
Przetestuj checkout dla kraju, którego dotyczy zmiana.
Zapisz decyzję w wewnętrznej dokumentacji podatkowej sklepu.
Przy dużym katalogu bezpieczniejsza bywa nowa reguła niż edycja starej. Dotyczy to zwłaszcza sytuacji, gdy sklep ma zamówienia cykliczne, integrację ERP albo raportowanie, które rozróżnia stare i nowe okresy.
PrestaShop przelicza bieżące koszyki według aktualnej konfiguracji. Historyczne dokumenty, integracje księgowe i zwroty trzeba sprawdzić osobno, bo sama zmiana w Back Office nie jest pełnym procesem podatkowym.
Test checkout przed uruchomieniem
Każdą konfigurację VAT trzeba przetestować na checkout, nie tylko w karcie produktu. Produkt może mieć poprawną Tax rule, ale zły adres, typ klienta lub kraj dostawy zmieni wynik.
Minimalna macierz testów:
| Test | Co sprawdzić |
| Francja B2C | VAT 20%, adres dostawy we Francji |
| Niemcy B2C | VAT 19%, brak fikcyjnej podwyżki stawki |
| Szwajcaria | 8,1% albo brak VAT UE, zależnie od przepływu |
| B2B UE z numerem VAT | walidacja VIES i właściwy scenariusz faktury |
| Poza UE | 0% / no tax tylko przy uzasadnionym eksporcie |
| DOM / terytorium zamorskie | dedykowana reguła, nie globalne zwolnienie |
| Inny adres faktury i dostawy | wpływ opcji Based on |
| Produkt z obniżoną stawką | właściwa Tax rule, nie domyślna reguła sklepu |
Testuj także komunikację ceny netto/brutto. W koszyku musi być jasne, czy klient widzi kwotę z VAT, kwotę netto, czy osobną linię podatku. To zależy od Display tax in the shopping cart i konfiguracji cen w sklepie.
Często zadawane pytania
Jak skonfigurować stawki VAT w PrestaShop?
Wejdź do Back Office, otwórz `International > Taxes`, dodaj stawkę w `Taxes`, a następnie utwórz grupę w `Tax Rules`. Produktowi przypisz `Tax rule` w `Catalog > Products`, w zakładce `Pricing` lub `Prices`.
Czy produkt w PrestaShop używa bezpośrednio stawki VAT?
Nie. Produkt używa `Tax rule`, czyli reguły podatkowej. Sama stawka w `Taxes` określa procent i nazwę podatku, ale dopiero reguła wskazuje kraj, stan, zakres kodów pocztowych i sposób zastosowania.
Czy PrestaShop sam zapewnia zgodność OSS?
Nie w pełnym sensie compliance. PrestaShop może naliczać VAT według skonfigurowanych reguł krajowych, ale próg 10 000 EUR, wybór OSS, lokalne rejestracje i deklaracje trzeba kontrolować procesem podatkowym lub zewnętrzną integracją.
Jak ustawić VAT dla Niemiec i Francji?
Utwórz stawki 20% dla Francji i 19% dla Niemiec, potem ogranicz je przez odpowiednie `Tax Rules`. Nie wprowadzaj fikcyjnej podwyżki niemieckiej stawki w przykładach testowych, jeśli nie wynika to z realnej zmiany przepisów.
Czy dla klientów spoza UE należy zawsze ustawić 0% VAT?
Nie. `0%` albo no tax ustawiaj tylko wtedy, gdy przepływ podatkowy to uzasadnia: eksport, miejsce dostawy, status klienta i dokumenty. Reguła poza UE nie może być globalnym skrótem dla wszystkich transakcji.
Jak obsłużyć DOM i terytoria zamorskie?
Twórz dedykowane reguły podatkowe, strefy, kraje, stany lub zakresy kodów pocztowych. DOM i terytoria zamorskie nie powinny być traktowane jako jedno globalne zwolnienie, bo zasady zależą od konkretnego terytorium i przepływu.
Czy VIES działa natywnie w PrestaShop?
VIES jest przydatny do sprawdzania numerów VAT kontrahentów UE, ale nie zakładaj uniwersalnej automatycznej walidacji natywnej bez modułu, integracji albo procesu ręcznego. W B2B warto też zapisywać dowód weryfikacji.
Co przetestować przed uruchomieniem sklepu?
Przetestuj checkout według kraju, adresu dostawy, adresu faktury, typu klienta, produktu i scenariusza UE / poza UE. Sprawdź osobno Francję, Niemcy, Szwajcarię, klienta B2B z numerem VAT, DOM oraz produkt z obniżoną stawką.