Valida e prepara; o envio fica a cargo do l10n_pl_edi
A primeira coisa a ter clara é a divisão de tarefas. O módulo valida e prepara, e não tem cliente HTTP para o KSeF. O envio real é feito pelo l10n_pl_edi, o módulo do Odoo Community que envia para o KSeF e que existe no Odoo 18, 19 e 20 (no Odoo 17 não existe).
Daí resulta a forma como trabalha em cada versão: do 18 ao 20, o módulo valida o FA(3) que o l10n_pl_edi gera ou já enviou; no 17, o FA(3) é carregado já feito fora do Odoo. O módulo está publicado no Odoo Apps para 17.0, 18.0, 19.0 e 20.0.
A validação do FA(3) corre no FlexigoTech Cloud com a subscrição. A própria página do Odoo Apps avisa disso numa secção, Before you buy: this app uses a paid external service. Se ainda está a avaliar se lhe convém, tratamos esse tema à parte em se o Poland KSeF 2.0 Validator se adequa à sua empresa.
Os menus que aparecem em KSeF
Depois de instalado, fica com um menu raiz KSeF com esta estrutura:
KSeF › DashboardKSeF › MigrationKSeF › Operations, comKSeF › Operations › Submission QueueeKSeF › Operations › Inbound InvoicesKSeF › Configuration, comKSeF › Configuration › Compliance Profile,KSeF › Configuration › FA(3) Fields,KSeF › Configuration › Error CodeseKSeF › Configuration › API Sessions
O painel KSeF › Dashboard é uma vista kanban; na captura vê-se o cartão de uma empresa.

O módulo face ao l10n_pl_edi, peça a peça
Esta tabela compara o que cada um faz segundo a sua documentação.
| Aspeto | l10n_pl_edi do Odoo | Poland KSeF 2.0 Validator |
|---|---|---|
| Onde está | Odoo Community 18, 19 e 20; no 17 não existe | Odoo Apps para 17.0, 18.0, 19.0 e 20.0 |
| Envio real para o KSeF | É ele que o faz | Não tem cliente HTTP para o KSeF |
| FA(3) no Odoo 18 a 20 | Gera-o e envia-o | Valida o que o l10n_pl_edi gera ou já enviou |
| FA(3) no Odoo 17 | O módulo não existe | É carregado já feito fora do Odoo |
| Validação do FA(3) | - | No FlexigoTech Cloud, com relatório assinado |
| Credenciais | No Odoo 19 guarda na empresa um KSeF Certificate e autentica-se com ele | Tem um modelo KSeF Credential (certificate / token) |
| Ações agendadas | No Odoo 19, uma ação renova os tokens de acesso de cada empresa com certificado | KSeF: session maintenance, a cada 5 minutos |
Na prática, não são alternativas, complementam-se. Do 18 ao 20, o envio é feito pelo l10n_pl_edi, e o validador revê o FA(3) que esse módulo gera ou já enviou. No 17 não há l10n_pl_edi, e o validador trabalha com o FA(3) carregado já feito fora do Odoo.
As credenciais do módulo aparecem numa lista própria.

Com o serviço ativo e sem ele
Como a validação depende do FlexigoTech Cloud, o módulo comporta-se de forma diferente consoante o estado da subscrição.
| Aspeto | Com subscrição ativa | Sem subscrição ou com o serviço suspenso |
|---|---|---|
| Validação do FA(3) | Corre no FlexigoTech Cloud e guarda um relatório assinado | Para; a fatura fica «não validada» |
| O que a subscrição dá | Disponível | Para |
| Os seus dados | No seu Odoo | Ficam no seu Odoo |
O módulo tem ainda um registo de consentimento, Consent to validate FA(3) files in FlexigoTech Cloud. Com a subscrição, o módulo para as novas versões do Odoo está incluído se o comprou em flexigotech.com; no Odoo App Store, cada versão do Odoo compra-se lá. O serviço local custa 29 €/mês ou 290 €/ano sem IVA, e o plano Pro, 58 €/mês ou 580 €/ano sem IVA.
O percurso de uma fatura dentro do módulo
No Odoo 18 a 20, o l10n_pl_edi gera o FA(3) e faz o envio real para o KSeF; o validador valida no FlexigoTech Cloud o FA(3) que o l10n_pl_edi gerou ou já enviou, e guarda o relatório assinado. Se o serviço não estiver disponível, a fatura fica «não validada».
O módulo define registos KSeF Submission Queue Item, e no menu KSeF › Operations › Submission Queue tem a lista da fila.

Offline pendiente, Accepted e Ready to upload to KSeF.No modo offline, o prazo vai até ao dia útil polaco seguinte, com um aviso diário. O módulo inclui um assistente chamado KSeF Offline/Emergency Mark Wizard.
À volta desse percurso, o módulo define outros registos com estes nomes:
KSeF Inbound Invoice, junto ao menuKSeF › Operations › Inbound InvoicesKSeF Immutable Audit LogKSeF API Error Code, junto ao menuKSeF › Configuration › Error CodesFA(3) Mandatory Field ReferenceKSeF Compliance ProfileKSeF Authorization / DelegationKSeF Migration Validator Wizard,KSeF Migration Validation Run,KSeF Validation ResulteKSeF Validation IssueKSeF Compliance Export Wizard
A ação agendada que corre sozinha
A documentação do módulo inclui a ação KSeF: session maintenance, ativa e com uma frequência de a cada 5 minutos. Na configuração tem também o menu KSeF › Configuration › API Sessions, e o módulo guarda registos KSeF API Session.
Não a confunda com a ação do l10n_pl_edi no Odoo 19, que renova os tokens de acesso de cada empresa com certificado: essa é do Odoo, não do validador.
Se vir as duas ações na sua base de dados, cada uma pertence a um módulo diferente.
Como a FlexigoTech o ajuda
Na FlexigoTech implementamos Odoo 17, 18, 19 e 20 e desenvolvemos conectores e integrações à medida. Se quer que o validador funcione em conjunto com o l10n_pl_edi na sua versão, ou precisa de validar no Odoo 17 o FA(3) que gera fora do Odoo, encontra os detalhes e a compra na página do módulo e na sua página do Odoo Apps.
Continue a ler
Verificado no código do módulo (versão 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): views/ksef_menus.xml
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): data/ksef_cron.xml
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): static/description/index.html
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_api_session.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_audit_log.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_authorization.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_cloud.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_compliance_profile.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_credential.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_error_code.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_fa3_field.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_inbound_invoice.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_queue_item.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_session.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/ksef_validation.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): wizard/ksef_cloud_consent.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): wizard/ksef_export_wizard.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): wizard/ksef_migration_wizard.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): wizard/ksef_offline_mark_wizard.py
- Código do 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 do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati (cbca26e): models/account_move.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati (cbca26e): models/ksef_session.py
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati (cbca26e): models/ksef_tools.py
- Código do 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
