monaltro . pl
← Dziennik
Księgowość 22 wrz 2026 · 10 min czytania · Zespół Monaltro

Faktura w walucie obcej dla MŚP 2026 — kurs NBP, VAT i KSeF w praktyce

Wystawiasz faktury w EUR? Przepisy o przeliczaniu VAT są konkretne, a KSeF zmienił zasady określania daty wystawienia. Wyjaśniamy, jaki kurs zastosować i jak uniknąć błędów w rozliczeniach.

Wystawiasz faktury w EUR? Przepisy o przeliczaniu VAT są konkretne, a KSeF zmienił zasady określania daty wystawienia. Wyjaśniamy, jaki kurs zastosować i jak uniknąć błędów w rozliczeniach. Obraz wygenerowany przez sztuczną inteligencję

Coraz więcej polskich firm — niezależnie od tego, czy eksportują usługi za granicę, czy rozliczają się z krajowymi kontrahentami w ramach kontraktów denominowanych w euro — wystawia faktury w walutach obcych. Problem nie leży w samym wystawieniu: polskie przepisy na to pozwalają. Problem zaczyna się przy pytaniu, jaki kurs zastosować do przeliczenia VAT — i dlaczego data, którą widzisz na fakturze, może nie być datą, która liczy się dla kursu przeliczeniowego w systemie KSeF.

Poniżej zebraliśmy praktyczne odpowiedzi na pytania, które trafiają do biur rachunkowych kilka razy w tygodniu. Omówimy przepisy, typowe scenariusze i błędy, które mnożą się po wdrożeniu KSeF.

1. Czy w ogóle można wystawiać fakturę w EUR?

Tak — zarówno przy transakcjach zagranicznych, jak i krajowych. Ustawa o VAT (art. 106e) określa, jakie elementy musi zawierać faktura, ale nie narzuca waluty dla kwoty netto. Przedsiębiorca może swobodnie wystawić fakturę w EUR, dolarach czy frankach szwajcarskich.

Jest jeden warunek, którego nie można ominąć: kwota podatku VAT zawsze musi być wyrażona w złotych polskich. Wynika to wprost z art. 106e ust. 11 ustawy o VAT: „Kwoty podatku wykazuje się w złotych.” Na fakturze może więc stać: „Wartość netto: 1 000 EUR; VAT 23%: 1 058,72 zł.”

Kto korzysta z fakturowania w EUR?

  • Firmy IT i konsultingowe rozliczające się z klientami z UE w EUR;
  • Agencje marketingowe z kontraktami denominowanymi w euro;
  • Krajowi podwykonawcy, którzy pracują dla firm z zagranicznymi centralami płatniczymi;
  • MŚP eksportujące towary lub usługi do Niemiec, Czech czy Francji;
  • Firmy zawierające długoterminowe umowy z klauzulą ceny stałej w EUR, żeby uniknąć ryzyka kursowego dla kontrahenta.

Fakturowanie w EUR nie zmienia stawki VAT ani nie zwalnia z obowiązku jego wykazania — zmienia jedynie walutę netto i wymaga przeliczenia podatku na złote według określonych zasad.

2. Jak przeliczyć VAT — art. 31a ustawy o VAT

Podstawową regułę przeliczania zawiera art. 31a ust. 1 ustawy o VAT. Do przeliczeń stosuje się kurs publikowany przez NBP — konkretnie: tabela A (kursy średnie) dla danej waluty, opublikowana na ostatni dzień roboczy przypadający przed dniem, w którym powstał obowiązek podatkowy.

Kiedy powstaje obowiązek podatkowy w VAT?

  • Przy sprzedaży usług: w dniu wykonania usługi;
  • Przy dostawie towarów: w dniu wydania towaru lub wystawienia faktury — zdarzenie, które nastąpi wcześniej;
  • Przy otrzymaniu zaliczki: w dniu jej wpływu na konto;
  • W przypadku wewnątrzwspólnotowej dostawy towarów (WDT): w dniu wystawienia faktury.

Przykład: Firma konsultingowa wykonała usługę 6 października (poniedziałek). Obowiązek podatkowy VAT powstał 6 października — kurs przeliczeniowy to średni kurs NBP z 3 października (piątek, ostatni dzień roboczy przed poniedziałkiem). Jeśli kurs EUR/PLN wynosił w tym dniu 4,2850, a wartość usługi to 2 000 EUR, podstawa opodatkowania wynosi 8 570 zł.

Wyjątek: faktura wystawiona przed obowiązkiem podatkowym

Sytuacja zmienia się, gdy wystawiasz fakturę przed wykonaniem usługi lub dostawą towaru — na przykład przy fakturowaniu z góry lub przy wysyłaniu faktury proforma z zachowaniem terminu płatności przed realizacją. W takim przypadku stosuje się art. 31a ust. 2: przeliczenia dokonuje się według kursu z ostatniego dnia roboczego poprzedzającego dzień wystawienia faktury, a nie dzień powstania obowiązku podatkowego.

Prosto mówiąc: kurs wyznacza data faktury, jeśli wystawiona wcześniej niż obowiązek podatkowy — albo data obowiązku podatkowego, jeśli faktura wystawiona w tym samym dniu lub później.

Import usług — oddzielna zasada

Przy imporcie usług od zagranicznego kontrahenta obowiązek podatkowy w VAT po stronie polskiego nabywcy powstaje z chwilą faktycznego wykonania usługi — termin wystawienia faktury przez dostawcę nie ma tu znaczenia. Jeśli partner z Niemiec wykonał usługę 30 sierpnia, a fakturę wystawił 15 września — kursem dla Twojego rozliczenia VAT jest kurs NBP z 29 sierpnia (dzień poprzedzający wykonanie).

3. Kurs NBP czy kurs EBC?

Art. 31a daje przedsiębiorcy wybór: zamiast kursu NBP można zastosować ostatni kurs wymiany opublikowany przez Europejski Bank Centralny (EBC) z ostatniego dnia poprzedzającego odpowiednio dzień obowiązku podatkowego lub dzień wystawienia faktury.

NBPEBC
Dostępnośćnbp.pl/kursy — aktualizowane codziennie do ok. 12:00ecb.europa.eu — publikowane ~16:00 CET
Walutyponad 40 walutgłównie waluty strefy euro i G10
Przeliczenie EURbezpośredniobezpośrednio
Przeliczenie USD, GBPbezpośrednioprzez EUR (USD/EUR → EUR/PLN)
Popularność w PLdominującarzadsza, używana przy kontraktach z klientami UE

Ważne: wybierz jedną metodę i stosuj ją konsekwentnie. Przepis art. 31a ust. 2a (obowiązujący od 2021 r.) pozwala stosować ten sam kurs przeliczeniowy zarówno dla celów VAT, jak i dla podatku dochodowego (PIT/CIT) — ale tylko pod warunkiem nieprzerwanego stosowania tej metody przez co najmniej 12 kolejnych miesięcy. Wybór nie wymaga zgłoszenia do urzędu skarbowego — po prostu stosujesz metodę konsekwentnie i pilnujesz, żeby dotyczyła wszystkich transakcji w tym okresie.

Ujednolicenie kursu dla VAT i podatku dochodowego eliminuje konieczność prowadzenia równoległych kalkulacji. Przy kilkudziesięciu fakturach walutowych miesięcznie różnica w czasie poświęcanym na zamknięcie miesiąca jest wyraźna.

4. Faktura walutowa w KSeF — uwaga na datę wystawienia

Tutaj pojawia się pułapka, której nie było przed wdrożeniem Krajowego Systemu e-Faktur. Artykuł 106na ust. 1 ustawy o VAT wprowadził nową definicję daty wystawienia: za dzień wystawienia faktury ustrukturyzowanej uznaje się moment jej fizycznego wysłania do KSeF — nie datę uzupełnienia danych w programie FK, nie datę na ekranie formularza.

Konsekwencja jest bezpośrednia: kurs przeliczeniowy zależy od tego, kiedy faktycznie klikniesz „wyślij do KSeF”, a nie kiedy wypełniłeś dokument. Jeśli przygotowałeś fakturę w piątek wieczorem, ale wysłałeś do KSeF dopiero w poniedziałek rano — kursem jest kurs NBP z piątku poprzedniego tygodnia (ostatni dzień roboczy przed poniedziałkiem), a nie z czwartku.

W systemach FK, które nie pobierają kursu automatycznie w momencie wysyłki, warto ustawić alert: kurs do faktury walutowej uzupełniaj zawsze po potwierdzeniu wysłania do KSeF, nie przed.

Pola wymagane w strukturze KSeF dla faktur walutowych

Schemat FA(2) wymaga uzupełnienia dwóch pól:

  • KodWaluty — trzyliterowy kod ISO 4217 (np. EUR, USD, GBP),
  • KursWaluty — kurs przeliczeniowy z dokładnością do 6 miejsc po przecinku (np. 4.280150).

Kwota netto może stać w EUR, ale podatek VAT trafia do KSeF w złotych — system nie przelicza za Ciebie. Jeśli dane kursu są nieprawidłowe, błąd zostaje utrwalony w strukturze faktury i trafia automatycznie do Jednolitego Pliku Kontrolnego (JPK), co ułatwia wykrycie rozbieżności podczas kontroli skarbowej.

Uwaga: W trybie offline24 datą wystawienia jest data wpisana w polu P_1 przez podatnika — nie dzień faktycznego wysłania do systemu. To jedyny tryb, w którym data na dokumencie i data do celów kursu mogą się rozjechać inaczej niż opisano powyżej.

5. Typowe błędy przy fakturowaniu w walutach obcych

Na podstawie pytań, z którymi trafiają do nas firmy po przejściu na KSeF, można wyróżnić cztery najczęstsze pułapki.

1. Kurs z daty uzupełnienia formularza zamiast daty wysyłki do KSeF

Najczęstszy błąd po wdrożeniu KSeF. Pracownik przygotowuje fakturę jednego dnia, a wysyła następnego rano — i uzupełnia kurs z daty przygotowania. W zależności od wahań kursowych błąd może wynieść kilka, kilkanaście groszy na 1 000 EUR — co mnoży się przez liczbę faktur.

Rozwiązanie: automatyzacja pobierania kursu w momencie wysyłki, lub procedura wewnętrzna, która wyraźnie określa, że kurs uzupełnia się PO potwierdzeniu wysyłki do KSeF.

2. Zastosowanie kursu transakcyjnego banku zamiast NBP

Kurs, po którym bank wymienia EUR na PLN na Twoim rachunku, jest kursem komercyjnym — zazwyczaj różni się od kursu NBP o 1–3 groszy na euro. Kurs transakcyjny banku nie jest kursem przeliczeniowym dla VAT. Na fakturze musi stać kurs NBP (lub EBC) z właściwego dnia.

3. Niespójna metoda kursu przez rok

Jeśli w marcu stosujesz kurs NBP, a w czerwcu przełączasz się na EBC i wracasz do NBP we wrześniu — tracisz prawo do uproszczonej metody (art. 31a ust. 2a) i musisz prowadzić równoległe kalkulacje kursu dla VAT i dla podatku dochodowego. To znacznie więcej pracy niż trzymanie się jednej metody od początku roku.

4. Ten sam kurs do faktury korygującej

Firmy, które wystawiają korekty kilka miesięcy po fakturze pierwotnej, często wpisują aktualny kurs NBP zamiast kursu z oryginalnej faktury. Art. 31b ust. 1 ustawy o VAT wymaga użycia kursu z faktury pierwotnej — nie bieżącego. Jeśli Twój system FK nie zapamiętuje automatycznie kursu na dokumencie, stwórz własny rejestr kursów do przyszłych korekt.

6. Różnice kursowe po zapłacie — co dzieje się z PIT/CIT?

Faktura wystawiona w EUR zostaje wyceniona w PLN według kursu z dnia przeliczenia. Gdy kontrahent zapłaci kilka tygodni później, kurs może być inny — i tutaj wchodzą różnice kursowe.

Kluczowe rozróżnienie: różnice kursowe nie dotyczą VAT. Podatek VAT jest wyliczony raz, w złotych, na dzień faktury — i tak zostaje. Różnice kursowe wpływają wyłącznie na podatek dochodowy (PIT lub CIT), co wynika z art. 24c ustawy o PIT (i analogicznie art. 15a ustawy o CIT).

  • Jeśli kurs w dniu zapłaty jest wyższy niż w dniu faktury — różnica wchodzi do przychodów podatkowych;
  • Jeśli kurs jest niższy — różnica stanowi koszt podatkowy.

Przykład:

Wystawiasz fakturę za usługę: 1 000 EUR × 4,30 zł/EUR = 4 300 zł przychodu podatkowego w dniu wystawienia. Kontrahent płaci 45 dni później, kurs w dniu wpływu: 4,20 zł/EUR. Wpływ przeliczony przez bank: 4 200 zł. Różnica kursowa: −100 zł (ujemna różnica kursowa = koszt podatkowy).

W praktyce bank przelicza wpływające EUR na złote według własnego kursu transakcyjnego. Jeśli chcesz ograniczyć zmienność przychodów w złotych — warto rozważyć faktury z klauzulą stałego kursu przeliczenia lub rozliczanie w PLN z klientami krajowymi, nawet jeśli umowa jest denominowana w EUR. Szersze zagadnienie VAT od transakcji zagranicznych — m.in. odwrotne obciążenie przy imporcie usług cyfrowych — omówimy osobno; wstęp do tematu znajdziesz w artykule o VAT od zagranicznych usług cyfrowych i odwrotnym obciążeniu.

7. Faktury korygujące do faktur walutowych

Jeśli wystawiasz korektę do faktury walutowej, nie wybierasz kursu na nowo. Art. 31b ust. 1 ustawy o VAT nakazuje zastosowanie tego samego kursu co na fakturze pierwotnej.

Wyjątek dotyczy zbiorczych faktur korygujących (wystawianych np. raz w miesiącu za wiele transakcji) — tam kurs liczony jest inaczej, ale taki schemat jest rzadkością w typowym MŚP usługowym.

Praktyczna konsekwencja: przechowuj kurs użyty przy każdej fakturze walutowej — Twój system FK powinien go zapamiętywać automatycznie. Brak tej informacji przy korekcie wystawianej kilka miesięcy później jest częstym źródłem pomyłek w deklaracjach VAT.

8. Jak wdrożyć to w praktyce — oprogramowanie i automatyzacja

Programy finansowo-księgowe obsługują faktury walutowe w różnym stopniu automatyzacji.

Co powinien robić dobry system FK:

  • Automatycznie pobierać kurs NBP z API nbp.pl na podstawie daty wysłania faktury do KSeF;
  • Wypełniać pola KodWaluty i KursWaluty w strukturze XML przed wysyłką;
  • Pamiętać kurs użyty przy fakturze pierwotnej na potrzeby korekt;
  • Naliczać różnice kursowe automatycznie po wprowadzeniu wpływu z rachunku;
  • Obsługiwać tryb offline24 KSeF z datą P_1 inną od daty wysyłki.

Popularne rozwiązania dla MŚP — wFirma, iFirma, Fakturownia — wspierają wystawianie faktur walutowych, ale stopień automatyzacji pobierania kursów bywa różny między planami abonamentowymi. Warto sprawdzić w dokumentacji, czy system obsługuje schemat FA(2) i czy kurs jest pobierany automatycznie w momencie wysyłki do KSeF czy ręcznie.

Jeśli prowadzisz powyżej kilkudziesięciu faktur walutowych miesięcznie, rozważ integrację z API NBP bezpośrednio w workflow n8n lub Make — automatyczne pobieranie kursu z tabelki A po godzinie 12:00 i dołączanie do faktury w momencie wysyłki eliminuje błąd ludzki przy ręcznym przepisywaniu. To samo rozwiązanie sprawdza się przy monitorowaniu kursów do planowania cen w EUR.

Podsumowanie

  • Można wystawiać faktury w EUR zarówno przy transakcjach krajowych, jak i zagranicznych — VAT musi być jednak zawsze w złotych (art. 106e ust. 11 ustawy o VAT).
  • Kurs przeliczeniowy wyznacza tabela A kursów średnich NBP ogłoszona dzień roboczy wcześniej — licząc od dnia obowiązku podatkowego, a gdy faktura wyprzedza ten moment — od dnia wystawienia faktury (art. 31a ust. 1 i 2 ustawy o VAT).
  • KSeF zmienił datę wystawienia (art. 106na ust. 1) — liczy się dzień wysłania do systemu, nie dzień uzupełnienia danych w programie.
  • Jeden kurs dla VAT i PIT/CIT jest możliwy od 2021 r. (art. 31a ust. 2a) — wymaga konsekwencji przez co najmniej 12 miesięcy, nie wymaga zgłoszenia do urzędu.
  • Różnice kursowe po zapłacie wpływają wyłącznie na podatek dochodowy (art. 24c PIT / art. 15a CIT), nie na VAT.
  • Faktury korygujące stosują kurs z faktury pierwotnej (art. 31b ust. 1) — nie wybierasz kursu na nowo.
  • Typowy błąd po KSeF: kurs z dnia przygotowania faktury zamiast dnia wysyłki do systemu.

Wskazówka: Jeśli Twoja firma dopiero zaczyna fakturować w EUR, ustaw jedną metodę kursu (NBP lub EBC) i stosuj ją do obu podatków przez pełne 12 miesięcy. Ujednolicenie kursu skróci czas zamknięcia miesiąca w FK i wyeliminuje całą klasę błędów przy korektach.

W Monaltro regularnie konfigurujemy integracje między systemami FK a API NBP, żeby firmy wystawiające powyżej kilkudziesięciu faktur walutowych miesięcznie nie musiały ręcznie przepisywać kursów. Jeśli chcesz sprawdzić, jak skonfigurować moduł walutowy w Twoim systemie FK lub jak zautomatyzować pobieranie kursów przy wystawianiu faktur — chętnie to omówimy.

§ Zaczynamy

Napisz. Odpiszemy.

Umów 30 minut →