Poradnik
Faktura w walucie obcej w KSeF (FA(3)) — kursy walut, przeliczenia i VAT w PLN
Zasady wystawiania faktur walutowych w KSeF
Wielu polskich freelancerów i przedsiębiorców z branży IT, marketingu czy usług doradczych rozlicza się w walutach obcych — głównie w EUR, USD czy GBP. Wprowadzenie Krajowego Systemu e-Faktur nie ogranicza możliwości fakturowania w dowolnej walucie świata, jednak nakłada ścisłe wymogi techniczne i ewidencyjne w ramach struktury FA(3).
Główne zasady wynikające z ustawy o VAT:
- Kwoty na fakturze mogą być wyrażone w dowolnej walucie obcej (kod ISO 4217, np. EUR, USD, GBP, CHF).
- Kwota podatku VAT musi być bezwzględnie wykazana w złotych polskich (PLN) — wynika to bezpośrednio z art. 106e ust. 11 ustawy o VAT.
- Przeliczenia kwot na PLN dokonuje się według ściśle określonego kursu walutowego (art. 31a ustawy o VAT).
Jaki kurs waluty przyjąć do przeliczenia (art. 31a ustawy o VAT)
Zgodnie z ogólną zasadą podatku od towarów i usług przeliczenia kwot wyrażonych w walucie obcej dokonuje się według:
- kursu średniego danej waluty ogłoszonego przez Narodowy Bank Polski (NBP) na ostatni dzień roboczy poprzedzający dzień powstania obowiązku podatkowego (zazwyczaj dzień wykonania usługi lub dostawy towaru),
- alternatywnie: według ostatniego kursu średniego opublikowanego przez Europejski Bank Centralny (EBC) na ten sam dzień (z uwzględnieniem przeliczenia na PLN).
Jeżeli faktura jest wystawiana przed powstaniem obowiązku podatkowego (np. przed wykonaniem usługi), przeliczenia dokonuje się według kursu średniego NBP z ostatniego dnia roboczego poprzedzającego dzień wystawienia faktury (art. 31a ust. 2 ustawy o VAT).
Faktura walutowa w strukturze FA(3) — kluczowe pola XML
W strukturze logicznej FA(3) pola dotyczące waluty i przeliczeń zostały uregulowane w precyzyjny sposób:
- KodWaluty — trzyliterowy kod waluty transakcji (np. EUR).
- KursWaluty — dokładny kurs waluty zastosowany do przeliczenia podatku VAT (np. 4.2850). Pole to występuje w węźle nagłówkowym oraz opcjonalnie przy poszczególnych stawkach podatku.
- Pozycje faktury (węzeł Wiersz) — kwoty netto i brutto poszczególnych pozycji podaje się w walucie faktury (np. w euro).
- Podsumowanie stawek i podatku — podstawa opodatkowania może być podana w walucie, ale pola z kwotą podatku (np. P_14_1, P_14_2) muszą zawierać kwotę podatku VAT przeliczoną na PLN.
Kontrahent zagraniczny a KSeF (eksport usług i WDT)
Czy faktury dla zagranicznych firm (np. z Niemiec, Wielkiej Brytanii czy USA) muszą trafiać do KSeF? Odpowiedź zależy od statusu podatkowego sprzedawcy:
- Polski przedsiębiorca (wystawca) mający siedzibę lub stałe miejsce prowadzenia działalności w Polsce podlega ogólnemu obowiązkowi wystawiania faktur ustrukturyzowanych w KSeF (art. 106ga ust. 1 ustawy o VAT). Wyłączenia z tego obowiązku (art. 106ga ust. 2) dotyczą podatników bez siedziby lub stałego miejsca prowadzenia działalności w Polsce — nie samego faktu, że nabywca jest zagraniczny. Polski sprzedawca wystawia więc w KSeF również faktury dla zagranicznych kontrahentów.
- Zagraniczny nabywca nie ma obowiązku posiadania konta w KSeF. Faktura trafia do polskiego systemu KSeF, ale zagranicznemu klientowi przekazujesz wizualizację faktury (PDF) opatrzoną kodem QR weryfikacyjnym i numerem KSeF.
- Dla usług objętych mechanizmem odwrotnego obciążenia (tzw. reverse charge / eksport usług) stawka VAT wynosi np (nie podlega opodatkowaniu w Polsce), więc kwota VAT w PLN wynosi 0,00 zł, a faktura zawiera oznaczenie „odwrotne obciążenie" (pole P_18 w FA(3)).
Przykład rozliczenia faktury w EUR
Polski grafik (NIP 1111111111) wykonuje usługę projektową dla polskiej agencji reklamowej (NIP 3333333333) rozliczaną w euro. Usługa została zakończona 14 maja 2026 r. Wartość zlecenia: 1 000,00 EUR netto + 23% VAT.
- Dzień wykonania usługi: 14 maja (czwartek).
- Kurs NBP: bierze się kurs średni z tabeli NBP z dnia 13 maja (środa), np. 1 EUR = 4,3000 PLN.
- Wartość netto na fakturze: 1 000,00 EUR (przeliczenie: 4 300,00 PLN).
- Wartość podatku VAT (23%): 230,00 EUR.
- Wymagany VAT w PLN: 230,00 EUR × 4,3000 = 989,00 PLN.
- Łączna kwota do zapłaty: 1 230,00 EUR (lub równowartość 5 289,00 PLN).
W pliku FA(3) w polach walutowych widnieje kwota 1 230,00 EUR, natomiast w polach podsumowania podatku VAT wykazana jest kwota 989,00 PLN wraz z użytym kursem 4,3000.
Krok po kroku: Wystawienie faktury walutowej w KSeF
- Ustal datę sprzedaży / wykonania usługi oraz datę wystawienia dokumentu.
- Pobierz właściwy kurs średni NBP z dnia roboczego poprzedzającego zdarzenie powodujące obowiązek podatkowy.
- Wybierz walutę dokumentu (EUR, USD, GBP) w generatorze faktur.
- Wprowadź pozycje w walucie obcej i wskaż właściwą stawkę podatku VAT (lub stawkę „np" przy reverse charge).
- Sprawdź przeliczenie podatku VAT na PLN — upewnij się, że system poprawnie zaokrąglił kwotę podatku do pełnych groszy.
- Wyślij plik FA(3) do KSeF i pobierz plik PDF z kodem QR do przesłania kontrahentowi.
Najczęstsze błędy przy fakturach walutowych
- Brak wykazania kwoty podatku VAT w PLN — pozostawienie podatku VAT wyłącznie w walucie obcej uniemożliwia walidację faktury w KSeF i stanowi naruszenie art. 106e ust. 11 ustawy o VAT.
- Zastosowanie kursu z niewłaściwego dnia — przyjęcie kursu z dnia sprzedaży lub dnia wystawienia faktury zamiast z ostatniego dnia roboczego poprzedzającego to zdarzenie.
- Brak adnotacji „odwrotne obciążenie" przy transakcjach wewnątrzwspólnotowych (WDT / eksport usług).
Księgowanie faktury walutowej — VAT to nie to samo co przychód PIT/CIT
Kurs z art. 31a ustawy o VAT przelicza wyłącznie kwotę podatku VAT. Przychód dla celów podatku dochodowego (PIT lub CIT) przelicza się osobno, na podstawie własnej reguły z ustawy o podatku dochodowym — co do zasady również po kursie średnim NBP z dnia poprzedzającego powstanie przychodu, ale to inna podstawa prawna niż przy VAT. W praktyce oba dni najczęściej się pokrywają, jednak nie zawsze — dlatego pakiet SLIM VAT wprowadził możliwość dobrowolnego przyjęcia jednego, wspólnego kursu (tego z ustawy o VAT) także dla celów podatku dochodowego, żeby uniknąć prowadzenia dwóch równoległych przeliczeń.
Gdy zapłata faktycznie wpłynie po innym kursie niż ten przyjęty do faktury, powstają różnice kursowe — zwiększają lub zmniejszają dochód do opodatkowania PIT/CIT. Na kwotę VAT wykazaną na fakturze różnice kursowe nie mają już wpływu — ta kwota jest ustalona raz, w momencie wystawienia faktury, i się nie zmienia.
Albo pozwól, żeby zrobiło to narzędzie. Fakturownik KSeF pozwala wystawić fakturę w walucie obcej, wpisać kurs, który sam sprawdziłeś w tabeli NBP, i samo przeliczy kwotę podatku VAT na złote — generując od razu poprawny plik XML FA(3) z kodem waluty i kursem, bez ręcznego liczenia w kalkulatorze.
Podsumowanie
Wystawianie faktur w walutach obcych w KSeF opiera się na strukturze FA(3), która wymaga podania kodu waluty, dokładnego kursu przeliczeniowego (najczęściej średniego NBP z ostatniego dnia roboczego przed sprzedażą) oraz bezwzględnego wykazania kwoty podatku VAT w złotych (PLN). Przy sprzedaży dla firm zagranicznych faktura trafia do KSeF, a odbiorcy przekazuje się plik PDF z kodem QR.