Qué dice KSeF
| Código | Texto de KSeF | Estado en Odoo 18, 19 y 20 |
|---|---|---|
| 550 | «Operacja została anulowana przez system» (anulada por el sistema), details «Przetwarzanie zostało przerwane z przyczyn wewnętrznych systemu. Spróbuj ponownie» (interrumpida por causas internas; inténtalo de nuevo) | Se queda en Sent (In Progress) |
| 500 | «Nieznany błąd ({statusCode})» (error desconocido) | Rejected, con la descripción de KSeF |
| 405 | «Przetwarzanie anulowane z powodu błędu sesji» (proceso anulado por un error de la sesión) | Rejected |
| 430 | «Błąd weryfikacji pliku faktury» (error al verificar el fichero de la factura) | Rejected |
| 435 | «Błąd odszyfrowania pliku» (error al descifrar el fichero) | Rejected |

550: la factura se queda atascada en Sent
Odoo solo traduce a sus estados los códigos 100, 150, 200, 405, 410, 415, 430, 435, 440, 450 y 500. Cualquier otro, también el 550, acaba en el mensaje «Unknown status received from KSeF (Code: 550): …» (en polaco en la 18 y la 19: «Otrzymano nieznany status od KSeF (kod: 550): …») y no cambia «KSeF Status». La factura se queda en Sent (In Progress) y Odoo no enseña en ella el botón de volver a borrador.
KSeF dice «inténtalo de nuevo», pero Odoo no puede hacerlo desde la factura: solo envía facturas sin estado KSeF. El botón «Check Sending» y la acción planificada solo vuelven a preguntar por el estado, que seguirá siendo 550.
Salir de ese estado exige un cambio fuera de la interfaz de Odoo, así que avisa a tu partner o a quien mantenga tu Odoo. Esto sale del código de Odoo 18, 19 y 20; no lo hemos probado contra el KSeF de producción.
500, 405, 430 y 435: rechazadas, listas para reenviar
Con estos cuatro, Odoo pone el estado en Rejected. Con el 500 añade la descripción de KSeF; con los demás enseña su texto fijo. La documentación de KSeF no da una lista de causas para ellos más allá de lo que dice su nombre:
- 405: se anuló el proceso por un error de la sesión en la que se envió la factura;
- 430: KSeF no pudo verificar el propio fichero de la factura;
- 435: KSeF no pudo descifrar el fichero, que el programa que envía cifra con AES-256-CBC y la clave que pasa al abrir la sesión.
Odoo monta y cifra el fichero él mismo, así que un 430 o un 435 que se repite apunta al programa que envía, no a los datos de la factura.

Qué hacer
- Con el 500, el 405, el 430 y el 435, restablece la factura a borrador (Odoo borra entonces su estado y su número KSeF), confírmala y envíala otra vez.
- Con el 550, vuelve a consultar el estado con «Check Sending». Si sigue en 550, el proceso se interrumpió y la factura hay que enviarla de nuevo.
- Pásala entonces a quien mantenga tu Odoo para que la envíe otra vez. Si la envías por otro canal, en Odoo se quedará en Sent.
Nuestro módulo, Poland KSeF 2.0 Validator, solo toma el estado de l10n_pl_edi: con un 550 la factura también se queda en Submitted en el módulo.
Sigue leyendo
Comprobado en el código del módulo (versión 20.0) y en las fuentes enlazadas
Fuentes
- 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
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/account_move.py
