Skąd się bierze 445
Faktury wysyła się do KSeF w sesjach — interaktywnej (pojedyncze faktury) albo wsadowej (paczka ZIP). Po zamknięciu sesji KSeF podsumowuje ją jednym statusem. Gdy wszystkie faktury zostały odrzucone, sesja kończy się kodem 445. Wywołaliśmy go na środowisku testowym, wysyłając w sesji jedną fakturę bez numeru:
{
"status": {
"code": 445,
"description": "Błąd weryfikacji, brak poprawnych faktur"
},
"invoiceCount": 1,
"failedInvoiceCount": 1
}Środowisko testowe MF, 11.10.2026. Numery referencyjne skróciliśmy, reszta bez zmian.
A tak wyglądał status tej jednej faktury — to on mówi, co poprawić:
{
"status": {
"code": 450,
"description": "Błąd weryfikacji semantyki dokumentu faktury",
"details": ["The element 'Fa' … has invalid child element 'P_6' … List of possible elements expected: 'P_1M, P_2' …"]
}
}Jak znaleźć przyczynę
- W programie otwórz szczegóły wysyłki i znajdź status każdej faktury, nie sesji. Programy korzystające z API pobierają je z listy „niepoprawnie przetworzonych faktur sesji”.
- Najczęściej zobaczysz 450 z opisem błędnego pola, 440 przy ponownej wysyłce albo 430 przy problemie z plikiem.
- Popraw faktury i wyślij je w nowej sesji. Odrzucone faktury nie mają numerów KSeF, więc nie będą duplikatami.
Uwaga: status 200 sesji nie znaczy, że wszystko przeszło
To ważna rzecz, którą sprawdziliśmy w testach: sesja, w której przynajmniej jedna faktura została przyjęta, kończy się statusem 200 „Sesja interaktywna przetworzona pomyślnie” — nawet jeśli pozostałe odrzucono. W naszej sesji z 12 fakturami przeszła 1, a 11 dostało błędy, a sesja i tak miała status 200 (z liczbami: invoiceCount 12, successfulInvoiceCount 1, failedInvoiceCount 11).
Nie oceniaj wysyłki po statusie sesji. Sprawdź, czy każda faktura ma numer KSeF. Kod 445 jest wręcz wygodniejszy — od razu widać, że nic nie przeszło.