O que diz o KSeF e o que testa o Ministério
| Código | Texto do KSeF | Caso dos testes do Ministério |
|---|---|---|
| 410 | «Nieprawidłowy zakres uprawnień» (âmbito de permissões incorreto) | Fatura com um NIF de vendedor diferente do NIF com que a sessão foi autenticada. |
| 410 | «Nieprawidłowy zakres uprawnień» | Vendedor sem permissão para anexos; em details: «Sprzedawca {nip} nie posiada zgody do wysyłania faktur z załącznikami». |
| 415 | «Brak możliwości wysyłania faktury z załącznikiem» (não é possível enviar uma fatura com anexo) | Fatura com anexo enviada numa sessão interativa. |
A documentação do KSeF acrescenta duas regras. Para enviar uma fatura é preciso ter o direito de a emitir no contexto desse contribuinte. As faturas com anexos só se enviam em modo lote (a exceção é a correção técnica de uma fatura offline) e depois de registar essa opção no e-Urząd Skarbowy.

Como se vê no Odoo 18, 19 e 20
O l10n_pl_edi inicia sessão no KSeF com o certificado KSeF das definições, usando o NIF da empresa como contexto, e escreve esse mesmo NIF em Podmiot1. Exige que o NIF da empresa comece por PL («A polish VAT number must be set on your company.»). Depois de um 410 passa o estado para Rejected e escreve «KSeF Status: Rejected (Code: 410). Incorrect scope of permissions.» (na 18 e na 19 em polaco: «Status KSeF: Odrzucono (Kod:410). Nieprawidłowy zakres uprawnień.»).
O 410 chega como estado da fatura, tal como o 450, por isso o Odoo mostra-o no histórico depois de consultar o estado: logo após o envio ou mais tarde com o botão «Check Sending». As permissões concedem-se e verificam-se no próprio KSeF, não no Odoo: o Odoo só conhece o certificado e o NIF da empresa.
O modelo FA(3) do Odoo não tem o elemento Zalacznik e o Odoo envia numa sessão interativa. Por isso, o 415, e um 410 por causa de anexos, não deveriam sair de uma fatura gerada pelo Odoo; se os vir, o ficheiro veio de outro programa.
O que rever perante um 410
- O NIF da empresa no Odoo é exatamente o NIF sobre o qual o titular do certificado tem permissões.
- O titular do certificado tem no KSeF a permissão de emitir faturas para esse NIF; quem a concede é o titular da empresa. Sem permissão nenhuma, o KSeF já interrompe o início de sessão (estado 415 na autenticação: «Brak przypisanych uprawnień», sem permissões atribuídas).
- Se alterou o NIF da empresa no Odoo, volte a guardar o certificado nas definições. O Odoo escreve em
Podmiot1o NIF atual, mas, até à próxima renovação automática, o seu acesso provém de um início de sessão com o anterior, que é justamente o caso do teste do Ministério. - Numa base de dados com várias empresas, cada uma tem o seu certificado; a fatura segue com o contexto da empresa a que pertence.

Voltar a enviá-la
Depois de corrigir, repõe a fatura em rascunho (numa rejeitada o Odoo apaga o estado e o número KSeF), confirme-a e envie-a de novo. O nosso módulo, Poland KSeF 2.0 Validator, toma do l10n_pl_edi o estado Rejected e depois o Accepted, mas não envia nada por conta própria nem altera permissões no KSeF.
Continue a ler
Verificado no código do módulo (versão 20.0) e nas fontes indicadas
Fontes
- 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/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/open-api.json
- github.com/CIRFMF/ksef-api/blob/ce3670ea042de380039de4c5849fd6455811b292/faktury/weryfikac
- 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/CIRFMF/ksef-client-csharp/blob/a66cbc669814e6c2a615748a13a0a04a650ba04f/KSeF.Cl
- 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/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/l10n_pl_edi/i18n
- 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
- Código do módulo: flexigo_poland_ksef_2_0_e_invoice_connector_and_migrati 20.0 (ba7c60f1): models/account_move.py
