Como ler uma mensagem do Portugal SAF-T (PT) File Checks
Cada aviso traz um texto que em muitos casos termina em %s ou tem %d a meio. Esse espaço é onde o módulo insere o dado concreto: o detalhe da falha, o valor que tem guardado, um endereço ou o número de tentativas. Quando vir dois pontos seguidos de um texto, essa parte é a que diz o que aconteceu no seu caso.
Na tabela abaixo as mensagens aparecem tal como o módulo as escreve, com %s e %d no lugar. No seu ecrã verá o dado real em vez desses marcadores.
Tabela de erros: mensagem, quando aparece e o que fazer
| Mensagem | Quando aparece | O que fazer |
|---|---|---|
SAF-T generation failed: %s | Falha a geração do ficheiro SAF-T. | Leia o detalhe após os dois pontos e corrija o que indicar antes de voltar a gerar. |
No SAF-T file generated. Run generation first. | Ainda não existe ficheiro SAF-T gerado. | Gere primeiro o ficheiro, como pede a mensagem. |
SAF-T validation failed. Check validation log for details. | A validação do ficheiro SAF-T não passa. | Abra o registo de validação (validation log) e reveja o detalhe. |
SAF-T validation failed: %s | A validação falha e a mensagem traz o motivo. | Leia o motivo após os dois pontos. |
Failed to fetch SAF-T schema from %s: %s | Não é possível obter o esquema SAF-T a partir de um endereço. | A mensagem mostra o endereço e o detalhe: reveja ambos. |
SAF-T file must be an XML file | O ficheiro SAF-T não é um XML. | Use um ficheiro XML. |
Period start must be before period end | O início do período não é anterior ao fim. | Corrija as datas para que o início fique antes do fim. |
XML export failed: %s | Falha a exportação para XML. | Leia o detalhe após os dois pontos. |
CSV export failed: %s | Falha a exportação para CSV. | Leia o detalhe após os dois pontos. |
Annual statistics generation failed: %s | Falha a geração das estatísticas anuais. | Leia o detalhe após os dois pontos. |
NIF must be exactly 9 digits. Current value: %s | O NIF não tem exatamente 9 dígitos. | A mensagem mostra o valor atual: deixe-o com exatamente 9 dígitos. |
Invalid ATCUD endpoint URL format | O formato do URL do endpoint ATCUD não é válido. | Reveja como está escrito o URL do endpoint. |
ATCUD certificate and key must be configured in SAF-T settings | O certificado e a chave ATCUD não estão configurados. | Configure-os nas definições do SAF-T. |
ATCUD rejected the submission. Check error log for details. | O ATCUD rejeita o envio. | Reveja o registo de erros (error log). |
Failed to contact ATCUD after %d attempts. Try again later. | Não é possível contactar o ATCUD após várias tentativas; a mensagem diz quantas. | Tente mais tarde. |
ATCUD submission failed. Please try again later. | Falha o envio para o ATCUD. | Tente mais tarde. |
Submission can only be retried from error state | Tenta repetir um envio que não está em estado de erro. | Repita apenas envios em estado de erro. |
No submissions found for this company | Não há envios para essa empresa. | Confirme que é a empresa que queria consultar. |
No email configured for company | A empresa não tem e-mail configurado. | Configure o e-mail da empresa. |
Email test failed: %s | Falha o teste de e-mail. | Leia o detalhe após os dois pontos. |
Several contacts match "%s": enter the email or the tax ID of the data subject. | Vários contactos correspondem ao que indicou. | Escreva o e-mail ou o identificador fiscal (tax ID) do titular dos dados. |
DSAR processing failed: %s | Falha o processamento DSAR. | Leia o detalhe após os dois pontos. |
NIF, URL, e-mail e certificado: os avisos de dados
Um grupo de mensagens tem a ver com dados preenchidos por si. O do NIF é o mais direto: pede exatamente 9 dígitos e mostra o que está guardado (Current value: %s), para ver de relance o que sobra ou falta. O do URL (Invalid ATCUD endpoint URL format) diz apenas que o formato não é válido, por isso o passo é rever como está escrito esse endereço.
Para enviar para o ATCUD, o módulo pede certificado e chave nas definições do SAF-T: se não estiverem, aparece ATCUD certificate and key must be configured in SAF-T settings. Com o e-mail passa-se algo parecido: No email configured for company indica que a empresa não tem e-mail, e Email test failed: %s aparece quando o teste de e-mail não corre bem, com o detalhe no fim.

Os que o mandam para o log ou para esperar
Duas mensagens não trazem o detalhe e remetem para outro sítio: SAF-T validation failed. Check validation log for details. manda-o para o registo de validação, e ATCUD rejected the submission. Check error log for details. para o registo de erros. Nesses casos, a causa não está na janela do aviso, mas no log que a mensagem indica.
Outras duas só pedem paciência: Failed to contact ATCUD after %d attempts. Try again later. e ATCUD submission failed. Please try again later. A primeira diz quantas tentativas o módulo fez. Em ambas, o que o texto indica é voltar a tentar mais tarde.

Invoicing › SAF-T Error Logs: cinco registos com data, tipo, gravidade e mensagem, e o indicador de resolvido por assinalar.Gerar, validar e repetir: a ordem que as mensagens marcam
Alguns avisos dizem por que ordem trabalhar. No SAF-T file generated. Run generation first. deixa claro que primeiro é preciso gerar o ficheiro SAF-T. Submission can only be retried from error state indica que só é possível repetir um envio a partir do estado de erro. E Period start must be before period end obriga a que o início do período seja anterior ao fim.
Se o problema for o próprio ficheiro, veja SAF-T file must be an XML file e as de exportação (XML export failed: %s, CSV export failed: %s), que trazem o detalhe no fim. Para ver que definições e estados percorre cada registo, tem a configuração inicial do módulo, e para os menus e tarefas, como funciona por dentro.

Invoicing › SAF-T Accounting › Generate SAF-T Files: seis registos em Draft, Generated, Validated, Validation Failed e Submitted, com tamanho de ficheiro e transações a zero.
Draft ou Exported) à lista de erros e à de ficheiros SAF-T gerados.Como a FlexigoTech pode ajudar
Se uma mensagem o deixar bloqueado ou quiser rever a configuração antes de enviar, na FlexigoTech implementamos Odoo 17, 18, 19 e 20 e desenvolvemos conectores e integrações à medida. O módulo custa 9 € por versão do Odoo na Odoo Apps, pagamento único sem IVA, para 17, 18, 19 e 20 (página na Odoo Apps); o serviço local da FlexigoTech Cloud custa 29 €/mês ou 290 €/ano sem IVA. Tem todos 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_portugal_saf_t_accounting_atcud_submission_tool 20.0 (6935c20f): models/saft_annual_statistics.py
- Código do módulo: flexigo_portugal_saf_t_accounting_atcud_submission_tool 20.0 (6935c20f): models/saft_config.py
- Código do módulo: flexigo_portugal_saf_t_accounting_atcud_submission_tool 20.0 (6935c20f): models/saft_dsar_request.py
- Código do módulo: flexigo_portugal_saf_t_accounting_atcud_submission_tool 20.0 (6935c20f): models/saft_exporter.py
- Código do módulo: flexigo_portugal_saf_t_accounting_atcud_submission_tool 20.0 (6935c20f): models/saft_submission.py
- apps.odoo.com/apps/modules/20.0/flexigo_portugal_saf_t_accounting_atcud_submission_tool
- apps.odoo.com/apps/modules/17.0/flexigo_portugal_saf_t_accounting_atcud_submission_tool
- apps.odoo.com/apps/modules/18.0/flexigo_portugal_saf_t_accounting_atcud_submission_tool
- apps.odoo.com/apps/modules/19.0/flexigo_portugal_saf_t_accounting_atcud_submission_tool
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
