Co oznacza każdy status
- 415
- „Uwierzytelnianie zakończone niepowodzeniem”, details „Brak przypisanych uprawnień”: osoba albo podmiot z certyfikatu nie ma żadnych uprawnień w kontekście tego NIP.
- 425
- „Uwierzytelnienie unieważnione”, details „Uwierzytelnienie i powiązane refresh tokeny zostały unieważnione przez użytkownika”: ktoś zamknął tę sesję logowania.
- 450
- „Uwierzytelnianie zakończone niepowodzeniem z powodu błędnego tokenu”, z details takimi jak „Token unieważniony”, „Token nieaktywny”, „Nieprawidłowy czas tokena” albo „Token nie może być użyty w kontekście {contextIdentifier}”: dotyczy logowania tokenem KSeF.
- 470
- „Uwierzytelnianie zakończone niepowodzeniem”, details „Próba wykorzystania metod autoryzacyjnych osoby zmarłej”.
- 480
- „Uwierzytelnienie zablokowane”, details „Podejrzenie incydentu bezpieczeństwa. Skontaktuj się z Ministerstwem Finansów przez formularz zgłoszeniowy.”.
- 500 i 550
- „Nieznany błąd” oraz „Operacja została anulowana przez system”, z details „Przetwarzanie zostało przerwane z przyczyn wewnętrznych systemu. Spróbuj ponownie”.

Token KSeF a Odoo
Odoo 18, 19 i 20 ma w kodzie funkcję logowania tokenem KSeF, ale nic jej nie wywołuje: loguje się tylko certyfikatem. Status 450 przy logowaniu nie przyjdzie więc z Odoo. Jeśli go widzisz, pochodzi z innego programu, który używa tokenu, na przykład biura rachunkowego. Tokeny KSeF są unieważniane automatycznie, gdy ich właściciel traci uprawnienia.
Przy pozostałych statusach Odoo pokazuje „KSeF Authentication failed with status …: …” z opisem, bez details (w 18 i 19 po polsku: „Uwierzytelnianie KSeF nie powiodło się z kodem błędu …: …”). Przy 415 i 470 opis jest ten sam, więc rozróżnia je dopiero pole details.
Tokeny dostępu, odświeżanie i kody 21301 i 21304
| Element | KSeF | Odoo 18, 19 i 20 |
|---|---|---|
| accessToken | Ważny kilkanaście minut (pole exp) | Po HTTP 401 odświeża go i powtarza zapytanie jeden raz. |
| refreshToken | Do 7 dni | Zaplanowana akcja „Refresh KSeF tokens” co 6 dni loguje się od nowa certyfikatem. |
| 21301 „Brak autoryzacji.” | Przy odbiorze i odświeżaniu tokenów, np. „Token KSeF został unieważniony.” | Widzisz „Failed to refresh KSeF access token. You may need to re-authenticate manually. Error: 400 Client Error…”, bez kodu. |
| 21304 „Brak uwierzytelnienia.” | „Operacja uwierzytelniania o numerze referencyjnym {referenceNumber} nie została znaleziona.” | Tak samo: kod nie trafia na ekran. |

Co zrobić
- 415 albo 21301 po odebraniu uprawnień: właściciel firmy nadaje w KSeF uprawnienia osobie z certyfikatu, a Ty zapisujesz certyfikat w ustawieniach Odoo jeszcze raz.
- 425: ktoś unieważnił sesję logowania; zapisz certyfikat ponownie, żeby Odoo zalogowało się od nowa.
- 480: postępuj jak mówi KSeF i skontaktuj się z Ministerstwem Finansów przez formularz zgłoszeniowy; ponawianie logowania nic nie da.
- 500 albo 550: spróbuj ponownie.
Nasz moduł, Poland KSeF 2.0 Validator, prowadzi listę certyfikatów i tokenów KSeF z datami ważności, ale nie loguje się do KSeF i nie widzi tych statusów.
Czytaj dalej
Sprawdzone w kodzie źródłowym modułu (wersja 20.0) i w podlinkowanych źródłach
Źródła
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/open-api.json
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/uwierzytelnianie.
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/uwierzytelnianie.
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/l10n_pl_edi/tool
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/tool
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/l10n_pl_edi/i18n
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/l10n_pl_edi/tool
- github.com/odoo/odoo/blob/4d2d4b5895db70596863df941d9a1f0beeb117f8/addons/l10n_pl_edi/tool
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/tool
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/tool
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/tool
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/data
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/tool
- github.com/psf/requests/blob/v2.32.5/src/requests/models.py#L730
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_credential.py
