- Strona główna
- Blog
- Jak dobrać kurs waluty na e-fakturze w KSeF?
Jak dobrać kurs waluty na e-fakturze w KSeF?
Kurs waluty na e-fakturze przelicza się według kursu średniego NBP z ostatniego dnia roboczego poprzedzającego powstanie obowiązku podatkowego lub wystawienie dokumentu. Do rozliczeń VAT stosuje się kurs średni NBP, zwykle z tabeli A. KSeF nie przesuwa automatycznie kotwicy kursowej, o ile zachowane są zasady trybu offline24.

KSeF przesunął uwagę przedsiębiorców na jedną datę: dzień przesłania pliku XML do systemu. To dobra data do numerowania faktur i kiepska do przeliczania waluty. Obowiązek podatkowy w VAT powstaje co do zasady w dniu dostawy albo wykonania usługi i to on, a nie moment wysyłki, wyznacza kurs.
Termin ma znaczenie teraz. Faktury ustrukturyzowane są obowiązkowe od 1 lutego 2026 r. dla największych podatników i od 1 kwietnia 2026 r. dla pozostałych podatników (najmniejsi — od 1 stycznia 2027 r.). Zgodnie z obecną ustawą kary z art. 106ni ustawy o VAT obowiązują od 1 stycznia 2027 r. Ministerstwo Finansów zapowiedziało 16 września 2026 r. ich przesunięcie na 1 stycznia 2028 r. — to projekt ustawy, jeszcze nieuchwalony. Przesunięcie dotyczy tylko kar, a nie samego obowiązku korzystania z KSeF. Błędny kurs sam w sobie nie jest podstawą tych kar — zwykle oznacza korektę JPK_V7.
Poniżej: która data wyznacza kurs, dlaczego tabela A, co robić z weekendem i świętem, jak KSeF zmienia datę wystawienia i który błąd walutowy widzę u użytkowników najczęściej.
Która data wyznacza kurs
Zasada ogólna jest w art. 31a ust. 1 ustawy o VAT: kwoty w walucie obcej przeliczasz według kursu średniego NBP ogłoszonego na ostatni dzień roboczy poprzedzający dzień powstania obowiązku podatkowego.
Wyjątek jest w art. 31a ust. 2: jeżeli wystawiasz fakturę przed powstaniem obowiązku podatkowego, kurs bierzesz z ostatniego dnia roboczego poprzedzającego dzień wystawienia faktury.
Praktycznie sprowadza się to do jednej reguły. Kotwicą jest wcześniejsza z dwóch dat: dzień powstania obowiązku podatkowego albo dzień wystawienia faktury. Od tej daty cofasz się do ostatniego dnia roboczego. Uwaga: przy WDT obowiązek podatkowy powstaje z chwilą wystawienia faktury (najpóźniej 15. dnia miesiąca następującego po dostawie, art. 20 ust. 5), więc kotwicą bywa wystawienie, a nie dostawa.
| Sytuacja | Kotwica | Kurs z dnia |
|---|---|---|
| Dostawa 7 stycznia, faktura wysłana 12 stycznia | dostawa (7 stycznia) | ostatni dzień roboczy przed 7 stycznia |
| Faktura wystawiona 10 marca, dostawa 25 marca | wystawienie (10 marca) | ostatni dzień roboczy przed 10 marca |
| Usługa ciągła rozliczana miesięcznie | koniec okresu rozliczeniowego (art. 19a ust. 3) | ostatni dzień roboczy przed końcem okresu |
| Zaliczka wpłacona 4 lutego | otrzymanie zaliczki (4 lutego) | ostatni dzień roboczy przed 4 lutego |
Uwaga na usługi ciągłe. Przy rozliczeniu okresowym obowiązek podatkowy powstaje z upływem okresu, a nie w dniu wykonania poszczególnych czynności. Kotwicą jest koniec okresu.
Dlaczego tabela A, a nie B ani C
NBP publikuje trzy tabele. Do VAT stosujesz kurs średni NBP, czyli dla większości walut tabelę A, czyli kursy średnie walut obcych. Tabela B obejmuje waluty mniej popularne i publikowana jest raz w tygodniu; dla waluty spoza tabeli A sprawdź, czy nie obowiązuje tabela B. Biurko pobiera kursy z tabeli A. Tabela C podaje kursy kupna i sprzedaży, używane w rozliczeniach bankowych, nie podatkowych.
Numer tabeli warto zapisać na fakturze, na przykład A/041/NBP/2026. To trzy sekundy pracy przy wystawianiu i oszczędza godzinę tłumaczenia podczas kontroli. Dane pobierzesz z publicznego API NBP, endpoint exchangerates/rates/a/{waluta}/{data}/.
Alternatywnie art. 31a ust. 1 pozwala wybrać ostatni kurs wymiany opublikowany przez Europejski Bank Centralny. Waluty inne niż euro przeliczasz wtedy przez kurs każdej z nich względem euro. Osobna opcja to art. 31a ust. 2a-2d: możesz przeliczać VAT według zasad z podatku dochodowego, ale po wyborze musisz stosować to konsekwentnie przez 12 kolejnych miesięcy. Mieszanie metod w ciągu roku jest błędem.
Weekend i święto: cofasz się dalej niż o jeden dzień
Ustawa mówi o ostatnim dniu roboczym, nie o dniu poprzednim. To dwie różne rzeczy i tu powstaje najwięcej cichych pomyłek.
Konkretny przykład ze stycznia 2026 r. Usługa wykonana w środę 7 stycznia 2026 r. Dzień poprzedni to 6 stycznia, czyli Trzech Króli. NBP nie publikuje wtedy tabeli. Cofasz się dalej, do poniedziałku 5 stycznia 2026 r., i stosujesz kurs z tabeli A z tego dnia.
Ta sama logika dotyczy poniedziałków. Dostawa w poniedziałek oznacza kurs z piątku, nie z niedzieli.
Jeżeli Twój system fakturowy odejmuje jeden dzień i skacze tylko przez weekendy, w Nowy Rok, Trzech Króli, Boże Ciało i 15 sierpnia podstawi kurs z niewłaściwej daty albo w ogóle go nie znajdzie. Warto to sprawdzić przed pierwszym długim weekendem.
KSeF zmienia datę wystawienia, ale niekoniecznie kurs
Tu jest sedno. Zgodnie z art. 106na ust. 1 ustawy o VAT fakturę ustrukturyzowaną uznaje się za wystawioną w dniu jej przesłania do KSeF. Reguła działa wtedy, gdy data w polu P_1 jest taka sama jak data wysyłki.
Co jeśli wygenerujesz plik w piątek, a wyślesz w poniedziałek? Ministerstwo Finansów wyjaśniło to w aktualizacji podręcznika KSeF 2.0: gdy data przesłania jest późniejsza niż data z pola P_1, faktura zostaje uznana za wystawioną w trybie offline24 na podstawie art. 106nda ust. 16, a datą wystawienia pozostaje data z P_1.
Dla przeliczenia waluty to dobra wiadomość. Kotwica nie ucieka Ci przez to, że wysyłka poszła następnego dnia. Pamiętaj tylko o art. 106nda ust. 2: fakturę wystawioną z wcześniejszą datą trzeba przesłać do KSeF niezwłocznie, nie później niż w następnym dniu roboczym.
Realne ryzyko jest inne. Ktoś w firmie widzi, że plik leżał trzy dni, ręcznie zmienia P_1 na dzień wysyłki i tym samym przesuwa kotwicę kursową. Jeżeli obowiązek podatkowy powstał wcześniej, kurs i tak liczy się od dostawy, więc taka poprawka nie naprawia niczego, a psuje datę na dokumencie.
Najczęstszy błąd walutowy
Wygląda tak: sprzedaż w piątek 20 lutego 2026 r., faktura wysłana do KSeF we wtorek 3 marca 2026 r., kurs pobrany z 2 marca.
Poprawnie kotwicą jest dostawa, czyli 20 lutego. Kurs bierzesz z ostatniego dnia roboczego przed tą datą, czyli z czwartku 19 lutego 2026 r.
Ile to kosztuje. Faktura na 10 000 EUR netto, VAT 23 proc., czyli 2 300 EUR podatku. Przy kursie 4,2510 (przykładowo, 19 lutego) VAT w złotych wynosi 9 777,30 zł. Przy kursie 4,3120 (przykładowo, 2 marca) wynosi 9 917,60 zł. Różnica to 140,30 zł na jednej fakturze. Przy pięćdziesięciu fakturach walutowych miesięcznie mówimy o kwocie, którą trzeba wyłapać przed JPK_V7, a nie po nim.
Trzy warianty tego samego błędu, które widzę regularnie:
Kurs z dnia wystawienia zamiast z dnia poprzedzającego. Przepis mówi „poprzedzający", a nie „w dniu".
Kurs z dnia wystawienia, gdy dostawa była wcześniej. Art. 31a ust. 2 działa tylko wtedy, gdy faktura wyprzedza obowiązek podatkowy.
Kurs z faktury zagranicznego kontrahenta przy imporcie usług. Data wystawienia dokumentu przez kontrahenta nie ma tu znaczenia, liczy się moment powstania obowiązku podatkowego u Ciebie.
Korekty: art. 31b i zasada powielenia kursu
Do faktur korygujących stosujesz art. 31b ustawy o VAT. Zasada podstawowa z ust. 1 jest prosta: korekta dziedziczy kurs faktury pierwotnej. Nie pobierasz nowego kursu na dzień wystawienia korekty, niezależnie od tego, czy korygujesz in plus, czy in minus.
Wyjątek dotyczy zbiorczej faktury korygującej wystawianej z tytułu opustu lub obniżki ceny (art. 31b ust. 2). Wtedy możesz zastosować jeden wspólny kurs z ostatniego dnia roboczego poprzedzającego dzień wystawienia korekty zbiorczej, zamiast odtwarzać kursy z każdej faktury pierwotnej osobno.
Jeżeli wybrałeś przeliczanie według zasad podatku dochodowego (art. 31a ust. 2a-2d), zasady z art. 31b ust. 1-4 Cię nie dotyczą i korekty przeliczasz tak samo, jak resztę.
Praktyczna konsekwencja dla systemu: korekta musi być wystawiona w tej samej walucie co faktura pierwotna. Korekta w EUR do faktury w USD nie ma sensu, bo kwota różnicy staje się niepoliczalna.
VAT zawsze w złotych
Art. 106e ust. 11 ustawy o VAT wymaga, żeby kwoty podatku były wykazane w złotych, nawet gdy cała reszta faktury jest w walucie obcej. Struktura FA(3) ma na to osobne pola przeliczenia VAT na PLN dla każdej stawki.
Dla nabywcy oznacza to jedno: odliczasz kwotę VAT w złotych podaną przez sprzedawcę, a nie kwotę przeliczoną własnym kursem. Jeżeli przeliczysz sam i wyjdzie inna liczba, w JPK_V7 pojawi się rozbieżność, której nikt nie będzie umiał uzasadnić.
Kurs wpływa też na progi liczone w złotych. Próg 15 000 zł brutto dla obowiązkowego mechanizmu podzielonej płatności (dotyczy faktur, które zawierają też pozycje z załącznika nr 15 do ustawy o VAT; art. 108a ust. 1a) i limit faktury uproszczonej (450 zł brutto albo 100 EUR, art. 106e ust. 5 pkt 3) liczysz po przeliczeniu na PLN. Faktura na 3 400 EUR może przekroczyć próg MPP albo nie, w zależności od kursu.
Checklista przed wysyłką faktury walutowej
Ustal datę powstania obowiązku podatkowego (dostawa, wykonanie usługi, koniec okresu rozliczeniowego albo otrzymanie zaliczki).
Porównaj ją z datą wystawienia i weź wcześniejszą z nich jako kotwicę.
Cofnij się do ostatniego dnia roboczego przed kotwicą, uwzględniając weekendy i święta.
Pobierz kurs średni z tabeli A NBP na ten dzień.
Zapisz na fakturze kurs, datę kursu i numer tabeli.
Sprawdź, czy kwoty VAT są wykazane w złotych dla każdej stawki.
Przy korekcie użyj kursu faktury pierwotnej, chyba że to zbiorcza korekta rabatowa.
Podsumowanie
Kurs waluty na e-fakturze to nie jest kwestia dnia wysyłki do KSeF. To kwestia daty powstania obowiązku podatkowego, cofnięcia się do ostatniego dnia roboczego i sięgnięcia po tabelę A NBP. Trzy kroki, w których łatwo się pomylić ręcznie, i bardzo trudno pomylić się automatycznie.
W Biurko kurs pobiera się sam. System bierze za kotwicę wcześniejszą z dwóch dat — dostawy lub wykonania usługi (przy usłudze rozliczanej okresowo końca okresu) i wystawienia faktury — cofa się do ostatniego dnia roboczego z uwzględnieniem polskich świąt, pobiera kurs średni z tabeli A NBP i zapisuje na dokumencie kurs, datę oraz numer tabeli. Korekta pojedynczej faktury sprzedaży dziedziczy kurs faktury pierwotnej. Przy WDT wystawianej po dniu dostawy obowiązek podatkowy powstaje z chwilą wystawienia faktury, więc sprawdź kurs; jeżeli masz własne ustalenia, kurs możesz nadpisać ręcznie. Załóż darmowe konto na biurko.io i wystaw pierwszą fakturę walutową.
FAQ
Z którego dnia brać kurs NBP na fakturze w euro?
Z ostatniego dnia roboczego poprzedzającego dzień powstania obowiązku podatkowego, czyli zwykle dzień przed dostawą lub wykonaniem usługi. Jeżeli fakturę wystawiasz wcześniej niż powstaje obowiązek podatkowy, bierzesz kurs z dnia poprzedzającego wystawienie faktury.
Która tabela NBP jest właściwa do VAT?
Tabela A, czyli kursy średnie walut obcych, publikowana w dni robocze. Tabela B dotyczy walut mniej popularnych i wychodzi raz w tygodniu, tabela C podaje kursy kupna i sprzedaży i nie służy do rozliczeń VAT.
Czy data wysłania faktury do KSeF zmienia kurs waluty?
Nie, jeżeli w polu P_1 wpisałeś wcześniejszą datę. Zgodnie z art. 106nda ust. 16 taka faktura jest traktowana jako wystawiona w trybie offline24, a datą wystawienia pozostaje data z P_1. Kotwica kursowa się nie przesuwa.
Jaki kurs stosuje się do faktury korygującej?
Ten sam, który zastosowałeś na fakturze pierwotnej (art. 31b ust. 1 ustawy o VAT). Wyjątkiem jest zbiorcza korekta z tytułu opustu lub obniżki ceny, gdzie możesz użyć jednego kursu z dnia poprzedzającego wystawienie korekty.
Co zrobić, gdy w dniu poprzedzającym wypadło święto?
Cofasz się do poprzedniego dnia roboczego. Na przykład dla obowiązku podatkowego z 7 stycznia 2026 r. właściwy jest kurs z 5 stycznia, ponieważ 6 stycznia to Trzech Króli i NBP nie publikuje wtedy tabeli.
Tagi
Poprzedni artykuł
Jak poprawnie powiązać fakturę zaliczkową i końcową w KSeF?
Następny artykuł
Kiedy musisz zastosować split payment powyżej 15 000 zł?