Co mówi KSeF
| Kod | Tekst KSeF | Stan w Odoo 18, 19 i 20 |
|---|---|---|
| 550 | „Operacja została anulowana przez system”, details „Przetwarzanie zostało przerwane z przyczyn wewnętrznych systemu. Spróbuj ponownie” | Zostaje Sent (In Progress) |
| 500 | „Nieznany błąd ({statusCode})” | Rejected, z opisem z KSeF |
| 405 | „Przetwarzanie anulowane z powodu błędu sesji” | Rejected |
| 430 | „Błąd weryfikacji pliku faktury” | Rejected |
| 435 | „Błąd odszyfrowania pliku” | Rejected |

550: faktura utknęła w Sent
Odoo tłumaczy na swój stan tylko kody 100, 150, 200, 405, 410, 415, 430, 435, 440, 450 i 500. Każdy inny, także 550, kończy się komunikatem „Unknown status received from KSeF (Code: 550): …” (w 18 i 19 po polsku „Otrzymano nieznany status od KSeF (kod: 550): …”) i nie zmienia „KSeF Status”. Faktura zostaje więc w Sent (In Progress), a Odoo nie pokazuje przy niej przycisku powrotu do wersji roboczej.
KSeF mówi „spróbuj ponownie”, ale z poziomu faktury Odoo tego nie zrobi: wysyła tylko faktury bez stanu KSeF. Przycisk „Check Sending” („Sprawdź wysyłkę”) i zaplanowana akcja tylko ponownie pytają o status, który wciąż będzie 550.
Wyjście z tego stanu wymaga zmiany poza interfejsem Odoo, więc zgłoś to partnerowi albo osobie, która utrzymuje Twoje Odoo. Tak wynika z kodu Odoo 18, 19 i 20; nie sprawdzaliśmy tego na produkcyjnym KSeF.
500, 405, 430 i 435: odrzucone, do ponownej wysyłki
Przy tych czterech Odoo ustawia stan Rejected. Przy 500 dokleja opis od KSeF, przy pozostałych pokazuje swój stały tekst. Dokumentacja KSeF nie podaje dla nich listy przyczyn, poza tym, co jest w nazwie:
- 405: przetwarzanie anulowano przez błąd sesji, w której wysłano fakturę;
- 430: KSeF nie zweryfikował samego pliku faktury;
- 435: KSeF nie odszyfrował pliku, który program wysyłający szyfruje AES-256-CBC kluczem przekazanym przy otwarciu sesji.
Odoo samo buduje i szyfruje plik, więc powtarzający się 430 albo 435 wskazuje na program wysyłający, a nie na dane faktury.

Co zrobić
- Przy 500, 405, 430 i 435 przywróć fakturę do wersji roboczej (Odoo czyści wtedy jej stan i numer KSeF), zatwierdź ją i wyślij jeszcze raz.
- Przy 550 sprawdź status jeszcze raz przyciskiem „Check Sending”. Jeśli nadal jest 550, przetwarzanie zostało przerwane i faktura wymaga ponownej wysyłki.
- Zgłoś ją wtedy osobie, która utrzymuje Odoo, żeby wysłała ją jeszcze raz. Jeśli wyślesz ją innym kanałem, w Odoo zostanie w stanie Sent.
Nasz moduł, Poland KSeF 2.0 Validator, przejmuje od l10n_pl_edi tylko stan: przy 550 również u niego faktura zostaje Submitted.
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/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/4d2d4b5895db70596863df941d9a1f0beeb117f8/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- 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/mode
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/l10n_pl_edi/i18n
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/faktury/weryfikac
- Kod modułu: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/account_move.py
