Distribuições Ribeira, o fio condutor do caso
Exemplo Caso ilustrativo: a empresa e os seus dados são inventados para explicar o fluxo.
A Distribuições Ribeira é uma empresa inventada que fatura em Portugal a partir do Odoo 18 e que gere uma segunda sociedade na mesma base de dados. A Marta, responsável administrativa, tem de deixar pronto o Portugal SAF-T (PT) File Checks. O caso não tem números: o que interessa é que ecrãs abre, que campos verifica e que estados vai encontrando.
O módulo está publicado no Odoo Apps para 17.0, 18.0, 19.0 e 20.0, por isso a Marta escolhe a página da sua versão. Custa 9 € por versão do Odoo, pagamento único e sem IVA, nas quatro versões, e como inclui serviço local do FlexigoTech Cloud soma-se a subscrição de 29 €/mês ou 290 €/ano sem IVA (Pro: 58 €/mês ou 580 €/ano).
Primeiro dia: o formulário de configuração ATCUD
Ao criar uma nova configuração ATCUD a partir de Invoicing, a Marta encontra um formulário dividido em secções: informação da empresa, ATCUD, e-mail e notificações, e envio. Só aparece preenchido o URL do endpoint; o resto está vazio.

O que a Marta faz é percorrer o formulário secção a secção, de cima para baixo, incluindo a parte que não cabe no ecrã. O facto de o URL do endpoint já estar escrito não lhe diz nada sobre o resto, por isso não dá a configuração como concluída até a ter revisto toda.
Os campos que a Marta analisa ao pormenor
Antes de gerar o que quer que seja, a Marta revê os campos do módulo que lhe dizem respeito. Estes são os que identifica:
company_id: aparece em vários modelos do módulo como relação comres.company. Com duas sociedades na mesma base de dados, a Marta verifica a que empresa pertence cada registo.schema_url, com a etiquetaSAF-T Schema URL: segundo a descrição do campo, é o URL de onde se obtém o esquema XSD do SAF-T português.export_file_csv: um anexo (ir.attachment) descrito comoExported CSV format.transaction_count, com a etiquetaTransaction Count: o número de transações incluídas no SAF-T.name, com a etiquetaRequest ID.submission_id: relação comsaft.submission, descrita comoRelated SAF-T submission if applicable.
A Marta não atribui a estes campos mais função do que a indicada pelo nome ou pela descrição. Se precisar de saber como se encadeiam internamente, está explicado em como funciona o módulo por dentro.
Os estados que cada registo pode ter
No segundo dia, a Marta aprende os valores de estado definidos pelo módulo. São quatro conjuntos diferentes, e convém não os misturar:
- Campo
statecomDraft,ExportedeSubmitted. - Campo
statuscomDraft,Processing,ApprovedeDenied. - Campo
statecomDraft,Generated,Validated,Validation FailedeSubmitted. São os que aparecem na listaGenerate SAF-T Files. - Campo
statecomDraft,Validated,Submitted,Accepted,Rejected,ATCUD UnreachableeError.
Desta lista, a Marta anota os valores que quer ter controlados todos os dias: Validation Failed, Denied, Rejected, ATCUD Unreachable e Error. Não presume a causa de nenhum; quando surge um, procura o texto exato do aviso em o guia de mensagens de erro do módulo.
A primeira semana: o que revê todas as manhãs
Com a configuração feita, na primeira semana a Marta abre todas as manhãs os mesmos ecrãs pela mesma ordem. O percurso é este:

Draft, Generated, Validated, Validation Failed e Submitted, com tamanho e transações a zero.- Em
Invoicing › Annual SAF-T Statisticsverifica as colunasCompany,Year,Total Documents,Total ValueeState, e confirma que cada linha corresponde à sociedade esperada. - Em
SAF-T Error Logslê a data, o tipo de erro, a gravidade e a mensagem de cada registo, e repara nos que continuam com a caixa de resolvido por assinalar. - Em
Generate SAF-T Filesrevê o estado de cada período, do início ao fim, juntamente com o tamanho do ficheiro e as transações.
Na sua base de dados, com duas sociedades, a coluna Company é a primeira que a Marta verifica. A mesma lista tem botão New e pesquisa:

O que se aprende com o caso da Ribeira
- O formulário ATCUD novo aparece quase vazio, só com o URL do endpoint: reveja-o secção a secção, incluindo a parte que não cabe no ecrã, antes de o dar como concluído.
company_idestá em vários modelos. Se tiver mais de uma sociedade, verifique a empresa de cada registo antes de mais nada.- Há quatro conjuntos de estados diferentes. Aprenda em que lista vê cada um e quais quer vigiar.
- As três listas do percurso (estatísticas anuais, registos de erros e geração de ficheiros) são a rotina da Marta na primeira semana.
Como a FlexigoTech o ajuda
A FlexigoTech implementa Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida, por isso podemos preparar consigo a configuração ATCUD e as sociedades. Se comprar o módulo na sua página em flexigotech.com, a subscrição inclui o módulo para as novas versões do Odoo; no Odoo App Store, pelo contrário, cada versão é comprada lá (página no Odoo Apps). Sem subscrição, ou com o serviço suspenso, para tudo o que a subscrição fornece, e os dados ficam no seu Odoo. Se ainda tem dúvidas sobre se lhe serve, veja primeiro o que cobre e o que é preciso antes de o instalar.
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_error_log.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
