Uma distribuidora fictícia liga o seu Odoo
Exemplo Caso ilustrativo: a empresa e os seus dados são inventados para explicar o fluxo.
A Distribuições Duna é uma empresa inventada que já fatura com o Odoo e acabou de instalar o módulo. A Laura, a consultora responsável pela implementação, trata da configuração; o Marcos, da área administrativa, trabalha com as faturas. Vamos acompanhar o que cada um vê e o que faz com cada mensagem.
Se antes quiser perceber que peças tem o módulo, consulte como funciona por dentro; aqui ficamo-nos pelas mensagens.
A Laura configura a empresa e depara-se com os primeiros avisos
Não há configuração ativa
A primeira coisa que a Laura vê é No active UAE e-invoicing configuration found for company %s. No %s aparece a empresa a que o aviso se refere. Há uma variante sem empresa: No active UAE e-invoicing configuration. Ambas dizem que não existe uma configuração de faturação eletrónica dos EAU ativa. O que há a fazer é criá-la ou ativá-la para a empresa indicada na mensagem e confirmar que está a trabalhar nessa empresa e não noutra.

UAE E-Invoicing Setup Wizard no passo TIN Entry, com a empresa de exemplo YourCompany em Company e o campo UAE TIN ainda vazio.O TIN e o TRN não passam
A Laura cola o número fiscal com um espaço no meio e o módulo responde TIN must be exactly 10 numeric digits. Mais à frente, com o outro identificador, surge TRN must be exactly 15 numeric digits. As duas validações exigem apenas algarismos e exatamente essa quantidade, por isso espaços, hífens ou letras não servem. Limpe o valor e volte a guardar.
Confirmação, URL do ASP e limites
Quando guarda sem confirmar os dados, aparece Please confirm the information is correct before saving. Basta rever a informação e confirmar que está correta antes de guardar.
Depois, a Laura sai do modo sandbox e recebe ASP Endpoint URL is required when not in sandbox mode. Tem duas saídas: preencher o URL do endpoint do ASP ou manter o modo sandbox enquanto não o tiver.
Por fim, deixa os limites a zero e vê Alert threshold must be at least 1. e Failure threshold must be at least 1. Ambos aceitam no mínimo 1.
A credencial do ASP e o respetivo certificado digital
Com a configuração guardada, a Laura passa à credencial. Enquanto não houver uma ativa, o módulo avisa com No active ASP credential configured.
Ao criá-la sem anexar o ficheiro surge No certificate uploaded. Quando o carrega, pode encontrar Certificate validation failed: %s ou Credential setup failed: %s. Em ambos os casos a pista está no texto que substitui o %s; leia-o por inteiro antes de voltar a carregar o que quer que seja.
A Laura quer substituir a credencial por uma nova e executa a ação antes de a preparar. A mensagem é No staged credential found. Upload a new credential and mark it as staged first. O próprio texto indica a ordem: carregar primeiro a credencial nova e marcá-la como staged.
Ao ativá-la, surge Cannot activate credential "%s": the certificate expired on %s. O primeiro espaço é a credencial e o segundo, a data em que o certificado digital expirou. Com um certificado expirado o módulo não deixa ativá-la, por isso é preciso um válido.
O Marcos trabalha com as faturas

Invoicing › Compliance Dashboard agrupado por estado (Accepted, Not Transmitted, Queued, Rejected, Transmitted), com montante sem impostos, total e linha de totais.Repetir, sincronizar e anular
O Marcos abre uma fatura aceite e pede para a repetir. Resposta: Only rejected or failed invoices can be retried. Só se repetem as rejeitadas ou falhadas.
Depois pede para sincronizar o estado de uma que ainda não foi enviada: Status sync is only relevant for transmitted or queued invoices. A sincronização só faz sentido com faturas transmitidas ou em fila.
A seguir tenta anular uma que está em fila: Only accepted or rejected invoices can be voided. Só se anulam as aceites ou rejeitadas, e esta não é nenhuma delas.
Noutra fatura aparece No e-invoice XML has been generated for this invoice. Essa fatura ainda não tem o XML de faturação eletrónica gerado.

UAE E-Invoice mostra o estado Accepted, o ID de liquidação da FTA e a última transmissão; no chatter, uma atividade planeada e a mudança de estado.O que o módulo não deixa apagar
O Marcos quer limpar uma fatura antiga e recebe Invoice %s cannot be deleted: FTA retention period of %d years has not elapsed (expires %s). O módulo verifica um período de conservação e não deixa apagar a fatura até à data indicada na mensagem.
Também não consegue mexer no registo de auditoria: E-invoice audit logs are immutable and cannot be modified. e E-invoice audit logs are immutable and cannot be deleted. A app guarda esses registos sem permitir alterações nem eliminação.
No fim pede os XML arquivados de um período e vê No e-invoice XML archives found for TRN %s in the specified date range. Confirme que o TRN da mensagem é o correto e alargue ou corrija o intervalo de datas.

Compliance Dashboard agrupado por estado à Transmission Queue, o assistente no passo TIN Entry e uma fatura no estado Accepted.O que aprender com o caso da Distribuições Duna
- Leia a mensagem inteira, incluindo o que aparece em cada
%s: é aí que vão a empresa, a credencial, a data ou o detalhe da falha. - Os avisos de configuração (
No active UAE e-invoicing configuration...,No active ASP credential configured.) indicam que falta uma configuração ou uma credencial ativa. - O TIN e o TRN só aceitam algarismos e o comprimento exato indicado na mensagem.
- Para mudar de credencial, a ordem é dada por
No staged credential found...: carregar a nova e marcá-la como staged; para a ativar, o certificado digital não pode estar expirado. - Repetir, sincronizar e anular dependem do estado da fatura; veja o estado antes de clicar.
- Apagar faturas dentro do período de conservação ou mexer na auditoria não é permitido pelo módulo.
Para preencher cada definição sem tropeçar nestes avisos, tem a configuração passo a passo.
Como a FlexigoTech o ajuda
A FlexigoTech implementa Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida, por isso podemos rever consigo a configuração, a credencial do ASP ou uma mensagem concreta que não consiga eliminar. O módulo custa 49 € sem IVA, pagamento único por versão do Odoo, para 17, 18, 19 e 20; tem os detalhes na página do módulo.
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_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): models/account_move.py
- Código do módulo: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): models/flexigo_uae_einvoice_config.py
- Código do módulo: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): models/flexigo_uae_einvoice_credential.py
- Código do módulo: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): models/flexigo_uae_einvoice_log.py
- Código do módulo: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): wizard/flexigo_uae_einvoice_dsar_wizard.py
- Código do módulo: flexigo_uae_fta_e_invoicing_connector 20.0 (bd3e6ed9): wizard/flexigo_uae_einvoice_setup_wizard.py
- apps.odoo.com/apps/modules/20.0/flexigo_uae_fta_e_invoicing_connector
- apps.odoo.com/apps/modules/17.0/flexigo_uae_fta_e_invoicing_connector
- apps.odoo.com/apps/modules/18.0/flexigo_uae_fta_e_invoicing_connector
- apps.odoo.com/apps/modules/19.0/flexigo_uae_fta_e_invoicing_connector
- flexigotech.com/en/services.html
