Valida y prepara; el envío es cosa de l10n_pl_edi
Lo primero que conviene tener claro es el reparto de trabajo. El módulo valida y prepara, y no tiene cliente HTTP hacia KSeF. El envío real lo hace l10n_pl_edi, el módulo de Odoo Community que envía a KSeF y que existe en Odoo 18, 19 y 20 (en Odoo 17 no existe).
De ahí sale cómo trabaja según la versión: en 18 a 20, el módulo valida el FA(3) que genera o ya envió l10n_pl_edi; en 17, el FA(3) se sube hecho fuera de Odoo. El módulo está publicado en Odoo Apps para 17.0, 18.0, 19.0 y 20.0.
La validación del FA(3) corre en FlexigoTech Cloud con la suscripción. La propia ficha de Odoo Apps lo avisa en un apartado, Before you buy: this app uses a paid external service. Si todavía estás valorando si te conviene, lo tratamos aparte en si Poland KSeF 2.0 Validator encaja en tu empresa.
Los menús que aparecen bajo KSeF
Al instalarlo, tienes un menú raíz KSeF con esta estructura:
KSeF › DashboardKSeF › MigrationKSeF › Operations, conKSeF › Operations › Submission QueueyKSeF › Operations › Inbound InvoicesKSeF › Configuration, conKSeF › Configuration › Compliance Profile,KSeF › Configuration › FA(3) Fields,KSeF › Configuration › Error CodesyKSeF › Configuration › API Sessions
El panel KSeF › Dashboard es una vista kanban; en la captura se ve la tarjeta de una empresa.

El módulo frente a l10n_pl_edi, pieza por pieza
Esta tabla compara lo que hace cada uno según su documentación.
| Aspecto | l10n_pl_edi de Odoo | Poland KSeF 2.0 Validator |
|---|---|---|
| Dónde está | Odoo Community 18, 19 y 20; en 17 no existe | Odoo Apps para 17.0, 18.0, 19.0 y 20.0 |
| Envío real a KSeF | Lo hace él | No tiene cliente HTTP hacia KSeF |
| FA(3) en Odoo 18 a 20 | Lo genera y lo envía | Valida el que genera o ya envió l10n_pl_edi |
| FA(3) en Odoo 17 | No existe el módulo | Se sube hecho fuera de Odoo |
| Validación del FA(3) | - | En FlexigoTech Cloud, con informe firmado |
| Credenciales | En Odoo 19 guarda en la empresa un KSeF Certificate y se autentica con él | Tiene un modelo KSeF Credential (certificate / token) |
| Tareas programadas | En Odoo 19, una tarea renueva los tokens de acceso de cada empresa con certificado | KSeF: session maintenance, cada 5 minutos |
La lectura práctica: no son alternativas, se complementan. En 18 a 20, el envío lo hace l10n_pl_edi, y el validador revisa el FA(3) que ese módulo genera o ya ha enviado. En 17 no hay l10n_pl_edi, y el validador trabaja con el FA(3) que se sube hecho fuera de Odoo.
Las credenciales del módulo se ven en una lista propia.

Con el servicio activo y sin él
Como la validación depende de FlexigoTech Cloud, el módulo se comporta distinto según el estado de la suscripción.
| Aspecto | Con suscripción activa | Sin suscripción o con el servicio suspendido |
|---|---|---|
| Validación del FA(3) | Corre en FlexigoTech Cloud y guarda un informe firmado | Se para; la factura queda «no validada» |
| Lo que da la suscripción | Disponible | Se para |
| Tus datos | En tu Odoo | Se quedan en tu Odoo |
El módulo tiene además un registro de consentimiento, Consent to validate FA(3) files in FlexigoTech Cloud. Con la suscripción, el módulo para las versiones nuevas de Odoo va incluido si lo compraste en flexigotech.com; en el Odoo App Store, cada versión de Odoo se compra allí. El servicio local cuesta 29 €/mes o 290 €/año sin IVA, y el plan Pro, 58 €/mes o 580 €/año sin IVA.
Qué recorre una factura dentro del módulo
En Odoo 18 a 20, l10n_pl_edi genera el FA(3) y hace el envío real a KSeF; el validador valida en FlexigoTech Cloud el FA(3) que l10n_pl_edi ha generado o ya ha enviado, y guarda el informe firmado. Si el servicio no está disponible, la factura queda «no validada».
El módulo define registros KSeF Submission Queue Item, y en el menú KSeF › Operations › Submission Queue tienes la lista de la cola.

Offline pendiente, Accepted y Ready to upload to KSeF.En el modo offline, el plazo va hasta el siguiente día hábil polaco, con un aviso diario. El módulo incluye un asistente llamado KSeF Offline/Emergency Mark Wizard.
Alrededor de ese recorrido, el módulo define otros registros con estos nombres:
KSeF Inbound Invoice, junto al menúKSeF › Operations › Inbound InvoicesKSeF Immutable Audit LogKSeF API Error Code, junto al menúKSeF › Configuration › Error CodesFA(3) Mandatory Field ReferenceKSeF Compliance ProfileKSeF Authorization / DelegationKSeF Migration Validator Wizard,KSeF Migration Validation Run,KSeF Validation ResultyKSeF Validation IssueKSeF Compliance Export Wizard
La tarea programada que corre sola
La documentación del módulo recoge la tarea KSeF: session maintenance, activa y con una frecuencia de cada 5 minutos. En la configuración tienes también el menú KSeF › Configuration › API Sessions, y el módulo guarda registros KSeF API Session.
No la confundas con la tarea de l10n_pl_edi en Odoo 19, que renueva los tokens de acceso de cada empresa con certificado: esa es de Odoo, no del validador.
Si en tu base ves las dos tareas, cada una pertenece a un módulo distinto.
Cómo te ayuda FlexigoTech
En FlexigoTech implantamos Odoo 17, 18, 19 y 20 y desarrollamos conectores e integraciones a medida. Si quieres que el validador conviva con l10n_pl_edi en tu versión, o necesitas validar en Odoo 17 el FA(3) que generas fuera de Odoo, tienes los detalles y la compra en la página del módulo y en su ficha de Odoo Apps.
Sigue leyendo
Comprobado en el código del módulo (versión 20.0) y en las fuentes enlazadas
Fuentes
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): views/ksef_menus.xml
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): data/ksef_cron.xml
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): static/description/index.html
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_api_session.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_audit_log.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_authorization.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_cloud.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_compliance_profile.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_credential.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_error_code.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_fa3_field.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_inbound_invoice.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_queue_item.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_session.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_validation.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): wizard/ksef_cloud_consent.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): wizard/ksef_export_wizard.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): wizard/ksef_migration_wizard.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): wizard/ksef_offline_mark_wizard.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): wizards/ksef_migration_validator.py
- apps.odoo.com/apps/modules/20.0/flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati
- github.com/odoo/odoo/tree/18.0/addons/l10n_pl_edi
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati (cbca26e): models/account_move.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati (cbca26e): models/ksef_session.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati (cbca26e): models/ksef_tools.py
- Código del módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati (cbca26e): models/ksef_cloud.py
- github.com/odoo/odoo/blob/19.0/addons/l10n_pl_edi/models/res_company.py
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
