Salta al contingut principal
KSeF 2.0 · enviament de la factura

Excepcions de KSeF en enviar una factura: 21405, 21180, 21184 i la resta

Aquests codis arriben a l'instant, com a resposta HTTP 400 a l'enviament de la factura, abans que KSeF miri el seu contingut. En això es diferencien d'estats com el 450, que arriben més tard. A Odoo els veus juntament amb la resposta completa de KSeF.

FlexigoTech · Responsable: Víctor Gómez · Actualitzat el 5 de novembre de 2026

L'essencial

Mòdul
KSeF 2.0
Versions
Odoo 17, 18, 19 i 20
Comprovat
al codi del mòdul, versió 20.0 · a les fonts enllaçades al final
Lectura
4 min

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.

Targeta de l'excepció 21405 de KSeF amb els codis de l'enviament
El codi 21405 amb la seva descripció de l'API i la resta d'excepcions que retorna l'enviament d'una factura en sessió interactiva.

Codis, textos i què fer

CodiText de KSeFQuè fer
21405«Błąd walidacji danych wejściowych.» (error de validació de les dades d'entrada), details del validadorLlegeix 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 mantenimentKSeF 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.
Esquema: què retorna KSeF amb l'excepció 21405 i què mostra Odoo 20
Esquema fet a partir del codi de l10n_pl_edi d'Odoo 20 i de l'especificació de l'API de KSeF 2.9.0; el que està ratllat és el que Odoo no guarda o no fa.

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

Codi 450 de KSeF: «Błąd weryfikacji semantyki dokumentu faktury»El codi 450 de KSeF rebutja una factura FA(3) després de revisar-ne el contingut. On és el motiu real, què no mostra Odoo 18, 19 i 20 i com tornar-la a enviar.Estats tècnics de la factura a KSeF: 550, 500, 405, 430 i 435Estats de factura de KSeF aliens al seu contingut: 550 «Operacja została anulowana przez system», 500, 405, 430 i 435. Què fa Odoo i per què el 550 es queda a Sent.KSeF HTTP 429, 403 i 401: límits de peticions i accés denegatKSeF 2.0 respon 429 Too Many Requests en superar el límit, 403 amb reasonCode si falta accés i 401 amb el token caducat. Límits i què fan Odoo 18, 19 i 20.
Comprovat al codi del mòdul (versió 20.0) i a les fonts enllaçades

Fonts