De onde vem um erro de data
Quando uma data cai fora do intervalo do esquema ou da regra do KSeF, a fatura recebe o estado 450, «Błąd weryfikacji semantyki dokumentu faktury» (erro de verificação semântica do documento de fatura). O Ministério das Finanças polaco verifica dois casos destes nos testes da sua biblioteca: P_1 colocada em amanhã segundo a hora polaca e uma DataWytworzeniaFa anterior a 2025-09-01.

As três datas e as suas regras
P_1- «Data wystawienia, z zastrzeżeniem art. 106na ust. 1 ustawy» (data de emissão). Tipo TDataT, «Data zdarzenia w okresie od 2006-01-01 do 2050-01-01» (uma data entre 2006-01-01 e 2050-01-01). O KSeF acrescenta: não pode ser posterior à data em que o sistema recebe o documento, contada na hora polaca.
P_6- Data de entrega dos bens ou de realização do serviço, quando é comum a todas as linhas e diferente da data de emissão. Mesmo tipo TDataT.
DataWytworzeniaFa- «Data i czas wytworzenia faktury» (data e hora de geração da fatura), de 2025-09-01T00:00:00Z a 2050-01-01T23:59:59Z.
OkresFa- O período a que a fatura diz respeito, com
P_6_OdeP_6_Do, em vez de uma única dataP_6.
Como o Odoo as preenche
| Campo FA(3) | Odoo 18, 19 e 20 |
|---|---|
P_1 | A data da fatura. |
P_6 | A data de entrega, só quando estiver preenchida e for diferente da data da fatura. |
DataWytworzeniaFa | O momento em que gera o ficheiro, em UTC. |
OkresFa | Não o preenche; o modelo tem apenas um comentário «TO-CHECK». |
Antes de enviar, o Odoo ignora uma fatura com data posterior a hoje: «The move was skipped because it is future-dated». Conta o «hoje» no fuso horário do utilizador, e o KSeF conta-o em Varsóvia. Se o utilizador trabalhar num fuso à frente da Polónia, uma fatura com a data de hoje dele pode ainda ser amanhã na Polónia e voltar com um 450. O teste do Ministério assinala o mesmo caso ao contrário: entre as 00:00 e as 02:00 CET/CEST, «amanhã em UTC» pode ser hoje na Polónia.
O Odoo 17 não tem l10n_pl_edi: a data é definida pelo programa que cria o ficheiro FA(3).

O que fazer perante um 450 por causa de uma data
- Verifique a data da fatura: não pode ser posterior ao dia do envio na Polónia.
- Verifique o fuso horário do utilizador que envia as faturas, nas preferências do Odoo.
- Se o serviço abrangeu um período, lembre-se de que o Odoo não escreve
OkresFa; na fatura fica apenas a data de entrega. - Repõe a fatura em rascunho, corrija a data, confirme-a e envie-a de novo.
O nosso módulo, Poland KSeF 2.0 Validator, valida o ficheiro contra o esquema FA(3) com a subscrição do FlexigoTech Cloud, por isso deteta um P_1, P_6 ou DataWytworzeniaFa fora dos intervalos do esquema. Não consegue verificar P_1 contra o momento em que o KSeF a recebe, porque essa regra só o KSeF aplica. No Odoo 17 valida o ficheiro carregado na fatura.
Continue a ler
Verificado no código do módulo (versão 17.0 e 20.0) e nas fontes indicadas
Fontes
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/open-api.json
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/faktury/schemy/FA
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/faktury/schemy/FA
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/faktury/schemy/FA
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/faktury/schemy/FA
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/faktury/schemy/FA
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/faktury/schemy/FA
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/faktury/weryfikac
- github.com/CIRFMF/ksef-client-csharp/blob/a66cbc669814e6c2a615748a13a0a04a650ba04f/KSeF.Cl
- github.com/CIRFMF/ksef-client-csharp/blob/a66cbc669814e6c2a615748a13a0a04a650ba04f/KSeF.Cl
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/l10n_pl_edi/data
- 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/2982b5f44af03fae6a9888f20632c1cc19f623ba/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/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/l10n_pl_edi/i18n
- Código do módulo: FlexigoTech Cloud, validacion_efactura (motor_xsd.py y reglas.json)
- 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 17.0 (2b2a93bb): __manifest__.py
