Ustawienie VAT w WooCommerce
Moduł 4: VAT, wysyłka i płatności · Czas czytania: 11 min
Cel lekcji: Po tej lekcji będą Państwo potrafili poprawnie ustawić VAT w WooCommerce dla sprzedaży we własnym kraju, wyjaśnić skutki każdego ustawienia oraz odnaleźć różnicę wynikającą z zaokrąglenia lub błędną cenę.
Kluczowe pojęcia: stawka VAT, stawka podstawowa i obniżona, ceny wprowadzane z VAT lub bez VAT, obliczanie VAT na podstawie, klasy podatkowe, tabela stawek, priorytet, zaokrąglanie, wyświetlanie w sklepie i przy realizacji zamówienia, sufiks, B2B, odwrotne obciążenie, dostawa wewnątrzwspólnotowa, VIES
Ta lekcja objaśnia przepisy w brzmieniu obowiązującym na dzień 9 listopada 2026. Nie stanowi ona porady prawnej ani podatkowej. W razie wątpliwości co do Państwa sytuacji prosimy zwrócić się do prawnika, swojej organizacji branżowej lub księgowego.
Dlaczego VAT w sklepie jest trudniejszy niż w programie do faktur
Na fakturze wpisują Państwo jedną kwotę, jedną stawkę i jednego klienta. W sklepie internetowym program oblicza VAT dla każdego koszyka, każdego kraju, każdej metody wysyłki i każdego kodu rabatowego, tysiące razy dziennie. Jedno błędne ustawienie trafia wtedy do każdego zamówienia. A konsument widzi to od razu: prawo wymaga, aby konsumentom pokazywać łączną cenę wraz z podatkami (UE: art. 6 ust. 1 lit. e dyrektywy 2011/83/UE; Holandia: art. 6:230m ust. 1 lit. e oraz 3:15d ust. 2 BW; Niemcy: Art. 246a § 1 EGBGB; zob. lekcja 5.1).
WooCommerce oblicza VAT dopiero po włączeniu tej funkcji: WooCommerce > Ustawienia > Ogólne, pole wyboru Włącz stawki podatkowe i obliczenia (Enable tax rates and calculations). Następnie pojawia się zakładka Podatek (Tax). Jeśli pole nie jest zaznaczone, każda cena jest zwykłą liczbą bez logiki VAT, a Państwa księgowość zgadza się tylko wtedy, gdy wszystkie ceny przypadkiem mają tę samą stawkę.
Stawki w trzech przykładowych krajach
| Kraj | Stawka podstawowa | Stawki obniżone | Przykład stawki obniżonej |
|---|---|---|---|
| Holandia | 21% | 9% i 0% | wiele artykułów spożywczych |
| Belgia | 21% | 12%, 6% i 0% | wiele artykułów spożywczych |
| Niemcy | 19% | 7% | wiele artykułów spożywczych |
To, która stawka dotyczy danego produktu, określają przepisy każdego kraju; dzbanek do herbaty podlega stawce podstawowej, dla herbaty sypanej może obowiązywać stawka obniżona. W razie wątpliwości prosimy zapytać księgowego. W Polsce podstawowa stawka VAT wynosi 23 %. Aktualne stawki wszystkich państw UE znajdą Państwo w bazie TEDB Komisji Europejskiej (zob. Dalsza lektura). Będzie to potrzebne w lekcji 4.2.
Ustawienia po kolei
Na zakładce Podatek znajdują się opcje, przy których najczęściej popełnia się błędy.
Ceny wprowadzone z podatkiem (Prices entered with tax). Czy w produkcie wpisują Państwo € 24,20 (≈ 106,30 zł) jako cenę dla konsumenta, czy € 20,00 (≈ 87,85 zł) bez VAT? W sklepie dla konsumentów najwygodniejsza jest zwykle odpowiedź „tak, wprowadzam ceny z VAT”: cena, którą Państwo wpisują, jest ceną, którą widzi klient, również po zaokrągleniu. Dla hurtowni pracującej na cenach bez VAT bardziej logiczne jest „nie”. Prosimy wybrać raz i nie zmieniać tego ustawienia, gdy produkty są już dodane: WooCommerce nie przelicza istniejących kwot. Jeśli zmienią je Państwo później, wszystkie ceny od razu staną się o 21 procent wyższe lub niższe.
Oblicz podatek na podstawie (Calculate tax based on): adresu wysyłki klienta (domyślnie), adresu rozliczeniowego lub adresu sklepu. Jeśli sprzedają Państwo tylko w jednym kraju, ma to niewielkie znaczenie. Jeśli sprzedają Państwo do kilku państw UE powyżej progu z lekcji 4.2, potrzebny jest adres wysyłki: tam dociera towar.
Klasa podatkowa wysyłki (Shipping tax class): domyślnie „na podstawie produktów w koszyku”. Jest tu pewna osobliwość: jeśli w koszyku znajduje się jeden produkt ze stawką podstawową, WooCommerce stosuje tę stawkę do wysyłki, nawet gdy w koszyku jest też produkt z inną stawką. Czy jest to prawidłowe w Państwa sytuacji, to pytanie do księgowego; niektóre kraje dzielą koszty wysyłki proporcjonalnie.
Zaokrąglanie: „Zaokrąglaj podatek na poziomie sumy częściowej, a nie w każdym wierszu”. WooCommerce ostrzega, że niespójne ustawienia przy wprowadzaniu i wyświetlaniu cen prowadzą do różnic o jeden cent; przycisk Użyj zalecanych ustawień ujednolica je.
Dodatkowe klasy podatkowe: oprócz Standard domyślnie istnieją Obniżona stawka i Zerowa stawka. Dla każdej klasy tworzą Państwo tabelę stawek. Klasę wybierają Państwo dla każdego produktu.
Wyświetlaj ceny w sklepie oraz Wyświetlaj ceny w koszyku i podczas realizacji zamówienia: z VAT lub bez VAT. Dla konsumentów: z VAT. Za pomocą sufiksu (Price display suffix) dodają Państwo tekst za ceną, np. „z VAT”. W sklepie dla konsumentów i firm można użyć {price_excluding_tax}, aby pokazać obie wartości: „z VAT ({price_excluding_tax} bez VAT)”.
Tabela stawek
Każdy wiersz tabeli stawek zawiera: kod kraju, województwo/region, kod pocztowy, miasto, stawkę %, nazwę, priorytet, stawkę składaną oraz wysyłkę (czy stawka dotyczy też kosztów wysyłki). Dla Theehuis Example, który sprzedaje wyłącznie w Holandii:
| Klasa | Kraj | Stawka | Nazwa | Wysyłka |
|---|---|---|---|---|
| Standard | NL | 21,0000 | BTW | tak |
| Obniżona stawka | NL | 9,0000 | BTW | tak |
Jeśli pola województwa, kodu pocztowego i miasta pozostaną puste, wiersz obowiązuje w całym kraju. * jako kraj oznacza „każdy kraj”: prosimy nie używać tego dla VAT, bo wtedy sklep naliczy 21 procent klientowi w Niemczech.
O priorytecie: WooCommerce bierze dla każdego priorytetu tylko pierwszą pasującą stawkę. Kilka stawek jednocześnie (w Europie rzadko potrzebne) otrzymuje różne priorytety. Stawka składana (compound) oznacza podatek od podatku; w UE przy zwykłym VAT nie występuje, prosimy jej nie zaznaczać.
Przykład obliczenia i pułapka zaokrąglenia
Theehuis Example wprowadza ceny z VAT. Dzbanek do herbaty kosztuje € 29,95 (≈ 131,56 zł). WooCommerce przelicza wstecz: 29,95 / 1,21 = 24,75 bez VAT oraz 5,20 VAT. Opakowanie herbaty za € 4,95 (≈ 21,74 zł) z 9 procentami: 4,95 / 1,09 = 4,54, VAT 0,41.
Klient kupuje trzy opakowania herbaty. Przy zaokrąglaniu w każdym wierszu: 3 × 0,41 = 1,23. Przy zaokrąglaniu sumy częściowej: 14,85 / 1,09 = 13,62, VAT 1,23. Tutaj wynik jest taki sam, ale przy innych ilościach może różnić się o cent. To nie jest błąd WooCommerce, lecz skutek dokonanego wyboru. Prosimy wybrać jedną metodę, uzgodnić ją z księgowością i nie zmieniać jej w trakcie kwartału.
Sprzedaż firmom
Holenderskiej firmie Theehuis Example nalicza po prostu holenderski VAT; firma go odlicza. Jeśli sprzedają Państwo towary firmie w innym państwie UE z ważnym numerem VAT, jest to zwykle dostawa wewnątrzwspólnotowa: naliczają Państwo 0 procent, a firma rozlicza VAT we własnym kraju (następuje odwrotne obciążenie). W tym celu trzeba sprawdzić numer VAT w VIES, systemie weryfikacji Komisji Europejskiej, oraz wykazać dostawę osobno w deklaracji i w informacji podsumowującej o dostawach wewnątrzwspólnotowych. W Polsce numer VAT UE ma postać PL + 10 cyfr. WooCommerce nie robi tego samodzielnie: potrzebne jest rozszerzenie, które przy realizacji zamówienia pyta o numer VAT, sprawdza go w VIES i wtedy nie nalicza VAT. Jeśli weryfikacja się nie powiedzie, naliczają Państwo VAT normalnie. Zanim włączą Państwo tę funkcję, prosimy skonsultować to z księgowym.
W praktyce: tak to wygląda w WooCommerce
- Ustawienia > Ogólne: uzupełnić adres sklepu, zaznaczyć obliczanie podatku.
- Ustawienia > Podatek: ceny wprowadzane z VAT, obliczanie na podstawie adresu wysyłki, wyświetlanie z VAT, sufiks „z VAT”.
- Standardowe stawki: wiersz NL 21%, nazwa BTW, wysyłka zaznaczona. Obniżona stawka: NL 9%.
- Dla każdego produktu w Dane produktu > Ogólne: status podatku „Opodatkowany” i właściwa klasa podatkowa.
- Test: proszę dodać produkt do koszyka, wpisać adres w kraju sprzedaży i sprawdzić, czy kwota VAT zgadza się z wynikiem z kalkulatora.
Podsumowanie
- Proszę włączyć obliczanie VAT i raz wybrać, czy ceny są wprowadzane z VAT, czy bez VAT.
- Konsumenci zawsze widzą cenę z VAT; sufiks czyni to jasnym. W Polsce podstawowa stawka VAT wynosi 23 %.
- Jedna tabela stawek na klasę; w każdym priorytecie liczy się pierwsza pasująca stawka; bez
*jako kraju. - Różnice o jeden cent wynikają z wyboru zaokrąglania w każdym wierszu lub na poziomie sumy częściowej.
- Sprzedaż firmom w innych państwach UE (odwrotne obciążenie) wymaga weryfikacji numeru VAT w VIES i rozszerzenia.
Quiz
Zadanie
Zadanie A4.1: Czy Państwa ceny z VAT są prawidłowe? Proszę podać adres sklepu, slug lub adres jednego produktu, cenę tego produktu bez VAT, stawkę VAT oraz informację, czy sprzedają Państwo konsumentom, czy wyłącznie firmom. Program pobiera produkt przez Store API (/wp-json/wc/store/v1/products?slug=...), publiczny punkt dostępu, z którego może korzystać każdy odwiedzający. Oblicza wyświetlaną cenę (prices.price podzielone przez 10 do potęgi currency_minor_unit) i porównuje ją z Państwa ceną bez VAT pomnożoną przez (1 + stawka).
- Zielony przy konsumentach: wyświetlana cena to Państwa cena z VAT (z dokładnością do 2 centów).
- Pomarańczowy: przy cenie brak oznaczenia typu „z VAT” (w
price_html) lub waluta nie jest euro. - Czerwony przy konsumentach: sklep pokazuje cenę bez VAT albo cenę, która nie pasuje do żadnej z nich (proszę sprawdzić stawkę, klasę podatkową produktu oraz „Ceny wprowadzone z podatkiem”).
Przy opcji „wyłącznie firmy” prawidłowa jest zarówno cena z VAT, jak i bez VAT, ze wskazówką, by jasno podać, która to jest. Uwaga: Store API pokazuje ceny zgodnie z ustawieniem „Wyświetlaj ceny w sklepie”, a dla odwiedzającego bez adresu na podstawie adresu sklepu.
Dalsza lektura
- Setting up taxes in WooCommerce (woocommerce.com, po angielsku): https://woocommerce.com/document/setting-up-taxes-in-woocommerce/
- Stawki VAT wszystkich państw UE, TEDB (Komisja Europejska, po angielsku): https://ec.europa.eu/taxation_customs/tedb/
- Weryfikacja numeru VAT, VIES (Komisja Europejska): https://ec.europa.eu/taxation_customs/vies/
- Wymogi dotyczące faktur w Holandii (Belastingdienst, po niderlandzku): https://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/belastingdienst/zakelijk/btw/administratie_bijhouden/facturen_maken/factuureisen/factuureisen
- Kim Państwo są: obowiązki informacyjne i Impressum (ten kurs, lekcja 5.1)
