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:
- Customer Tax Class - kategoria podatkowa klienta (np. Retail Customer, Wholesale).
- Product Tax Class - kategoria podatkowa produktu (np. Taxable Goods, Books).
- Tax Zone (region) - kraj + województwo + kod pocztowy.
- 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):
- Zaznacz produkty checkboxami.
- Actions → Update attributes.
- Zaznacz pole Tax Class i wybierz docelową klasę.
- Save.
Krok 8. Weryfikacja konfiguracji
Po skonfigurowaniu przetestuj:
- Dodaj testowy produkt z ceną brutto 123,00 zł, Tax Class = Taxable Goods.
- Otwórz produkt na froncie sklepu (jako gość, z Polski).
- Dodaj do koszyka.
- W koszyku powinno być widoczne:
- Subtotal:
100,00 zł - Tax:
23,00 zł(23% VAT) - Total:
123,00 zł
- Subtotal:
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
- Sprawdź Tax Class produktu - czy zgadza się z Tax Rule.
- Sprawdź adres dostawy klienta - czy
Country = Poland(lub kraj objęty stawką). - Sprawdź Customer Tax Class klienta - czy zgadza się z Tax Rule.
- Reindex:
bin/magento indexer:reindexi 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
- Waluta i lokalizacja - Base Currency, kraje obsługiwane
- Metody dostawy - VAT przy wysyłce