Como ler uma mensagem do módulo
Cada mensagem mostra o texto em inglês tal como está no módulo. Onde a tabela mostra %s, no ecrã verá um valor concreto: a Partita IVA que falhou, o detalhe de uma transmissão falhada ou o erro de rede. Copie esse valor antes de fechar o aviso, porque é o dado com que vai procurar o que corrigir.
As mensagens agrupam-se em quatro temas: a Partita IVA da empresa e dos contactos, a transmissão ao SDI, o registo de auditoria e a ordem dos passos com faturas e liquidações. Se antes quiser ver que menus e registos o módulo usa, tem tudo em como funciona o Italian Digital VAT por dentro.
Tabela de mensagens do Italian Digital VAT
| Mensagem | Quando surge | O que fazer |
|---|---|---|
Company PIVA "%s" is invalid per Italian algorithm | A Partita IVA da sua empresa não passa a verificação com o algoritmo italiano; no lugar de %s aparece o número verificado. | Corrija a Partita IVA da empresa e repita a ação. |
Partner PIVA "%s" is invalid per Italian algorithm | A Partita IVA do contacto não passa essa mesma verificação. | Corrija a Partita IVA do contacto. |
Company must have Partita IVA configured | A empresa não tem Partita IVA. | Configure-a na empresa. |
Partner must have Partita IVA or address | O contacto não tem Partita IVA nem morada. | Acrescente pelo menos uma das duas. |
Invoice must be in "XML Generated" state to transmit | Está a tentar transmitir uma fatura que não está no estado XML Generated. | Gere primeiro o XML e transmita depois. |
Company SDI API endpoint not configured | Falta o endpoint da API do SDI na empresa. | Preencha-o na empresa. |
Company SDI API key not configured | Falta a chave da API do SDI na empresa. | Preencha-a na empresa. |
No FatturaPA XML generated | Não há XML FatturaPA gerado. | Gere o XML FatturaPA antes de continuar. |
SDI rate limit reached. Will retry in next cycle. | Foi atingido o limite de envios do SDI. | Aguarde: a mensagem indica que vai tentar de novo no ciclo seguinte. |
SDI transmission failed: %s - %s | A transmissão ao SDI falhou; os dois %s trazem o detalhe. | Copie esses dois valores e reveja com eles a fatura ou a configuração. |
SDI network error: %s | Erro de rede ao comunicar com o SDI. | Verifique a ligação e tente novamente. |
Audit log entries are immutable | Está a tentar alterar uma entrada do registo de auditoria. | Não é possível: o módulo não permite alterá-las. |
Audit log entries cannot be deleted (10-year retention) | Está a tentar apagar uma entrada de auditoria. | Não é possível: a mensagem indica uma conservação de 10 anos. |
No settlements linked | Não há liquidações associadas. | Associe as liquidações e repita a ação. |
Invoice must be validated before submission. | Está a tentar enviar uma fatura não validada. | Valide a fatura e envie-a depois. |
Invoice must be submitted before reconciliation. | Está a tentar reconciliar uma fatura que não foi enviada. | Envie-a primeiro e reconcilie depois. |
Partita IVA da empresa e dos contactos
O módulo verifica a Partita IVA com o algoritmo italiano, como diz a própria mensagem, e distingue dois casos: a da sua empresa (Company PIVA) e a do contacto (Partner PIVA). Repare em qual dos dois aparece, porque o número entre aspas no lugar de %s é o que tem de rever. Compare-o com o documento onde tem registada essa Partita IVA, corrija-o na ficha correspondente e volte a executar o que estava a fazer.
As outras duas mensagens do grupo referem-se a dados em falta. Company must have Partita IVA configured exige que a empresa tenha Partita IVA. Partner must have Partita IVA or address é menos rigorosa: ao contacto basta uma das duas, a Partita IVA ou a morada.
Transmissão ao SDI: configuração, estado e rede
Antes de transmitir, o módulo exige três coisas que pode verificar sozinho. A primeira, que a fatura esteja no estado XML Generated; caso contrário, surge Invoice must be in "XML Generated" state to transmit. A segunda, que exista o XML FatturaPA; caso contrário, No FatturaPA XML generated. A terceira, que a empresa tenha configurados o endpoint e a chave da API do SDI; cada um tem a sua própria mensagem, por isso saberá qual dos dois falta.

Com tudo isso em ordem, durante a transmissão podem surgir outras três mensagens. SDI rate limit reached. Will retry in next cycle. avisa que foi atingido o limite de envios e que vai tentar de novo no ciclo seguinte: aguarde por esse ciclo antes de voltar a olhar para a fatura. SDI transmission failed: %s - %s traz dois valores com o detalhe da falha; guarde-os, porque sem eles não saberá o que corrigir. SDI network error: %s indica um problema de rede, e o valor que acompanha a mensagem diz-lhe qual.
Auditoria, liquidações e ordem dos passos
Duas mensagens não têm solução dentro do módulo porque descrevem o seu comportamento. Audit log entries are immutable surge se tentar alterar uma entrada do registo de auditoria, e Audit log entries cannot be deleted (10-year retention) se tentar apagá-la. O módulo guarda essas entradas e a segunda mensagem fala de uma conservação de 10 anos; encare isso como aquilo que a app faz, não como uma indicação legal.

O resto do grupo define uma ordem. Invoice must be validated before submission. e Invoice must be submitted before reconciliation. deixam claro que uma fatura é validada, depois enviada e depois reconciliada. Se lhe surgir uma das duas, veja em que ponto está a fatura e conclua o passo anterior. No settlements linked aparece quando a ação precisa de liquidações associadas e não existem.

Lipe Xml e Attachment, ainda sem dados.
Como a FlexigoTech o ajuda
Na FlexigoTech implementamos Odoo 17, 18, 19 e 20 e desenvolvemos conectores e integrações à medida, por isso podemos rever consigo a configuração da empresa, os contactos e o fluxo de faturas se uma destas mensagens se repetir. A app custa 9 € por versão do Odoo, pagamento único e sem IVA, para 17, 18, 19 e 20, e o serviço local custa 29 €/mês ou 290 €/ano sem IVA. Sem subscrição, ou com o serviço suspenso, para aquilo que a subscrição oferece, mas os dados ficam no seu Odoo. Tem todos os detalhes na página do módulo e na ficha 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_italian_digital_vat_compliance 20.0 (348b3182): models/account_move.py
- Código do módulo: flexigo_italian_digital_vat_compliance 20.0 (348b3182): models/italian_vat_audit_log.py
- Código do módulo: flexigo_italian_digital_vat_compliance 20.0 (348b3182): models/italian_vat_lipe.py
- Código do módulo: flexigo_italian_digital_vat_compliance 20.0 (348b3182): models/vat_invoice.py
- apps.odoo.com/apps/modules/20.0/flexigo_italian_digital_vat_compliance
- apps.odoo.com/apps/modules/17.0/flexigo_italian_digital_vat_compliance
- apps.odoo.com/apps/modules/18.0/flexigo_italian_digital_vat_compliance
- apps.odoo.com/apps/modules/19.0/flexigo_italian_digital_vat_compliance
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
