KSeF a faktury zagraniczne — kompletny poradnik dla przedsiębiorców
Prowadzisz firmę w Polsce i wystawiasz faktury klientom z zagranicy? Od kwietnia 2026 musisz korzystać z KSeF — Krajowego Systemu e-Faktur. I tak, dotyczy to też faktur bez polskiego VAT-u. W tym poradniku wyjaśniamy krok po kroku: kiedy faktura zagraniczna musi trafić do KSeF, jak obsłużyć waluty obce, jaki kurs NBP zastosować i co dokładnie wysłać kontrahentowi, który nie ma pojęcia, czym jest KSeF.
Najważniejsza zasada: liczy się kto wystawia, nie kto kupuje
To jest fundament, który rozwiewa 90% wątpliwości. Obowiązek KSeF jest po stronie wystawcy faktury, nie odbiorcy.
Jeśli masz polski NIP i jesteś podatnikiem VAT — musisz wystawiać faktury w KSeF. Niezależnie od tego, czy Twój klient jest z Niemiec, USA, Japonii czy Wysp Owczych. Niezależnie od tego, czy na fakturze jest polski VAT, czy nie.
Brzmi prosto? Bo jest proste. Problem w tym, że wiele osób myśli tak: „Skoro na fakturze nie ma VAT-u (stawka nie podlega), to pewnie KSeF mnie nie dotyczy". To błąd. Brak polskiego VAT na fakturze nie zwalnia z obowiązku przepuszczenia jej przez KSeF.
Zapamiętaj: Masz polski NIP + wystawiasz fakturę = faktura idzie do KSeF. Koniec, kropka. Nie ma znaczenia, kto jest odbiorcą ani jaka jest stawka VAT.
Co musi trafić do KSeF, a co nie — tabela bez ściemy
Żeby nie trzeba było zgadywać, oto kompletna tabela. Wydrukuj ją sobie i przyklej obok monitora.
| Typ transakcji | KSeF? | Stawka VAT | Uwagi |
|---|---|---|---|
| Faktura B2B dla firmy z UE | TAK | np / 0% | Reverse charge lub 0% WDT |
| Faktura B2B dla firmy spoza UE | TAK | np / 0% | + wyślij PDF z QR kontrahentowi |
| Eksport usług (art. 28b) — np. IT, consulting | TAK | np (nie podlega) | Reverse charge, nabywca rozlicza VAT |
| WDT — dostawa towarów w UE | TAK | 0% | Wymagany VAT-UE nabywcy |
| Eksport towarów (poza UE) | TAK | 0% | Potrzebne potwierdzenie wywozu |
| Faktura B2C — osoba prywatna (krajowa lub zagraniczna) | NIE | wg stawki | Wyłączona z KSeF |
| Sprzedaż w procedurze OSS / IOSS | NIE | wg kraju konsumenta | Zakaz — nie można nawet dobrowolnie |
| Faktura od zagranicznego dostawcy (Google, AWS, Meta) | NIE | — | Nie wprowadzasz do KSeF |
| Import usług (WNT) | NIE | — | Rozliczasz w JPK_V7 |
| Faktura proforma | NIE | — | Proforma to nie faktura VAT |
Eksport usług — co musi wiedzieć freelancer i firma usługowa
To najczęstszy przypadek wśród polskich przedsiębiorców fakturujących za granicę. Programista wystawiający fakturę firmie z Berlina. Grafik fakturujący agencję z Londynu. Konsultant współpracujący z korporacją z Nowego Jorku.
Jak to działa krok po kroku
- Ustalasz miejsce opodatkowania. Przy usługach B2B (firma → firma) obowiązuje art. 28b ustawy o VAT. Miejsce opodatkowania = kraj nabywcy. Czyli jeśli Twój klient jest w Niemczech, VAT rozlicza w Niemczech — nie Ty.
- Wystawiasz fakturę ze stawką „np" (nie podlega). Na fakturze nie ma polskiego VAT-u. Zamiast stawki 23% czy 8% wpisujesz „nie podlega" (w systemach fakturowych często oznaczane jako „np" lub „NP").
- Dodajesz adnotację „odwrotne obciążenie" (reverse charge). To informacja dla kontrahenta, że to on musi rozliczyć VAT w swoim kraju.
- Wysyłasz fakturę do KSeF. Tak — mimo braku VAT. Obowiązek jest po stronie wystawcy.
- Generujesz PDF z kodem QR i wysyłasz go kontrahentowi mailem (lub w inny uzgodniony sposób).
Kontrahent z UE vs spoza UE — różnica
Przy kontrahentach z UE sprawa jest standardowa — stosujesz reverse charge, podajesz numer VAT-UE nabywcy (np. DE123456789), raportujesz w informacji podsumowującej VAT-UE.
Przy kontrahentach spoza UE (USA, UK po Brexicie, Szwajcaria, Kanada itd.) zasada jest taka sama — stawka „np", reverse charge — ale zamiast numeru VAT-UE podajesz inny identyfikator podatkowy kontrahenta (np. EIN w USA, UTR w UK). Jeśli kontrahent nie ma żadnego numeru podatkowego, w polu identyfikatora wpisujesz „brak" (w schemacie FA(3) możesz użyć wartości „1").
Faktury walutowe — jak obsłużyć EUR, USD i inne waluty
Wystawiasz fakturę w euro albo dolarach? W KSeF jest to w pełni obsługiwane, ale musisz pamiętać o kilku zasadach.
Złota reguła: kwoty netto w walucie, VAT zawsze w złotych
Jeśli na fakturze jest VAT (np. stawka 23% dla polskiego klienta płacącego w EUR), to:
- Kwoty netto i brutto mogą być w walucie obcej (EUR, USD, GBP itd.)
- Kwota VAT musi być przeliczona na PLN — zawsze, bez wyjątków
Przy eksporcie usług ze stawką „np" nie ma kwoty VAT do przeliczenia — jest zerowa. Ale sam kurs przeliczeniowy i tak musisz podać w fakturze (system KSeF tego wymaga).
Jaki kurs NBP zastosować?
To pytanie, które spędza sen z powiek wielu przedsiębiorcom. A odpowiedź jest prostsza, niż się wydaje:
Zasada: Bierzesz średni kurs NBP z ostatniego dnia roboczego PRZED dniem powstania obowiązku podatkowego.
W praktyce wygląda to tak:
| Sytuacja | Obowiązek podatkowy | Kurs NBP z dnia |
|---|---|---|
| Usługa wykonana 15 maja, faktura 18 maja | 15 maja | 14 maja (ostatni dzień roboczy przed 15.05) |
| Faktura wystawiona 1 września, dostawa 10 września | 10 września | 31 sierpnia (ostatni dzień roboczy przed 1.09) |
| Usługa ciągła rozliczana miesięcznie | ostatni dzień miesiąca | przedostatni dzień roboczy miesiąca |
Alternatywa: Zamiast kursu NBP możesz stosować kurs EBC (Europejskiego Banku Centralnego). Ale uwaga — jeśli wybierzesz jedną metodę, musisz się jej trzymać minimum 12 miesięcy.
Pułapka: data wystawienia w KSeF a kurs waluty
To najważniejsza pułapka przy fakturach walutowych w KSeF i warto ją zapamiętać.
W KSeF faktura jest uznana za wystawioną w dniu przesłania do systemu, a nie w dniu, kiedy kliknąłeś „Utwórz fakturę" w programie.
Przykład: Tworzysz fakturę w poniedziałek 7 lipca, ale wysyłasz ją do KSeF dopiero w piątek 11 lipca. Data wystawienia = 11 lipca. Kurs przeliczeniowy musisz wziąć z 10 lipca (ostatni dzień roboczy przed datą wystawienia), a nie z 6 lipca.
Jak tego uniknąć? Wysyłaj fakturę do KSeF tego samego dnia, w którym ją tworzysz. Albo korzystaj z trybu Offline24 — wtedy data wystawienia to data wskazana w fakturze (pole P_1), a masz czas do końca następnego dnia roboczego na przesłanie do KSeF. Więcej o trybach offline w poradniku KSeF nie działa — co robić.
Co widzi zagraniczny kontrahent? (i co musisz mu wysłać)
Twój kontrahent z Niemiec, USA czy UK nie ma dostępu do KSeF. Nie ma polskiego NIP-u, nie może się zalogować do systemu. Dla niego KSeF nie istnieje.
Dlatego musisz dostarczyć fakturę poza KSeF, w sposób uzgodniony z kontrahentem. W praktyce oznacza to najczęściej:
- PDF mailem — najpopularniejsza opcja. Generujesz wizualizację faktury z kodem QR i wysyłasz mailem.
- Wydruk papierowy — nadal dopuszczalny, choć rzadko stosowany.
- EDI lub inny system elektroniczny — jeśli macie taki w firmie.
Kod QR — obowiązkowy na każdej fakturze wysyłanej poza KSeF
Każda faktura, którą udostępniasz poza KSeF (a przy kontrahentach zagranicznych musisz), musi zawierać kod QR. Ten kod pozwala zweryfikować autentyczność faktury — kontrahent (albo jego księgowy) może go zeskanować i sprawdzić, że faktura jest prawdziwa.
Co jest zakodowane w QR:
- Numer KSeF faktury
- NIP sprzedawcy
- Data wystawienia
- Skrót (hash) faktury do weryfikacji integralności
Dobra wiadomość: programy do fakturowania (wFirma, inFakt, Fakturownia) generują kod QR automatycznie. Nie musisz go tworzyć ręcznie.
Data otrzymania faktury — ważna różnica
Przy fakturach krajowych (polski nabywca) data otrzymania = data nadania numeru KSeF. Ale przy fakturach zagranicznych jest inaczej: data otrzymania = data faktycznego dostarczenia (np. dzień, w którym kontrahent dostał Twojego maila z PDF-em).
Dane kontrahenta zagranicznego na fakturze — jak wypełnić prawidłowo
W KSeF (schemat FA(3)) dane nabywcy zagranicznego wymagają kilku dodatkowych pól:
| Pole | Kontrahent z UE | Kontrahent spoza UE |
|---|---|---|
| Nazwa firmy | Pełna nazwa | Pełna nazwa |
| Adres | Pełny adres z kodem kraju | Pełny adres z kodem kraju |
| Kod kraju | Dwuliterowy kod (DE, FR, IT…) | Dwuliterowy kod (US, GB, CH…) |
| Numer identyfikacji | Numer VAT-UE (np. DE123456789) | Numer podatkowy (EIN, UTR itp.) lub „brak" |
| Pole w FA(3) | KodUE + NrVatUE | NrId |
W programach fakturowych (wFirma, inFakt, Fakturownia) nie musisz znać nazw pól XML. Wystarczy, że przy dodawaniu kontrahenta wybierzesz „kontrahent zagraniczny" i wpiszesz jego dane — program sam przypisze je do właściwych pól.
Uwaga o NIP: Jeśli kontrahent z UE poda Ci swój numer VAT-UE, zweryfikuj go w systemie VIES (ec.europa.eu/taxation_customs/vies). Nieprawidłowy numer VAT-UE może oznaczać utratę prawa do stawki 0% przy WDT.
WDT — wewnątrzwspólnotowa dostawa towarów
Sprzedajesz towary firmom w innych krajach UE? To WDT i rządzi się własnymi zasadami.
- Faktura musi trafić do KSeF — bez wyjątków
- Stawka: 0% (pod warunkiem, że masz numer VAT-UE nabywcy i dowody wywozu towaru)
- Termin wystawienia: do 15. dnia miesiąca następującego po miesiącu dostawy
- Raportowanie: JPK_V7 + informacja podsumowująca VAT-UE
Jeśli nie zdążysz uzyskać potwierdzenia wywozu, a minął termin — musisz naliczyć VAT 23% i ewentualnie skorygować fakturę, gdy potwierdzenie dotrze.
Faktury od zagranicznych dostawców — czego NIE robić
Kupujesz hosting od firmy z USA? Płacisz za reklamy Google Ads? Korzystasz z AWS albo Microsoft Azure? Te faktury nie trafiają do KSeF.
KSeF to system dla faktur wystawianych przez polskich podatników. Faktury otrzymywane od zagranicznych firm (bez siedziby ani stałego miejsca prowadzenia działalności w Polsce) nie mają z KSeF nic wspólnego.
Jak je rozliczasz? Tak jak dotychczas:
- Import usług — reverse charge wewnętrzny, rozliczasz VAT w JPK_V7
- WNT (nabycie towarów z UE) — jw., rozliczenie w JPK_V7
- Fakturę od dostawcy trzymasz w swoich archiwach (PDF, mail) — nie wrzucasz jej nigdzie do KSeF
Wyjątek: Jeśli Twój zagraniczny dostawca ma siedzibę lub stałe miejsce prowadzenia działalności w Polsce (i to miejsce uczestniczy w transakcji), to jest traktowany jak polski podatnik i musi korzystać z KSeF. Ale to rzadki przypadek.
Faktura proforma a KSeF
Krótko: proforma nie trafia do KSeF. Proforma nie jest fakturą w rozumieniu ustawy o VAT — to raczej oferta albo wezwanie do zapłaty. Nie rodzi obowiązków podatkowych, nie daje prawa do odliczenia VAT.
Możesz nadal wystawiać proformy jako PDF, w programie fakturowym, mailem — tak jak dotychczas. Dopiero po otrzymaniu zapłaty (lub wykonaniu usługi) wystawiasz „prawdziwą" fakturę VAT w KSeF. Jeśli dopiero zaczynasz fakturowanie, przeczytaj nasz poradnik: jak wystawić fakturę VAT online.
OSS i IOSS — sprzedaż transgraniczna B2C
Sprzedajesz towary lub usługi cyfrowe osobom prywatnym w innych krajach UE i korzystasz z procedury OSS (One-Stop Shop) lub IOSS (Import One-Stop Shop)? Te faktury są wyłączone z KSeF.
Co więcej — nie możesz ich wystawić w KSeF nawet dobrowolnie. To nie opcja, to zakaz. OSS/IOSS ma własny system rozliczeń i faktury w tych procedurach funkcjonują poza KSeF.
Język faktury — czy musi być po polsku?
Nie, nie musi. Możesz wystawiać faktury w KSeF w dowolnym języku — angielskim, niemieckim, francuskim. Możesz też wystawić fakturę dwujęzyczną (np. polsko-angielską), co jest dobrą praktyką przy kontrahentach zagranicznych.
Jedyne zastrzeżenie: organy podatkowe mogą zażądać tłumaczenia na polski podczas kontroli (na Twój koszt). Ale to standardowa zasada, nie zmiana wynikająca z KSeF.
Krok po kroku: jak wystawić fakturę zagraniczną w KSeF
Oto kompletna procedura — niezależnie od tego, jakiego programu do fakturowania używasz.
- Określ typ transakcji:
- Eksport usług B2B (art. 28b) → stawka „np", adnotacja „odwrotne obciążenie"
- WDT (towary w UE) → stawka 0%
- Eksport towarów (poza UE) → stawka 0%
- Wprowadź dane kontrahenta: nazwa, adres, kod kraju, numer VAT-UE (UE) lub inny identyfikator (poza UE).
- Wybierz walutę (EUR, USD, GBP itd.).
- Wprowadź pozycje z cenami w walucie obcej.
- Ustaw kurs NBP: średni kurs z ostatniego dnia roboczego przed dniem obowiązku podatkowego. Większość programów pobiera go automatycznie.
- Jeśli jest VAT (np. 0% WDT) — upewnij się, że kwota VAT jest przeliczona na PLN.
- Wyślij fakturę do KSeF — najlepiej tego samego dnia, żeby uniknąć pułapki z kursem.
- Wygeneruj PDF z kodem QR.
- Wyślij PDF kontrahentowi mailem lub w inny uzgodniony sposób.
10 najczęstszych błędów przy fakturach zagranicznych w KSeF
Na podstawie doświadczeń księgowych, doradców podatkowych i forów dla przedsiębiorców — oto lista pułapek, w które wpadają najczęściej.
- „Klient zagraniczny = brak KSeF" — Błąd. Obowiązek jest po stronie wystawcy, nie odbiorcy. Więcej o tym, jakie kary grożą za brak KSeF.
- „Zero VAT = zero KSeF" — Błąd. Stawka „np" czy 0% nie zwalnia z KSeF.
- Pomylenie daty utworzenia z datą wystawienia — W KSeF faktura „istnieje" od momentu przesłania do systemu. Tworzysz w poniedziałek, wysyłasz w piątek = data wystawienia to piątek, kurs z czwartku.
- Zły kurs NBP — Bierzesz kurs z dnia transakcji zamiast z dnia poprzedzającego. Albo z dnia wystawienia zamiast dnia obowiązku podatkowego.
- Brak VAT w PLN na fakturze walutowej — Jeśli na fakturze jest VAT (nawet 0%), kwota musi być przeliczona na PLN.
- Wysłanie kontrahentowi samego numeru KSeF — Kontrahent nie ma dostępu do systemu. Musisz wysłać PDF z QR.
- Wrzucanie faktur zakupowych od zagranicznych dostawców do KSeF — KSeF służy do faktur wystawianych, nie otrzymywanych. Faktura od Google Ads nie idzie do KSeF.
- Brak kodu QR na fakturze wysyłanej poza KSeF — Od 2026 każda wizualizacja faktury udostępniana poza systemem musi mieć kod QR.
- Nieprawidłowe oznaczenie reverse charge — W schemacie FA(3) eksport usług (art. 28b) wymaga P_18=1 (faktura z adnotacją „odwrotne obciążenie"). Kiedyś bywa z tym zamieszanie, ale KIS potwierdziła jednoznacznie.
- Zmiana metody kursu w trakcie roku — Jeśli wybrałeś kurs NBP, nie możesz przeskoczyć na kurs EBC po 3 miesiącach. Minimum 12 miesięcy z jedną metodą.
Jak popularne programy do fakturowania obsługują faktury zagraniczne w KSeF
Nie musisz znać schematu FA(3) ani pól XML na pamięć. Dobre programy do fakturowania robią to za Ciebie. Jeśli jeszcze nie masz programu, sprawdź nasz ranking programów do fakturowania albo poradnik jak wybrać program do fakturowania. Oto jak radzą sobie najpopularniejsze narzędzia.
wFirma
- Pełna integracja z KSeF (Ustawienia → Faktury → e-Faktury)
- Automatyczne pobieranie kursu NBP
- Automatyczna weryfikacja struktury FA(3) przed wysłaniem
- Generowanie PDF z kodem QR
- ✓ Automatyczny kurs NBP i przeliczenie VAT na PLN
- ✓ Weryfikacja FA(3) przed wysłaniem — system nie puści błędnej faktury
- ✓ Obsługa kontrahentów zagranicznych (UE i poza UE)
inFakt
- Obsługa KSeF całkowicie bezpłatna
- Automatyczne pobieranie kursu NBP
- Pola walutowe: KodWaluty, KursWaluty, KursUmowny — obsługiwane automatycznie
- Wysyłka do KSeF: 3 kropki → „Wyślij do KSeF"
Fakturownia
- Integracja z KSeF od planu za 18,99 zł/mies.
- Obsługa statusów w KSeF
- Automatyczne kursy walut
iFirma
- Automatyczne pobieranie kursu NBP
- Obsługa trybu online i offline
- Dobra dokumentacja dot. pułapek walutowych (blog iFirma)
Wszystkie te programy automatycznie generują PDF z kodem QR, co eliminuje problem ręcznego tworzenia wizualizacji dla zagranicznych kontrahentów.
KSeF a zaświadczenie A1 — ważne dla pracujących za granicą
Jeśli delegujesz pracowników za granicę lub sam pracujesz jako freelancer dla zagranicznych klientów, KSeF ma dodatkowe konsekwencje.
System automatycznie segreguje Twoje faktury na krajowe i zagraniczne (po NIP nabywcy). Oznacza to, że:
- Zasada 25%: Aby utrzymać zaświadczenie A1 (ubezpieczenie społeczne w PL), musisz wykazać min. 25% obrotu z Polski. KSeF daje urzędom natychmiastowy wgląd w ten podział.
- System STIR weryfikuje zgodność faktur z przepływami bankowymi — „puste" faktury (wystawione, ale niezapłacone) są wykrywalne.
- Antydatowanie faktur traci sens — KSeF rejestruje dokładny moment przesłania dokumentu.
Jeśli 100% Twoich przychodów pochodzi z zagranicy, a chcesz utrzymać A1 — porozmawiaj z księgowym o strukturze przychodów. KSeF nie zmienia zasady 25%, ale sprawia, że jest znacznie łatwiej weryfikowalna.
Od kiedy to wszystko obowiązuje?
| Data | Kogo dotyczy |
|---|---|
| 1 lutego 2026 | Duzi podatnicy (obroty > 200 mln PLN w 2024) |
| 1 kwietnia 2026 | Pozostali podatnicy VAT (w tym większość JDG i freelancerów) |
| 1 stycznia 2027 | Mikroprzedsiębiorcy (sprzedaż ≤ 10 000 PLN brutto/mies.) |
Od 1 lutego 2026 obowiązuje wyłącznie schemat FA(3) — również dla korekt starszych dokumentów.
Checklist: przygotuj się do KSeF z fakturami zagranicznymi
Wydrukuj tę listę i odhaczaj punkt po punkcie.
- ☐ Skategoryzuj kontrahentów: B2B vs B2C, UE vs poza UE, OSS vs nie-OSS
- ☐ Sprawdź program do fakturowania: czy obsługuje KSeF, automatyczne kursy NBP i generowanie PDF z QR
- ☐ Uzyskaj certyfikat KSeF: złóż wniosek przez profil zaufany lub podpis kwalifikowany
- ☐ Przetestuj na środowisku Demo: wyślij próbną fakturę walutową do KSeF testowego
- ☐ Zweryfikuj numery VAT-UE kontrahentów w systemie VIES
- ☐ Ustal z kontrahentami sposób dostarczania faktur: mail z PDF, EDI, inna forma
- ☐ Zabezpiecz tokeny KSeF: wyświetlają się jednorazowo — skopiuj do menedżera haseł
- ☐ Przetestuj tryb offline: jeśli pracujesz za granicą lub masz niestabilny internet
- ☐ Poinformuj kontrahentów: na fakturze pojawi się kod QR, ale warunki płatności się nie zmieniają
Podsumowanie — o czym warto pamiętać
Fakturowanie zagranicznych kontrahentów w KSeF sprowadza się do kilku prostych zasad:
- Masz polski NIP i wystawiasz fakturę → idzie do KSeF. Bez względu na to, kto jest odbiorcą.
- Kontrahent zagraniczny nie widzi KSeF — musisz mu wysłać PDF z kodem QR.
- Eksport usług B2B = stawka „np" + reverse charge — ale faktura nadal idzie do KSeF.
- Faktury od zagranicznych dostawców (Google, AWS) nie trafiają do KSeF.
- Kurs NBP: średni z ostatniego dnia roboczego przed dniem obowiązku podatkowego.
- Wysyłaj fakturę do KSeF tego samego dnia, w którym ją tworzysz — unikniesz pułapki z kursem.
- OSS/IOSS jest poza KSeF — te faktury wystawiasz jak dotychczas.
Brzmi jak dużo zmian? W praktyce, jeśli korzystasz z dobrego programu do fakturowania, większość rzeczy dzieje się automatycznie. Program pobierze kurs NBP, wypełni pola FA(3), wygeneruje QR i wyśle fakturę do KSeF. Ty musisz tylko wiedzieć, kiedy wysłać i co dodatkowo dostarczyć kontrahentowi.
A ten poradnik możesz mieć zawsze pod ręką.
Komentarze
Brak komentarzy. Bądź pierwszy, który podzieli się swoimi przemyśleniami!
Zostaw komentarz