Kurs przeliczeniowy VAT: który dzień NBP wybrać, by nie narazić się na sankcje
Prawidłowe ustalenie kursu waluty obcej jest kluczowe dla rzetelności rozliczeń z organami podatkowymi, co precyzuje art. 31a ust. 1 ustawy o podatku od towarów i usług. Kwestia zastosowania odpowiedniego kursu walut dla celów podatku VAT została uregulowana w sposób sztywny, eliminując dowolność w wyborze daty notowania. Podstawą do przeliczenia podatku VAT jest kurs waluty obcej ustalony na dzień dokonania transakcji, co oznacza, że należy stosować kurs średni NBP z dnia poprzedzającego dzień powstania obowiązku podatkowego.
W praktyce gospodarczej często występuje rozbieżność między datą wykonania usługi a datą sporządzenia dokumentu. Przykładowo, jeżeli sprzedaż towarów nastąpiła 14 maja 2025 r., a faktura została wystawiona 15 maja 2025 r., właściwym kursem do przeliczenia podstawy opodatkowania będzie średni kurs z tabeli A/NBP z dnia 13 maja 2025 r. Kurs NBP z dnia poprzedniego dnia roboczego jest bezpieczny tylko gdy dzień sprzedaży jest tożsamy z dniem wystawienia dokumentu w systemie. Błędny kurs powoduje, że różnica w deklaracji VAT może generować zaległość podatkową oraz odsetki za zwłokę.
Podatnik ma prawo do wystawienia faktury sprzedaży na 30 dni przed dokonaniem dostawy towaru lub wykonaniem usługi, co dodatkowo komplikuje wybór właściwej tabeli kursowej. W metodzie kasowej PIT datą powstania przychodu jest dzień uregulowania należności, jednakże dla potrzeb VAT decydujące pozostaje powstanie obowiązku podatkowego. Dlatego zaleca się, aby przedsiębiorcy zapisali w polityce rachunkowej zasadę: „Kurs NBP z dnia poprzedzającego dzień sprzedaży” i stosowali ją konsekwentnie, dokumentując źródło kursu dla każdej transakcji.
| Dzień sprzedaży | Dzień wystawienia | Kurs obowiązujący | VAT w PLN (przy 100 EUR) | Ryzyko kontroli |
|---|---|---|---|---|
| 12.05.2025 | 12.05.2025 | 4,2643 PLN (z 11.05) | 98,08 PLN | Niskie |
| 12.05.2025 | 13.05.2025 | 4,3143 PLN (z 11.05) | 99,23 PLN | Średnie (błąd daty) |
| 12.05.2025 | 15.05.2025 | 4,3643 PLN (z 11.05) | 100,38 PLN | Wysokie (odsetki) |
KSeF a waluta obca: jak wypełnić pola PLN, by system zaakceptował XML
Struktura logiczna e-faktury (schema XSD) wymusza na podatnikach precyzyjne mapowanie danych finansowych w odpowiednich tagach pliku XML. KSeF akceptuje tylko PLN w polach podatkowych, co oznacza, że kwota podatku VAT zawsze musi być przeliczona na złotówki i wykazana w dedykowanych polach systemowych. Wartość netto i kwota należności ogółem mogą być wyrażone w dowolnej walucie, o ile równolegle podano przeliczenie na polskie złote (PLN), co wynika bezpośrednio z wymogów technicznych Ministerstwa Finansów.
Podczas generowania pliku XML należy zwrócić uwagę na cztery kluczowe tagi: <P_13> (wartość netto w PLN), <P_14> (kwota podatku VAT w PLN), <P_15> (kwota brutto w PLN) oraz <P_106> (kod waluty źródłowej, np. EUR). Przykładowo, przy transakcji na kwotę 1000 EUR i kursie 4,3000 PLN, pole <P_13> musi zawierać wartość 4300.00. Należy pamiętać, że każda wartość musi posiadać dokładnie dwa miejsca po przecinku, a błąd zaokrąglenia przekraczający 0,02 zł skutkuje odrzuceniem pliku przez bramkę API KSeF.
Faktura ustrukturyzowana uznawana jest za wystawioną z dniem jej przesłania do KSeF, co nakłada na podatników obowiązek zachowania spójności między datą wskazaną na dokumencie a momentem wysyłki do systemu centralnego. Wszelkie rozbieżności w kursach walut stosowanych do przeliczeń mogą zostać natychmiast wykryte przez algorytmy analityczne Krajowej Administracji Skarbowej. Przed wysyłką dokumentu należy każdorazowo zweryfikować log błędów, gdyż walidator wskazuje dokładną linię XML generującą niezgodność ze schemą.
Czy mogę podać kurs własny z umowy?
Co zrobić w przypadku braku tagu P_106?
Jak uniknąć odrzucenia faktury przez błąd zaokrąglenia o 0,01 zł?
Transakcje międzynarodowe: co z fakturą dla Niemca, gdy KSeF jest obowiązkowy
Faktury wystawiane przez polskiego podatnika VAT dla kontrahenta zagranicznego muszą zostać wystawione w KSeF, niezależnie od faktu, że odbiorca spoza Polski nie posiada dostępu do polskiego systemu teleinformatycznego. Zgodnie z art. 2 pkt 32 ustawy o VAT, każda sprzedaż podlegająca pod polskie przepisy podatkowe musi zostać zarejestrowana w systemie centralnym. Ponieważ podmiot zagraniczny nie otrzyma loginu do platformy Ministerstwa Finansów, podatnik jest zobowiązany do udostępnienia faktury w sposób uzgodniony z kontrahentem.
Rekomendowanym rozwiązaniem jest przekazanie dokumentu w formie pliku PDF opatrzonego kodem QR, który umożliwia weryfikację autentyczności faktury w bazie KSeF bez konieczności logowania. Można również wygenerować bezpłatny link publiczny do wizualizacji dokumentu. Należy podkreślić, że faktury importowe, gdzie wystawcą jest podmiot zagraniczny, nie podlegają obowiązkowi rejestracji w KSeF przez polskiego nabywcę. Również transakcje B2C oraz te rozliczane w procedurach OSS (One Stop Shop) i IOSS są obecnie wyłączone z tego obowiązku.
Przy realizacji transakcji typu B2B eksport, podatnik powinien postępować według ściśle określonej procedury. Wymaga to uwzględnienia specyficznych oznaczeń w strukturze danych, aby dokument był czytelny zarówno dla systemu, jak i zagranicznego audytora. Poniżej przedstawiono niezbędne kroki procesowe:
- Oznacz procedurę jako „EXP” (Eksport) lub „WDT” w polach dodatkowych dokumentu.
- Wyłącz transakcję z raportowania w procedurze OSS, jeśli dotyczy ona wewnątrzwspólnotowej dostawy towarów.
- Dodaj klauzulę „KSeF: numer-ref” w treści faktury, co ułatwi identyfikację dokumentu w obrocie międzynarodowym.
- W ramach Wewnątrzwspólnotowej Dostawy Towarów art. 13 ust. 1 pkt 2, prześlij wygenerowany plik PDF bezpośrednio do kontrahenta drogą elektroniczną.
Automatyzacja: jak SKP® FORMSOFT pobiera kurs NBP i wysyła KSeF w 3 kliknięciach
Proces księgowania faktur walutowych w systemie SKP® firmy FORMSOFT Sp. z o.o. z siedzibą we Wrocławiu został w pełni zautomatyzowany, co minimalizuje ryzyko popełnienia błędów kursowych. Oprogramowanie to, cenione przez przedsiębiorców z miast takich jak Wrocław i Legnica, oferuje moduł walutowy zintegrowany bezpośrednio z serwerami Narodowego Banku Polskiego. Dzięki temu system każdego dnia roboczego o godzinie 07:00 automatycznie aktualizuje tabele kursowe, zapewniając zgodność z art. 31a ustawy o VAT.
Loguję się do programu, wybieram kontrahenta rozliczającego się w EUR, a system automatycznie pobiera tabelę NBP z dnia poprzedzającego dzień sprzedaży. Następnie program wypełnia odpowiednie pola XML, dbając o to, aby kwota podatku VAT była wykazana wyłącznie w złotówkach. Przed wysyłką do Ministerstwa Finansów, wbudowany walidator KSeF sprawdza poprawność struktury i wyświetla status „OK”, co daje mi pewność, że faktura nie zostanie odrzucona przez system centralny. Przedsiębiorcy mogą skorzystać z 30-dniowej wersji demo, która pozwala na wystawienie 100 faktur sprzedaży oraz wprowadzenie 100 faktur zakupu bez żadnych opłat.
| Pozycja | Wartość EUR | Kurs NBP | Wartość PLN | Różnica zaokrąglenia |
|---|---|---|---|---|
| Wartość Netto | 100,00 EUR | 4,2643 PLN | 426,43 PLN | 0,00 PLN |
| Podatek VAT (23%) | 23,00 EUR | 4,2643 PLN | 98,08 PLN | < 0,01 PLN |
Warto zwrócić uwagę, że różnica zaokrąglenia poniżej 0,01 zł jest w pełni akceptowalna przez systemy informatyczne resortu finansów. Przed pierwszym uruchomieniem wysyłki elektronicznej należy zweryfikować klucz API KSeF w ustawieniach programu (zakładka Integracje). Dla firm realizujących eksport towarów lub Wewnątrzwspólnotową Dostawę Towarów, system oferuje dedykowaną opcję „Chcę wystawić fakturę w obcej walucie BEZ przeliczania podatku”, co jest zgodne z przepisami o odwrotnym obciążeniu lub stawce 0%.