Ecom house logo

Konfiguracja podatków VAT w Magento 2

Opublikowano: 17 lipca 2026

Podatki w Magento są najtrudniejszym obszarem konfiguracji - czterowarstwowy model (Tax Class produktu × Tax Class klienta × strefa geograficzna × stawka) bywa mylący, ale bez prawidłowej konfiguracji sklep łamie prawo podatkowe. Ten poradnik pokazuje minimalną, działającą konfigurację dla polskiego sklepu B2C ze stawkami 23% / 8% / 5% / 0%.

Model podatkowy Magento: Magento liczy podatek w czterech krokach:

  1. Customer Tax Class - kategoria podatkowa klienta (np. Retail Customer, Wholesale).
  2. Product Tax Class - kategoria podatkowa produktu (np. Taxable Goods, Books).
  3. Tax Zone (region) - kraj + województwo + kod pocztowy.
  4. Tax Rate - konkretny procent (23%, 8%, 5%, 0%).

Te 4 elementy spina Tax Rule - "jeśli klient X kupuje produkt Y w strefie Z, to naliczamy stawkę R".

Krok 1. Skonfiguruj Tax Calculation

Ścieżka: Stores > Configuration > Sales > Tax > Calculation Settings

Pole Wartość dla sklepu PL B2C
Tax Calculation Method Based On Total (podatek liczony od sumy koszyka - najczęstsze)
Tax Calculation Based On Shipping Origin (podatek od miejsca, z którego wysyłasz - typowo Polska)
Catalog Prices Including Tax (ceny w katalogu zawierają VAT - standard PL/EU B2C)
Shipping Prices Including Tax
Apply Customer Tax After Discount
Apply Discount On Prices Including Tax
Apply Tax On Custom price if available, Original price otherwise

Zapisz Save Config.

B2B vs B2C: B2C (sklep dla konsumenta) → ceny z VAT w katalogu (Including Tax). B2B (sklep dla firm) → ceny netto w katalogu (Excluding Tax), VAT doliczany w koszyku.

Powyższa konfiguracja zakłada B2C. Dla B2B zmień Catalog Prices = Excluding Tax.

Krok 2. Wyświetlanie cen

Ścieżka: Stores > Configuration > Sales > Tax > Price Display Settings

Pole Wartość B2C
Display Product Prices in Catalog Including Tax
Display Shipping Prices Including Tax

Stores > Configuration > Sales > Tax > Shopping Cart Display Settings:

Pole Wartość
Display Prices Including Tax
Display Subtotal Including Tax
Display Shipping Amount Including Tax
Include Tax in Order Total Yes
Display Full Tax Summary Yes (klient widzi kwotę VAT)
Display Zero Tax Subtotal No

Stores > Configuration > Sales > Tax > Orders, Invoices, Credit Memos Display Settings:

Te same wartości co dla koszyka - żeby na fakturach/zamówieniach pokazywać kwoty brutto.

Zapisz Save Config.

Krok 3. Utwórz Tax Rates (stawki VAT)

Ścieżka: Stores > Tax > Tax Zones and Rates

Kliknij Add New Tax Rate dla każdej stawki, którą obsługujesz.

Polski VAT 23% - produkty standardowe

Pole Wartość
Tax Identifier PL-VAT-23
Zip/Post Code * (dowolny kod pocztowy)
State * (wszystkie województwa)
Country Poland
Rate Percent 23.0000

Zapisz.

Pozostałe stawki PL

Powtórz dla:

Tax Identifier Stawka Typowe zastosowanie
PL-VAT-23 23% Produkty standardowe
PL-VAT-8 8% Niektóre artykuły spożywcze, hotele, transport
PL-VAT-5 5% Produkty spożywcze podstawowe, książki drukowane, czasopisma
PL-VAT-0 0% Eksport poza UE, niektóre wyjątki

VAT dla krajów UE (opcjonalne, gdy sprzedajesz za granicę)

Od 2021 r. obowiązuje OSS (One-Stop Shop) - przy sprzedaży do konsumentów w innych krajach UE powyżej progu (10 000 EUR / rok) musisz naliczać VAT lokalnego kraju kupującego.

Przykład: DE-VAT-19 (Niemcy, 19%), FR-VAT-20 (Francja, 20%) itd.

OSS i kraje UE: Konfiguracja VAT dla sprzedaży międzynarodowej wymaga konsultacji z doradcą podatkowym - błędy kosztują. Powyższe to tylko schemat techniczny, nie porada podatkowa.

Krok 4. Utwórz Product Tax Classes

Ścieżka: Stores > Tax > Product Tax Class

Magento ma domyślnie Taxable Goods. Dodaj klasy dla pozostałych stawek:

Product Tax Class Stawka skojarzona
Taxable Goods 23%
Reduced Tax 8% 8%
Reduced Tax 5% 5%
Zero Tax 0%

Każdemu produktowi w katalogu trzeba potem przypisać Tax Class (Catalog > Products > [produkt] > Price > Tax Class).

Krok 5. Customer Tax Classes

Ścieżka: Stores > Tax > Customer Tax Class

Domyślnie istnieje Retail Customer. Dla większości sklepów B2C wystarczy domyślna.

Dla B2B utwórz dodatkowo Wholesale Customer - i przypisz do grupy klientów hurtowych (Customers > Customer Groups).

Krok 6. Tax Rules - najważniejsze!

Ścieżka: Stores > Tax > Tax Rules

Reguła łączy Customer Class + Product Class + Tax Rate.

Reguła: Polski VAT 23%

Pole Wartość
Name PL VAT 23%
Tax Rate PL-VAT-23 (stawka z Kroku 3)
Customer Tax Class Retail Customer (i ewentualnie Wholesale)
Product Tax Class Taxable Goods (z Kroku 4)
Priority 0
Calculate Off Subtotal Only No
Sort Order 0

Zapisz.

Pozostałe reguły

Powtórz dla każdej kombinacji Tax Rate × Product Tax Class:

Tax Rule Tax Rate Product Tax Class
PL VAT 23% PL-VAT-23 Taxable Goods
PL VAT 8% PL-VAT-8 Reduced Tax 8%
PL VAT 5% PL-VAT-5 Reduced Tax 5%
PL VAT 0% PL-VAT-0 Zero Tax

Krok 7. Przypisz Tax Class do produktów

Ścieżka: Catalog > Products > [produkt] > Price > Tax Class

Wybierz właściwy Tax Class - najczęściej Taxable Goods (23%).

Dla książek, prasy, podstawowych spożywczych - wybierz Reduced Tax 5% / Reduced Tax 8%.

Masowa zmiana Tax Class

Na liście produktów (Catalog > Products):

  1. Zaznacz produkty checkboxami.
  2. ActionsUpdate attributes.
  3. Zaznacz pole Tax Class i wybierz docelową klasę.
  4. Save.

Krok 8. Weryfikacja konfiguracji

Po skonfigurowaniu przetestuj:

  1. Dodaj testowy produkt z ceną brutto 123,00 zł, Tax Class = Taxable Goods.
  2. Otwórz produkt na froncie sklepu (jako gość, z Polski).
  3. Dodaj do koszyka.
  4. W koszyku powinno być widoczne:
    • Subtotal: 100,00 zł
    • Tax: 23,00 zł (23% VAT)
    • Total: 123,00 zł

Jeśli kwoty się nie zgadzają - sprawdź ponownie kroki 1 - 7.

Walidacja NIP (B2B)

Magento ma natywne wsparcie walidacji NIP/VAT ID dla firm z UE.

Ścieżka: Stores > Configuration > Customers > Customer Configuration > Create New Account Options

Pole Wartość
Show VAT Number on Storefront Yes

Stores > Configuration > General > General > VAT Validation Options:

Pole Wartość
Enable Automatic Assignment to Customer Group Yes (jeśli chcesz auto-przypisać do hurtu)
Validate on Each Transaction Yes

Magento użyje VIES VAT (European Commission) do walidacji - wymaga dostępu internetowego serwera do ec.europa.eu.

Polski NIP: Walidacja przez VIES dotyczy NIP unijnego (poprzedzonego prefiksem kraju, np. PL1234567890). Walidacja samej liczby NIP w Polsce wymaga dodatkowych modułów lub integracji z bazą Ministerstwa Finansów.

Najczęstsze problemy

Magento doliczają VAT do cen brutto

Sprawdź Stores > Configuration > Sales > Tax > Calculation Settings > Catalog Prices - musi być Including Tax przy konfiguracji B2C.

Kwoty na fakturze są o grosze inne niż w koszyku

To zaokrąglenia. Magento ma kilka algorytmów zaokrągleń (Apply Tax On = Custom price if available, Original price otherwise) - dostosuj w Calculation Settings jeśli rozbieżności są problemem.

Produkt nie nalicza VAT mimo skonfigurowanej Tax Rule

  1. Sprawdź Tax Class produktu - czy zgadza się z Tax Rule.
  2. Sprawdź adres dostawy klienta - czy Country = Poland (lub kraj objęty stawką).
  3. Sprawdź Customer Tax Class klienta - czy zgadza się z Tax Rule.
  4. Reindex: bin/magento indexer:reindex i cache flush.

Sprzedaję do UE - jak skonfigurować OSS?

To temat na osobny projekt - wymaga rejestracji w OSS, walidacji VAT klienta, naliczania stawki lokalnej. Najlepsze rozwiązanie: dedykowany moduł (np. Mageworx VAT lub Amasty VAT ID) + konsultacja z doradcą podatkowym.


Powiązane