Chcesz przegadać swój projekt?
Odpowiadam osobiście w ciągu 24h w dni robocze — bez handlowca po drodze.
Kody błędów KSeF 2.0 w jednym miejscu: statusy uwierzytelnienia, sesji i faktury, wyjątki 21xxx i HTTP 429. Co oznaczają i kiedy ponawiać wysyłkę.
Spora część problemów z KSeF w sklepach i biurach rachunkowych zaczyna się od złego odczytania kodu. Ten sam numer potrafi znaczyć dwie różne rzeczy: status 450 przy logowaniu oznacza błędny token, a status 450 przy fakturze oznacza błąd weryfikacji semantyki dokumentu. Jeśli program pokazuje tylko „błąd 450”, nie wiadomo nawet, czy poprawiać fakturę, czy klucz dostępu. Poniżej zebrałem kody z oficjalnej dokumentacji API KSeF 2.0 i opisałem, co z każdym zrobić.
Dobra integracja zapisuje wszystkie trzy wartości razem z polem „details”, w którym KSeF podaje konkretną przyczynę, np. numer faktury, która jest duplikatem.
Przy logowaniu do API status 415 znaczy brak przypisanych uprawnień, 450 to problem z tokenem (nieprawidłowy, nieaktywny, unieważniony, źle zaszyfrowany albo z innego kontekstu), a 460 to problem z certyfikatem (nieważny, odwołany, zawieszony albo z niezaufanym łańcuchem). Status 480 oznacza zablokowane uwierzytelnienie z podejrzeniem incydentu bezpieczeństwa i wymaga kontaktu z Ministerstwem Finansów. Szczegóły i kolejność sprawdzania opisałem w tekście o błędzie uwierzytelnienia w KSeF.
Ustal, które wywołanie zwróciło kod
Logowanie, otwarcie sesji czy status faktury. Od tego zależy znaczenie numeru.
Odczytaj pole details
Tam jest konkretna przyczyna: pole faktury, numer oryginału, czas blokady.
Zdecyduj: poprawić dane czy ponowić
Błąd danych wymaga korekty faktury. Błąd infrastruktury wymaga ponowienia z opóźnieniem.
Ponawiać warto 429 (po czasie z nagłówka Retry-After, więcej w tekście o limitach API KSeF), 500 i 550. Nie ma sensu ponawiać 440, 450, 410 ani 21401: każda kolejna próba skończy się tym samym, a przy limitach żądań tylko przybliży blokadę. Gdy KSeF w ogóle nie odpowiada, sprawdź komunikaty o awarii KSeF i rozważ tryb offline.
Źródła: dokumentacja API KSeF 2.0 Ministerstwa Finansów (specyfikacja OpenAPI z tabelami statusów) i serwis KSeF.
W dokumentacji API KSeF 2.0 publikowanej przez Ministerstwo Finansów (specyfikacja OpenAPI i repozytorium dokumentacji na GitHubie). Kody statusów są opisane przy odpowiedziach poszczególnych endpointów, a nie w jednej tabeli.
Nie. Przy statusie faktury 450 to błąd semantyki dokumentu, ale przy uwierzytelnieniu 450 oznacza problem z tokenem. Trzeba sprawdzić, które wywołanie zwróciło kod.
Poproś dostawcę o historię komunikacji z KSeF albo szczegóły odpowiedzi. Bez kodu i pola details każda poprawka jest zgadywaniem. Jeśli korzystasz ze sklepu, integracja KSeF dla WooCommerce może zapisywać pełną odpowiedź przy zamówieniu.
Chcesz przegadać swój projekt?
Odpowiadam osobiście w ciągu 24h w dni robocze — bez handlowca po drodze.