VAT UE w PrestaShop: odwrotne obciążenie i weryfikacja VIES

VAT UE przy sprzedaży do innych krajów Unii zależy od tego, kto kupuje. Firma z aktywnym numerem VAT UE kupuje bez VAT i sama rozlicza podatek w swoim kraju (odwrotne obciążenie), a konsument płaci VAT — zwykle według polskiej stawki, a przy produktach cyfrowych i sprzedaży wysyłkowej powyżej 10 000 euro rocznie według stawki swojego kraju. Warunkiem sprzedaży bez VAT jest numer klienta sprawdzony w unijnym rejestrze VIES. PrestaShop sam numerów VAT nie sprawdza. Poniżej wyjaśniamy zasady VAT w UE, pokazujemy, jak sklep nalicza podatek, i jak krok po kroku ustawić weryfikację numeru VAT w VIES modułem Weryfikacja VAT UE.

Jak działa VAT w Unii Europejskiej?

VAT to podatek od konsumpcji. Firmy w łańcuchu dostaw odliczają VAT zapłacony przy zakupach, więc ciężar podatku ponosi konsument końcowy. Wspólne zasady dla całej Unii zapisano w dyrektywie 2006/112/WE, a w Polsce w ustawie o VAT. Stawki ustala jednak każdy kraj sam — dyrektywa wymaga tylko, żeby stawka podstawowa wynosiła co najmniej 15% (art. 97 dyrektywy).

KrajStawka podstawowa VAT
Polska23%
Niemcy19%
Francja20%
Węgry27% (najwyższa w UE)
Luksemburg17% (najniższa w UE)

Aktualne stawki wszystkich krajów, także obniżone, publikuje Komisja Europejska w bazie TEDB.

Firma, która handluje z innymi krajami UE, ma numer VAT UE: prefiks kraju i numer krajowy, np. PL + 10 cyfr NIP, DE + 9 cyfr, FR + 11 znaków. W Polsce taki numer ma podatnik zarejestrowany jako podatnik VAT-UE (zgłoszenie VAT-R, art. 97 ustawy o VAT). Sam NIP nie wystarczy — liczy się aktywna rejestracja do transakcji wewnątrzwspólnotowych, którą sprawdza się w VIES.

Kiedy naliczać VAT, a kiedy odwrotne obciążenie?

O tym, czy doliczasz VAT i według jakiej stawki, decydują trzy rzeczy: kim jest klient (firma czy konsument), skąd jest i co sprzedajesz. Tabela pokazuje typowe przypadki sklepu internetowego z Polski. To ogólne zasady, a nie porada podatkowa — szczegóły swojej sytuacji ustal z księgowym.

KlientProdukty cyfrowe i usługi elektroniczneTowary wysyłane do klienta
Firma z innego kraju UE z ważnym numerem VAT UEbez VAT — odwrotne obciążenie, VAT rozlicza nabywcabez VAT — wewnątrzwspólnotowa dostawa towarów (WDT), stawka 0%
Konsument albo firma bez ważnego numeru z innego kraju UEVAT kraju klienta (procedura OSS); do 10 000 € rocznie możesz stosować polski VATpolski VAT do 10 000 € sprzedaży wysyłkowej w UE rocznie, powyżej — VAT kraju klienta (OSS)
Klient z Polski, także firma z NIPpolski VATpolski VAT

Firma z ważnym numerem VAT UE: odwrotne obciążenie

Przy usługach dla firmy z innego kraju UE miejscem opodatkowania jest kraj nabywcy (art. 44 dyrektywy, w Polsce art. 28b ustawy o VAT), a podatek rozlicza nabywca (art. 196 dyrektywy). Wystawiasz fakturę bez VAT, z numerami VAT UE obu stron i wyrazami „odwrotne obciążenie” (art. 106e ust. 1 pkt 18 ustawy o VAT), a sprzedaż wykazujesz w informacji podsumowującej VAT-UE (art. 100). Klient dolicza VAT według stawki swojego kraju w swojej deklaracji i zwykle od razu go odlicza.

Przy towarach wysyłanych do firmy w innym kraju UE to wewnątrzwspólnotowa dostawa towarów ze stawką 0% (art. 138 dyrektywy, art. 42 ustawy o VAT). Od 2020 roku warunkiem zwolnienia jest ważny numer VAT UE nabywcy i ujęcie dostawy w informacji podsumowującej, a do tego potrzebujesz dowodów wywozu towaru.

Konsument: VAT polski albo kraju klienta

Konsumentowi — i firmie, która nie podała ważnego numeru — doliczasz VAT. Od 1 lipca 2021 r. obowiązuje jeden unijny próg 10 000 euro netto rocznie dla sprzedaży wysyłkowej towarów i usług elektronicznych konsumentom z innych krajów UE, liczony łącznie dla wszystkich krajów, w bieżącym i poprzednim roku. Poniżej progu możesz doliczać polski VAT. Powyżej — VAT kraju klienta, rozliczany w jednej deklaracji w polskim urzędzie przez procedurę OSS (One Stop Shop), bez rejestracji w każdym kraju osobno. Pliki do pobrania, licencje i subskrypcje sprzedawane konsumentom to usługi elektroniczne, opodatkowane co do zasady w kraju klienta.

Klient z Polski

Odwrotne obciążenie przy sprzedaży do UE dotyczy transakcji między krajami. Polska firma z NIP płaci 23% VAT jak każdy klient krajowy — numer VAT z Twojego kraju nigdy nie zdejmuje podatku.

Gdy nie masz numeru VAT UE

Jeśli korzystasz ze zwolnienia podmiotowego (art. 113 ustawy o VAT), nie doliczasz VAT swoim klientom. Usługi dla firm z innych krajów UE i zakup usług od firm zagranicznych (np. reklam w Google czy Meta) wymagają jednak zwykle wcześniejszej rejestracji jako podatnik VAT-UE (art. 97 ust. 3). Od 2025 roku małe firmy mogą też korzystać ze zwolnienia w innych krajach UE (dyrektywa 2020/285), po osobnym zgłoszeniu.

Weryfikacja numeru VAT w VIES

VIES (VAT Information Exchange System) to wyszukiwarka Komisji Europejskiej, która pyta rejestr danego kraju, czy numer VAT jest aktywny w transakcjach wewnątrzwspólnotowych, i zwykle podaje nazwę oraz adres firmy. Sprawdzenie jest bezpłatne — na stronie VIES albo przez jej interfejs API.

Dlaczego to takie ważne? Według art. 18 rozporządzenia wykonawczego 282/2011 sprzedawca może uznać klienta za podatnika — i nie doliczyć VAT — gdy klient podał numer VAT, a sprzedawca uzyskał potwierdzenie jego ważności. Sam wpisany numer to za mało: może być nieaktywny, z literówką albo należeć do innej firmy. Jeśli sprzedasz bez VAT na nieważny numer, urząd może zażądać podatku od Ciebie.

  • Dowód sprawdzenia — gdy w zapytaniu podasz własny numer VAT, VIES zwraca numer konsultacji, który potwierdza, że numer sprawdzono w danym dniu. Zapisz go przy zamówieniu.
  • Awarie — systemy poszczególnych krajów mają przerwy serwisowe, a przy przeciążeniu VIES odrzuca zapytania. Sklep nie może wtedy blokować zamówień ani zmieniać cen w połowie zakupów.
  • Aktualność — numer, który był ważny w zeszłym roku, mógł zostać wykreślony. Sprawdzaj go przy zamówieniu, a nie raz przy rejestracji konta.

Jak PrestaShop nalicza VAT?

PrestaShop liczy podatek z reguł podatków przypisanych do produktów, według kraju z adresu klienta. Do sprzedaży w UE przydają się te ustawienia:

  • Reguły podatków (Międzynarodowe → Podatki → Reguły podatków) — grupa reguł określa stawkę w każdym kraju. Pakiet lokalizacyjny (Międzynarodowe → Lokalizacja) tworzy m.in. grupę „EU VAT For Virtual Products” ze stawkami wszystkich krajów UE dla produktów cyfrowych.
  • Adres podatkowy — w Międzynarodowe → Podatki opcja „Bazuje na” wybiera adres dostawy albo adres do faktury.
  • Pole numeru VAT — klient wpisze numer tylko wtedy, gdy format adresu jego kraju zawiera pole vat_number (Międzynarodowe → Położenie → Kraje).
  • Tryb B2B (Preferencje → Klienci → Włącz tryb B2B) dodaje do konta klienta dane firmy, ale nie zmienia podatku.
  • Grupy klientów z metodą wyświetlania cen „Netto” (Klienci → Grupy) pokazują ceny bez VAT, ale do zamówienia VAT jest nadal doliczany.

Czego brakuje? PrestaShop nie sprawdza numerów VAT. W kodzie został tylko mechanizm po dawnym module „vatnumber” (ustawienie VATNUMBER_MANAGEMENT), który zdejmuje VAT każdemu adresowi z numerem VAT spoza kraju sklepu — bez żadnego sprawdzenia. Komentarz w kodzie PrestaShop 9 mówi wprost: „No validation”. Literówka albo wymyślony numer oznacza sprzedaż bez VAT, którą urząd może zakwestionować.

Brakujące ogniwo — sprawdzenie numeru w VIES i przekazanie wyniku do naliczania podatku — dodaje nasz moduł Weryfikacja VAT UE (VIES). Działa w PrestaShop 1.7.8, 8 i 9 (PHP od 7.2.5), z motywami Classic i Hummingbird, także w trybie multistore.

Odwrotne obciążenie w PrestaShop krok po kroku

Moduł działa w samym naliczaniu podatku PrestaShop: gdy adres klienta ma numer VAT potwierdzony w VIES, a kraj należy do UE i nie jest Twoim krajem, sklep liczy 0% od produktów, dostawy i pakowania na prezent. Ceny, sumy i faktury zmieniają się razem z tym, a Twoje reguły podatkowe zostają bez zmian. Ustawienie zajmuje kilka minut.

Krok 1. Zainstaluj moduł i sprawdź Status

Wgraj plik ZIP w Moduły → Menedżer modułów → Prześlij moduł i kliknij Konfiguruj. Ramka Status na górze strony pokazuje, co przeszkadza modułowi: wyłączone podatki, stare ustawienie VATNUMBER_MANAGEMENT (wyłączysz je jednym kliknięciem) albo aktywne kraje UE bez pola numeru VAT.

Weryfikacja VAT UE (VIES): Zainstaluj i sprawdź Status
Krok 1 z 6: Zainstaluj i sprawdź Status

Krok 2. Dodaj pole numeru VAT do adresu

W Międzynarodowe → Położenie → Kraje edytuj każdy kraj UE, do którego sprzedajesz, i sprawdź, czy format adresu zawiera vat_number. Bez tego pola klient nie ma gdzie wpisać numeru.

Weryfikacja VAT UE (VIES): Dodaj numer VAT do adresu
Krok 2 z 6: Dodaj numer VAT do adresu

Krok 3. Ustaw swój kraj, numer VAT i faktury

W Ustawieniach podatku wybierz Twój kraj — jego klienci zawsze płacą VAT. Wpisz Twój numer VAT, żeby VIES przy każdym sprawdzeniu zwracał numer konsultacji. Zdecyduj też, co robić z nieważnym numerem: zapisać adres, naliczyć VAT i ostrzec klienta albo nie zapisać adresu do czasu poprawki.

Weryfikacja VAT UE (VIES): Ustaw swój kraj i numer VAT
Krok 3 z 6: Ustaw swój kraj i numer VAT

Okres karencji (domyślnie 72 godziny) sprawia, że potwierdzony wcześniej numer zostaje ważny, gdy VIES akurat nie działa. Adnotację na fakturach i korektach ustawiasz osobno dla każdego języka — domyślnie „Odwrotne obciążenie: podatek VAT rozlicza nabywca.” Dopisz do niej to, co zaleci księgowy, np. artykuł dyrektywy.

Weryfikacja VAT UE (VIES): Nieważny numer, awarie, faktury
Krok 3 z 6: Nieważny numer, awarie, faktury

Krok 4. Dostosuj połączenie z VIES

Każda odpowiedź VIES jest zapisywana i używana przez okres ważności sprawdzenia (domyślnie 60 minut), więc o ten sam numer moduł pyta najwyżej raz na ten czas. Limit czasu określa, jak długo klient najdłużej czeka na VIES, a limity zapytań na minutę, godzinę i odwiedzającego chronią serwer przed blokadą. Do testów jest tryb testowy z usługą testową VIES: numer 100 jest ważny, 200 nieważny.

Weryfikacja VAT UE (VIES): Dostosuj połączenie z VIES
Krok 4 z 6: Dostosuj połączenie z VIES

Krok 5. Sprawdź, co widzi klient

Numer jest sprawdzany, gdy klient zapisuje adres — na koncie albo w zamówieniu. Po potwierdzeniu w VIES klient widzi komunikat, że ceny są bez VAT.

Weryfikacja VAT UE (VIES): Klient zapisuje adres firmy
Krok 5 z 6: Klient zapisuje adres firmy

W zamówieniu zweryfikowana firma z innego kraju UE widzi produkty, dostawę i sumę bez VAT. Konsumenci i klienci z Twojego kraju płacą VAT jak dotąd. Żeby zobaczyć koszyk oczami konkretnego klienta bez znajomości jego hasła, użyj bezpłatnego modułu Zaloguj jako klient.

Weryfikacja VAT UE (VIES): Ceny bez VAT w zamówieniu
Krok 5 z 6: Ceny bez VAT w zamówieniu

Krok 6. Kontroluj zamówienia, numery i dziennik

Każde zamówienie z numerem VAT zachowuje wynik VIES: numer, decyzję, numer konsultacji, nazwę i adres firmy oraz datę sprawdzenia. To Twój dowód dla urzędu skarbowego.

Weryfikacja VAT UE (VIES): Wynik VIES w każdym zamówieniu
Krok 6 z 6: Wynik VIES w każdym zamówieniu

Lista Numery VAT pokazuje wszystkie sprawdzone numery z odpowiedzią VIES. Możesz sprawdzić numer ponownie albo oznaczyć go ręcznie — przydaje się, gdy system jakiegoś kraju nie działa od kilku dni, a firmę sprawdzono inaczej.

Weryfikacja VAT UE (VIES): Wszystkie sprawdzone numery na liście
Krok 6 z 6: Wszystkie sprawdzone numery na liście

Dziennik zapisuje każde zapytanie z kodem VIES i czasem odpowiedzi, także wstrzymane przez limity. Awaria VIES nigdy nie blokuje klienta — trafia do dziennika.

Weryfikacja VAT UE (VIES): Awarie VIES w dzienniku
Krok 6 z 6: Awarie VIES w dzienniku

Wskazówka: VIES potwierdza, że numer jest aktywny, a nie kto go wpisał. Przed wysłaniem dużego zamówienia porównaj nazwę i adres firmy z VIES z danymi klienta w zamówieniu.

Najczęstsze błędy przy VAT UE w sklepie

  • Zdejmowanie VAT każdemu, kto wpisał numer. Stare ustawienie VATNUMBER_MANAGEMENT albo ręczne przenoszenie klientów do grupy „firmy” nie sprawdza, czy numer jest ważny.
  • Brak pola numeru VAT w formacie adresu. Klient z Niemiec czy Francji nie ma gdzie go wpisać i płaci VAT, a potem prosi o korektę.
  • Brak dowodu sprawdzenia. Wynik z VIES z datą i numerem konsultacji powinien zostać przy zamówieniu, a nie tylko w pamięci pracownika.
  • VAT zdjęty klientowi z Polski. Odwrotne obciążenie przy sprzedaży do UE dotyczy firm z innych krajów UE.
  • Pominięty próg 10 000 euro. Po jego przekroczeniu konsumenci z innych krajów płacą VAT swojego kraju — w PrestaShop zrobisz to regułami podatków.

Masz już pozostałe elementy — płatności, faktury i księgowość? Przy wyborze bramki pomoże poradnik o płatnościach w PrestaShop, a jeśli sklep działa na starszej wersji, zajrzyj do poradnika o aktualizacji PrestaShop. Własny układ faktury albo integrację z systemem księgowym przygotujemy w ramach prac programistycznych PrestaShop.

Źródła

Najczęściej zadawane pytania

Czy firma z innego kraju UE zawsze kupuje bez VAT?

Tylko wtedy, gdy podała numer VAT UE, który jest aktywny w VIES. Firma bez numeru albo z numerem nieważnym jest traktowana jak konsument i płaci VAT. Dlatego numer trzeba sprawdzić, zanim sklep zdejmie podatek.

Co się dzieje, gdy VIES nie działa?

Moduł zachowuje ostatnią odpowiedź i przez okres karencji (domyślnie 72 godziny) traktuje potwierdzony wcześniej numer jako ważny. Nowe numery sprawdza ponownie po przerwie, a każdy błąd zapisuje w dzienniku. Awaria VIES nie blokuje zamówienia.

Czy odwrotne obciążenie dotyczy polskich firm?

Nie przy sprzedaży, o której mowa w tym poradniku. Klient z Twojego kraju płaci VAT także wtedy, gdy ma ważny numer VAT. W module ustawiasz to polem „Twój kraj”.

Czy moduł zmienia moje reguły podatków i ceny?

Nie. Mówi tylko PrestaShop, żeby naliczył 0% dla zweryfikowanej firmy z innego kraju UE. Reguły podatków, ceny i grupy klientów zostają bez zmian, a po odinstalowaniu sklep nalicza VAT jak wcześniej.

Czy VAT znika też z kosztów dostawy?

Tak. Dla zweryfikowanej firmy z innego kraju UE moduł zdejmuje VAT z produktów, dostawy i pakowania na prezent, a faktura i korekta dostają adnotację o odwrotnym obciążeniu w języku zamówienia.

Sprzedajesz firmom w innych krajach UE? Zobacz moduł Weryfikacja VAT UE (VIES) albo napisz do nas, jeśli masz pytanie o swój sklep.

Produkty z tego wpisu

Wróć do: Blog

Ładowanie...
Powrót do góry