KSeF Kit

Odrzucenia i problemy

KSeF nigdy nie jest ślepą uliczką. Znany kod dostaje spokojne wyjaśnienie i konkretny następny krok; nieznany kod kierujemy do nas. Faktura czeka bezpiecznie — zawsze możesz złożyć ponownie.

Odrzucona, wstrzymana czy w kolejce

Najpierw rozróżnij trzy sytuacje — wyglądają podobnie, a mają zupełnie inną przyczynę:

  • Odrzucona — KSeF aktywnie odmówił: nie przyjął faktury i zwrócił kod. Coś w danych albo w połączeniu wymaga poprawy. O tym mówi sekcja Odrzucenia.
  • Wstrzymana — świadomie nie wysłaliśmy, bo to nie jest dokument do KSeF albo jest to coś, czego jeszcze nie składamy. Nic się nie zepsuło — KSeF po prostu tu nie obowiązuje albo dana forma faktury jest w drodze. O tym mówi sekcja Wstrzymane.
  • W kolejce / zablokowana — czeka na wysłanie, bo wyczerpany jest darmowy limit albo profil firmy jest niekompletny. To nie błąd KSeF. Zobacz Plany i limity.

We wszystkich przypadkach faktura czeka bezpiecznie i możesz złożyć ją ponownie po usunięciu przyczyny.

Wstrzymane

Wstrzymanie to świadome nie-złożenie — nic się nie zepsuło. Nic nie pojechało do KSeF, bo albo ta sprzedaż w ogóle nie jest dokumentem KSeF, albo to faktura w formie, której jeszcze nie składamy. Nie ma kodu błędu, nie wysyłamy alarmu e-mail i nie świeci się na czerwono. Poniżej opisujemy każdy powód: co oznacza, dlaczego niczego nie wysłaliśmy i co zrobić dalej.

Nagłówki w tej sekcji są po angielsku celowo — to stabilne kotwice, na które prowadzą odnośniki „Co to oznacza" z panelu faktury.

Out of KSeF scope

Co oznacza: sprzedaż konsumencka (B2C) albo brak NIP nabywcy. KSeF dotyczy faktur między firmami (B2B) z polskim NIP-em — ta sprzedaż się w nim nie mieści.

Dlaczego nic nie wysłaliśmy: to po prostu nie jest dokument do KSeF, więc nie ma czego składać.

Co zrobić: rozlicz sprzedaż swoim zwykłym procesem (paragon / ewidencja VAT). Jeśli to jednak miała być faktura firmowa, dodaj NIP nabywcy w Stripe i złóż ponownie.

Out of KSeF scope (EU OSS)

Co oznacza: sprzedaż wygląda na cyfrową usługę dla konsumenta z innego kraju UE. Takie sprzedaże rozlicza się w procedurze VAT-OSS (One Stop Shop), a nie w KSeF.

Dlaczego nic nie wysłaliśmy: KSeF obejmuje krajowe faktury B2B, nie unijne B2C — to inna ścieżka rozliczenia.

Co zrobić: ujmij VAT w swojej deklaracji OSS. Po stronie KSeF nie musisz nic robić.

Unsupported domestic rate

Co oznacza: to faktura krajowa dla firmy, ale ze stawką 0% lub zwolnioną. Dziś składamy faktury ze stawkami 23%, 8% i 5%.

Dlaczego nic nie wysłaliśmy: tej stawki jeszcze nie budujemy w FA(3), więc wolimy nie złożyć niczego, niż złożyć błędnie. Ta stawka jest w drodze.

Co zrobić: jeśli faktura jest wymagana teraz, złóż ją na razie ręcznie w aplikacji podatnika KSeF. Gdy dodamy obsługę tej stawki, kolejne takie faktury pojadą automatycznie.

Self-invoice

Co oznacza: NIP nabywcy jest taki sam jak Twój własny. KSeF nie przyjmie faktury wystawionej samemu sobie (w schemacie: Podmiot1 = Podmiot2).

Dlaczego nic nie wysłaliśmy: KSeF i tak by ją odrzucił — zatrzymujemy ją wcześniej, zanim trafi do urzędu.

Co zrobić: sprawdź NIP klienta na fakturze w Stripe. Jeśli to literówka, popraw NIP nabywcy i złóż ponownie.

Multi-rate invoice

Co oznacza: faktura łączy więcej niż jedną stawkę VAT (np. pozycje 23% i 8% na jednym dokumencie). Dziś składamy faktury z jedną stawką.

Dlaczego nic nie wysłaliśmy: dokumentu z wieloma stawkami jeszcze nie budujemy, a nie chcemy złożyć go niepoprawnie.

Co zrobić: rozdziel sprzedaż w Stripe na osobne faktury — po jednej na stawkę — i złóż je ponownie, albo na razie złóż tę fakturę ręcznie. Obsługa wielu stawek jest w drodze.

Foreign-currency correction

Co oznacza: to korekta (KOR) w obcej walucie z polskim VAT-em. Taka korekta wymaga przeliczenia kwot VAT na PLN, czego jeszcze nie składamy.

Dlaczego nic nie wysłaliśmy: tej szczególnej formy korekty jeszcze nie budujemy. Zwykłe korekty w PLN i faktury w obcej walucie składamy normalnie — zobacz Korekty i Waluty i NBP.

Co zrobić: jeśli korekta jest wymagana, złóż ją na razie ręcznie. Obsługa tego przypadku jest w drodze.

Odrzucenia

Poniżej zaczynają się odrzucenia — sytuacje, w których KSeF aktywnie odmówił przyjęcia faktury i zwrócił kod. W odróżnieniu od wstrzymań coś tu wymaga poprawy z Twojej strony albo po stronie połączenia.

Gdzie jest naprawa

Każde odrzucenie ma cel naprawy:

  • Stripe — popraw dane na fakturze w Stripe i złóż ponownie.
  • KSeF — problem z połączeniem / tokenem; połącz ponownie. Zobacz Połączenie z KSeF.
  • Automat — problem przejściowy po stronie transmisji lub KSeF; ponawiamy automatycznie albo wystarczy złożyć ponownie.
  • Wsparcie — skontaktuj się z nami.

Najczęstsze kody

Kod Znaczenie Naprawa
21401 Faktura nie przeszła walidacji schematu FA(3) Stripe — sprawdź dane sprzedawcy/nabywcy (NIP, adres, kraj)
21402 Niezgodny rozmiar przesłanej faktury Automat — złóż ponownie
21403 Niezgodny skrót (hash) faktury Automat — złóż ponownie ze świeżymi danymi
21405 Nieprawidłowa data faktury Stripe — popraw datę wystawienia
21407 Niezgodne sumy VAT Stripe — popraw kwoty / stawki VAT
21408 Duplikat — faktura już w KSeF Wsparcie — była już złożona, nic nie rób
21301 Nieprawidłowy numer NIP Stripe — popraw NIP nabywcy
21304 Brak wymaganego NIP Stripe — dodaj NIP nabywcy
21478 NIP nie jest aktywnym podatnikiem VAT Stripe — zweryfikuj NIP nabywcy
21440 Sesja KSeF została zamknięta Automat — złóż ponownie
440 Sesja anulowana Automat — złóż ponownie
21470 Klucz / token KSeF nieaktualny KSeF — wygeneruj nowy token i połącz ponownie
450 Uwierzytelnienie nie powiodło się — nieprawidłowy token KSeF — patrz niżej
401 / 403 / 415 / 425 / 460 Problem z uwierzytelnieniem / uprawnieniami KSeF — sprawdź połączenie i uprawnienia
429 Zbyt wiele zapytań do KSeF Automat — poczekaj, ponawiamy
500 / 550 Błąd po stronie KSeF Automat — chwilowy problem KSeF, ponawiamy

Kod, którego tu nie ma, trafia do generycznej obsługi: faktura czeka, a my pomożemy ją rozwiązać.

Authentication failed (450)

To najczęstszy problem blokujący przy pierwszym połączeniu — i nie jest to problem z fakturą. KSeF nie przyjął Twojego tokenu. Trafiają tu kody 450, 415, 425, 460, 401, 403, 21111 i 21115.

450 („nieprawidłowy token") prawie zawsze oznacza jedną z poniższych przyczyn:

  1. Token pochodzi z niewłaściwego środowiska. Token wygenerowany w aplikacji podatnika KSeF na PROD/DEMO zawsze zostanie odrzucony na TEST (i odwrotnie). To przyczyna numer jeden przy pierwszej wysyłce w środowisku TEST.
  2. To stary token z KSeF 1.0. KSeF 1.0 został wycofany we wrześniu 2025 — stare tokeny już się nie uwierzytelniają.
  3. Token wygasł, został unieważniony albo jest nieaktywny.
  4. Niezgodność NIP / kontekstu — token nie został wystawiony dla NIP firmy, w imieniu której wystawiasz fakturę.

Jak naprawić:

  1. Otwórz aplikację podatnika KSeF we właściwym środowisku — TEST: https://ap-test.ksef.mf.gov.pl, produkcja: https://ap.ksef.mf.gov.pl. Upewnij się, że przez pomyłkę nie wybierasz PROD/DEMO.
  2. Wygeneruj nowy token KSeF 2.0 dla NIP firmy, z uprawnieniem do wysyłania faktur.
  3. W Połączeniu z KSeF sprawdź, że wybrane środowisko się zgadza (TEST czy PROD), a następnie wklej nowy token. Pola z danymi poufnymi są tylko do zapisu — pozostawienie pustego zachowuje starą wartość, więc token trzeba faktycznie wkleić.
  4. Kliknij Testuj połączenie i poczekaj na potwierdzenie, zanim złożysz fakturę ponownie.

Kody 415 i 403 oznaczają, że token się uwierzytelnił, ale brakuje mu uprawnienia do wysyłania faktur — nadaj je w aplikacji podatnika i połącz ponownie. Kod 460 to problem z certyfikatem XAdES — sprawdź, czy certyfikat i klucz prywatny (PEM) nie wygasły i czy pasują do środowiska. Kod 21111 to jednorazowe wyzwanie autoryzacyjne, które wygasło — wystarczy spróbować ponownie.

Authentication blocked (480)

KSeF zablokował uwierzytelnienie z powodu podejrzenia incydentu bezpieczeństwa (kod 480) albo próby uwierzytelnienia metodami osoby zmarłej (kod 470). To rzadkie przypadki, które wymagają ręcznego zgłoszenia do Ministerstwa Finansów — skontaktuj się z nami, a pomożemy Ci je zgłosić. Faktura czeka bezpiecznie.

Token expired (21470)

Token KSeF wygasł lub został unieważniony. Wygeneruj nowy token w aplikacji podatnika i wklej go ponownie w Połączeniu z KSeF. Naprawa jest taka sama jak przy Authentication failed (450).

Schema validation (21401)

Struktura faktury nie zgadza się z wymaganym schematem FA(3) — zwykle brakuje wymaganego pola albo ma ono zły format. Sprawdź dane sprzedawcy i nabywcy (NIP, adres, kraj) na fakturze w Stripe, popraw je i złóż fakturę ponownie.

NIP issues

Obejmuje brak NIP nabywcy (21304), nieprawidłowy NIP (21301 — błędna suma kontrolna lub format) oraz NIP, który nie figuruje jako czynny podatnik VAT (21478 — biała lista). Wszystkie poprawisz na fakturze w Stripe: dodaj lub popraw NIP klienta (Tax ID typu pl_nip), a następnie złóż fakturę ponownie. Przy 21478 upewnij się, że kontrahent jest rzeczywiście czynnym podatnikiem VAT.

Invoice data issues

Data faktury jest nieprawidłowa (21405) albo sumy VAT się nie bilansują (21407). Popraw datę wystawienia albo kwoty i stawki VAT poszczególnych pozycji na fakturze w Stripe, po czym złóż fakturę ponownie.

Duplicate invoice

Faktura o tym numerze jest już zarejestrowana w KSeF (21408) albo została już wysłana w obrębie tej samej sesji (21176). Sprawdź, czy nie złożyłeś jej już wcześniej — jeśli tak, nie musisz nic robić. Jeśli zamierzasz wystawić korektę, użyj faktury korygującej (KOR). Zobacz Korekty.

Session issues

Sesja wysyłki została zamknięta (21440), anulowana lub przekroczyła limit czasu (440), nie przyjęła żadnej ważnej faktury (445), jest w stanie niepozwalającym na tę operację (21180) albo przesyłanie danych przekroczyło dozwolony czas (21208). To problemy na poziomie sesji — wystarczy złożyć fakturę ponownie, a my otworzymy nową sesję.

Transmission issues

Rozmiar (21402) lub skrót (hash, 21403) przesłanego dokumentu nie zgadzał się z zadeklarowanym — zwykle to przejściowy problem transmisji. Złóż fakturę ponownie ze świeżymi danymi pobranymi ze Stripe.

KSeF-side issues

Ograniczenie liczby zapytań (429), błąd serwera (500) albo operacja anulowana przez KSeF z przyczyny wewnętrznej (550). To problemy po stronie urzędu, a nie Twojej faktury — ponawiamy automatycznie. Jeśli problem się utrzymuje, sprawdzimy to za Ciebie.

Unknown codes

Jeśli KSeF zwróci kod, którego jeszcze nie rozpoznajemy, faktura nie przepada — czeka bezpiecznie i możesz złożyć ją ponownie. Kierujemy Cię wtedy do nas, żebyśmy mogli go wyjaśnić i w razie potrzeby dopisać do tej listy. Nigdy nie trafiasz w ślepą uliczkę.