Skip to content

KSeF status and error codes explained

When Poland's national e-invoicing system KSeF does not accept an invoice, it gives the invoice a status code, such as 440 or 450, or answers the request with an error code, such as 21405. Find your code below to see what it means, the usual cause and what to change before you send the invoice again.

In short

What KSeF status and error codes such as 440, 450 or 21405 mean, why Poland's e-invoicing system did not accept the invoice and what to change.

This list covers 32 codes from the official documents below. 5 have their own page; 27 are explained in the table only, as they are system or transport statuses with no fix in the invoice.

Not covered: 21111, 21115, 21117, 21217, 21301, 21304, 21308, 21401, 21406, 9101, 9102, 9103, 9105, 21164, 21165, 21175, 21181, 21182, 21183, 21418, 25001, 25002, 25003, 25004, 25005, 25006, 25007, 25008, 25009, 25010, 25011, 26001, 26002, 30001, 71001, 71002, 71004, 71005, which concern a process other than sending an invoice.

Invoice status codes

Code What it means
405 Processing cancelled because of a session error

KSeF invoice status 405 means processing of the invoice was cancelled because of an error in the session it was sent in. Fix what the session status points to, then send the invoice again in a new session.

Przetwarzanie anulowane z powodu błędu sesji

410 No permission to issue this invoice

Nieprawidłowy zakres uprawnień

415 Invoice with an attachment not accepted

Brak możliwości wysyłania faktury z załącznikiem

430 Invoice file failed verification

Błąd weryfikacji pliku faktury

435 Invoice file could not be decrypted

KSeF invoice status 435 means KSeF could not decrypt the invoice file. Ask your software provider to check the encryption, then send the invoice again.

Błąd odszyfrowania pliku

440 Duplicate invoice

Duplikat faktury

450 Invoice content failed the semantic checks

Błąd weryfikacji semantyki dokumentu faktury

500 Unknown error

KSeF status 500 means an unknown error occurred while KSeF processed the invoice or the session. Check the status again later. If it stays at 500, contact KSeF support with the reference number before deciding whether to send the invoice again.

Nieznany błąd ({statusCode})

550 Operation cancelled by the system

KSeF status 550 means the system cancelled the operation. Try again, as the KSeF documentation advises.

Operacja została anulowana przez system

Session status codes

Code What it means
405 Batch package failed verification

KSeF session status 405 means the elements of the batch package failed KSeF's verification. Ask your software provider to check how the package is built and declared, then send it in a new batch session.

Błąd weryfikacji poprawności dostarczonych elementów paczki

415 Session key could not be decrypted

KSeF session status 415 means KSeF could not decrypt the supplied key. Ask your software provider to check the key encryption and the public key it uses, then open a new session and send the invoices again.

Błąd odszyfrowania dostarczonego klucza

420 Too many invoices in the session

KSeF session status 420 means the session exceeded its limit of invoices. Split the invoices across several sessions and send them again.

Przekroczony limit faktur w sesji

430 Batch archive could not be decompressed

KSeF session status 430 means KSeF could not decompress the original ZIP archive of the batch. Ask your software provider to rebuild the package, then send it in a new batch session.

Błąd dekompresji pierwotnego archiwum

435 Archive parts could not be decrypted

KSeF session status 435 means KSeF could not decrypt the encrypted parts of the batch archive. Ask your software provider to check the encryption of the parts, then send the package in a new batch session.

Błąd odszyfrowania zaszyfrowanych części archiwum

440 Session cancelled

KSeF session status 440 means the session was cancelled. Open a new session and send the invoices within the time allowed.

Sesja anulowana

445 No valid invoices in the session

KSeF session status 445 means verification found no valid invoice in the session. Correct any reported invoice errors, check that valid invoices are included, and send the invoices again.

Błąd weryfikacji, brak poprawnych faktur

Error codes when sending

Code What it means
21001 Unreadable content

KSeF error 21001 means KSeF could not read the content of the request. Ask your software provider to check the request against the details, then send it again.

Nieczytelna treść.

21155 Too many invoices in the session

KSeF error 21155 means the session has reached the number of invoices it allows. Close the session and send the remaining invoices in a new one.

Przekroczono dozwoloną liczbę faktur w sesji.

21157 Wrong size of a package part

KSeF error 21157 means the size of a part of the batch package is not valid. Rebuild the package so each part is within the limit and matches its declared size, then send it in a new batch session.

Nieprawidłowy rozmiar części pakietu.

21161 Too many package parts

KSeF error 21161 means the batch package has more parts than KSeF allows. Split the invoices across several batch sessions and send them again.

Przekroczono dozwoloną liczbę części pakietu.

21166 Technical correction not available

KSeF error 21166 means a technical correction cannot be sent, because the invoice already has a technical correction that KSeF processed correctly. Check the status of the earlier technical correction instead of sending another.

Korekta techniczna niedostępna.

21167 Invoice status does not allow a technical correction

KSeF error 21167 means a technical correction was sent for an invoice that KSeF processed correctly. Check that hashOfCorrectedInvoice gives the hash of the rejected offline invoice, not of an accepted one.

Status faktury nie pozwala na korektę techniczną.

21173 Session not found

KSeF error 21173 means no session exists with the reference number given. Use the correct session reference number and send the request again.

Brak sesji o wskazanym numerze referencyjnym.

21178 UPO not found

KSeF error 21178 means KSeF found no UPO, the official receipt, for the criteria given. Correct the numbers and ask for the UPO again.

Nie znaleziono UPO dla podanych kryteriów.

21180 Session status does not allow the operation

KSeF error 21180 means the status of the session does not allow the operation, such as sending invoices or closing it. Check the session status, and open a new session to send further invoices.

Status sesji nie pozwala na wykonanie operacji.

21184 Session temporarily unavailable

KSeF error 21184 means the session is temporarily unavailable because of maintenance work. Try again later, or open a new session to send further invoices, as the details advise.

Sesja tymczasowo niedostępna.

21205 Empty package

KSeF error 21205 means the package cannot be empty: a declared part was not sent. Send the missing part identified in the details and check that every declared part has been sent.

Pakiet nie może być pusty.

21208 Time for sending ran out

KSeF error 21208 means the time allowed for the upload or finish requests ran out, and the session was cancelled. Open a new batch session and send the parts within the time allowed.

Czas oczekiwania na requesty upload lub finish został przekroczony.

21402 Wrong file size

KSeF error 21402 means the length of the content sent does not match the declared file size. Ask your software provider to check that the declared size is that of the file sent, then send it again.

Nieprawidłowy rozmiar pliku.

21403 Wrong file hash

KSeF error 21403 means the hash of the content sent does not match the declared hash of the file. Ask your software provider to check that the declared hash is computed from the file sent, then send it again.

Nieprawidłowy skrót pliku.

21405 Input data failed validation

KSeF error 21405 means the data in the request failed validation. Correct what the details name and send the request again.

Błąd walidacji danych wejściowych.

21470 Unknown or withdrawn key

KSeF error 21470 means the key identifier sent is unknown or points to a withdrawn key. Ask your software provider to use a supported key identifier, then send the request again.

Przesłany identyfikator klucza jest nieznany lub wskazuje na wycofany klucz.

Read the official document

  • KSeF API 2.0, specyfikacja OpenAPI (open-api.json) Source: KSeF API 2.0, specyfikacja OpenAPI (open-api.json), version 2.9.0, published by Ministerstwo Finansów, read on 8 November 2026. Official text in its original language, from Ministerstwo Finansów, KSeF 2.0 Przewodnik dla Integratorów (github.com/CIRFMF/ksef-api), Copyright (c) 2025 Ministerstwo Finansów, under MIT License.
  • Weryfikacja faktury Source: Weryfikacja faktury, version 09.04.2026, published by Ministerstwo Finansów, read on 8 November 2026. Official text in its original language, from Ministerstwo Finansów, KSeF 2.0 Przewodnik dla Integratorów (github.com/CIRFMF/ksef-api), Copyright (c) 2025 Ministerstwo Finansów, under MIT License.

Frequently asked questions

Where do I see the KSeF status of an invoice?

Your invoicing program reads it from KSeF after sending: each invoice in a session gets a status code, a description and, where KSeF gives them, details. Status 200 means success, and 100 and 150 mean KSeF is still processing the invoice.

Why does the same number appear twice?

KSeF uses the same numbers for the status of an invoice and the status of a session, with different meanings. For an invoice 440 means a duplicate; for a session it means the session was cancelled. Check which of the two your program shows.

Which codes are not listed?

Statuses that report progress or success, and the error codes for signing in, certificates, tokens, permissions and downloading invoices, which concern a process other than sending an invoice.

Where do the codes come from?

From the Ministry of Finance's KSeF 2.0 API documentation, published under the MIT licence. Each code page quotes the official Polish text and links to the source.

Updated 8 November 2026