Com veure'ls a Odoo
Quan KSeF rebutja la petició, l10n_pl_edi a Odoo 18, 19 i 20 mostra a la factura «Error when sending invoices to the KSeF» i, a sota, «KSeF API Error: » amb la resposta tal com va arribar, exceptionCode inclòs. A la 18 i la 19 en polonès: «Podczas wysyłania faktur do KSeF wystąpił błąd» i «Błąd API KSeF: …». Si KSeF es nega ja en obrir la sessió, el missatge comença per «Failed to open KSeF session: ». La factura no rep estat KSeF, així que, un cop corregida, l'envies igual que abans.

Codis, textos i què fer
| Codi | Text de KSeF | Què fer |
|---|---|---|
| 21405 | «Błąd walidacji danych wejściowych.» (error de validació de les dades d'entrada), details del validador | Llegeix els details; l'exemple de la documentació és «Wskazany kod formularza nie jest wspierany.» (codi de formulari no admès). |
| 21001 | «Nieczytelna treść.» (contingut il·legible), details amb una descripció | KSeF no va poder llegir la petició; documentat a l'API 2.9.0 i retornat també abans. |
| 21155 | «Przekroczono dozwoloną liczbę faktur w sesji.» (massa factures a la sessió) | Una sessió admet fins a 10.000 factures; cal una sessió nova. |
| 21173 | «Brak sesji o wskazanym numerze referencyjnym.» (no hi ha sessió amb aquesta referència) | KSeF no coneix la sessió guardada a l'empresa; Odoo no la canvia pel seu compte (a sota). |
| 21180 | «Status sesji nie pozwala na wykonanie operacji.» (l'estat de la sessió no ho permet), p. ex. «Status sesji {code} uniemożliwia wysyłkę faktur.» | La sessió es va tancar o va caducar entre la comprovació i l'enviament. |
| 21184 | «Sesja tymczasowo niedostępna.» (sessió no disponible de moment), amb details de manteniment | KSeF aconsella provar més tard o obrir una altra sessió. |
| 21402 | «Nieprawidłowy rozmiar pliku.» (mida de fitxer incorrecta) | La mida de la petició no quadra amb el contingut. |
| 21403 | «Nieprawidłowy skrót pliku.» (empremta de fitxer incorrecta) | L'empremta SHA-256 no quadra amb el contingut. |
| 21166 | «Korekta techniczna niedostępna.» (esmena tècnica no disponible) | Es refereix a l'esmena tècnica d'una factura offline. |
| 21167 | «Status faktury nie pozwala na korektę techniczną.» (l'estat de la factura no permet esmena tècnica) | Igual: no hi ha esmena tècnica per a una factura processada bé. |
La sessió a Odoo
Odoo guarda el número de la sessió interactiva a l'empresa. Abans d'enviar pregunta a KSeF per l'estat: si és 100, sessió oberta, la continua fent servir; si no, n'obre una altra amb el formulari FA (3) 1-0E. Per això el 21180 sol desaparèixer en el següent intent. Amb el 21173 és diferent: en el següent enviament Odoo pregunta per la mateixa sessió, rep el mateix error («Failed to check KSeF session: …») i no n'obre cap altra. La sessió guardada només s'esborra traient el certificat KSeF als ajustos i desant, i tornant a afegir el certificat després. Això surt del codi d'Odoo; no ho hem provat contra KSeF. Davant un 21184, KSeF suggereix una sessió nova, però Odoo només n'obre una quan la guardada deixa de tenir l'estat 100; si l'error es repeteix, espera, com aconsella el missatge.
Els codis 21402 i 21403 van de càlculs que fa el propi programa que envia: Odoo calcula l'empremta i la mida de la factura abans i després de xifrar-la. Amb un Odoo estàndard no surten de les dades de la factura. Odoo no envia esmenes tècniques de factures offline, així que el 21166 i el 21167 vénen d'un altre programa.
Abans d'avisar del problema
- Copia el missatge sencer d'Odoo, amb el JSON que segueix a «KSeF API Error:».
- Apunta el codi i el text de details.
- Mira si l'error afecta una factura o totes les que s'estan enviant.
- Mira si passa en producció o a l'entorn de proves.

Estats de la pròpia sessió: 440 i 445
La sessió interactiva també té estat. El 440 «Sesja anulowana» (sessió anul·lada) amb details «Nie przesłano faktur» vol dir que a la sessió no s'hi va enviar cap factura, i el 445 «Błąd weryfikacji, brak poprawnych faktur», que cap no va passar la verificació. Odoo només mira si la sessió té l'estat 100, així que no els mostrarà; busca la causa als estats de les factures, com el 450.
El nostre mòdul, Poland KSeF 2.0 Validator, no envia factures ni veu aquests codis; amb la subscripció a FlexigoTech Cloud, si prems «Validate FA(3) (FlexigoTech Cloud)» abans d'enviar la factura, revisa el fitxer FA(3) contra l'esquema. Aquest resultat no frena l'enviament de l10n_pl_edi: una factura «Not valid» surt igualment si l'envies.
Continua llegint
Comprovat al codi del mòdul (versió 20.0) i a les fonts enllaçades
Fonts
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/tool
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/open-api.json
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/api-changelog.md#
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/api-changelog.md#
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/faktury/weryfikac
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/faktury/weryfikac
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/api-changelog.md
- 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/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/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/mode
- Codi del mòdul: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): views/account_move_views.xml
