Como ler as mensagens
As mensagens do módulo falam de dados que não passam numa verificação (um código mal formado, uma percentagem fora do intervalo, um registo repetido ou uma configuração que não existe para uma data), de um passo que falta antes de continuar, de um ficheiro que não é válido ou dos registos de auditoria.
Alguns textos incluem %s ou %d. São marcadores onde entra um dado concreto (empresa, produto, data, código ou valor), e esse dado é a primeira coisa a ver.
O caso: uma transportadora que prepara o primeiro documento com a reforma
Exemplo Caso ilustrativo: a empresa e os seus dados são inventados para explicar o fluxo.
A Transportes Rio Claro é uma empresa inventada que transporta mercadoria por estrada e já trabalha com o Odoo. Instala o Brazil IBS/CBS Reform e a responsável de contabilidade começa a configurá-lo. Isto é o que encontra pelo caminho.
A reforma por ativar
A primeira tentativa esbarra num destes três textos: Reform is not enabled for company %s., Reform is not enabled for this company. ou Reform computation is not enabled for this company.. Os três dizem que, na empresa em que está a trabalhar, a reforma (ou o seu cálculo, no terceiro caso) não está ativada. O que fazer: ativar a reforma para essa empresa. Se trabalha com várias empresas, compare o nome que aparece na mensagem com a empresa ativa antes de mexer em alguma coisa.
Uma configuração por empresa, com valores por omissão
Ao criar uma segunda configuração para a mesma empresa aparece One reform configuration per company is allowed.. Não é preciso outra: edita-se a que já existe.
Mais à frente surge Set the default CST IBS, CST CBS and cClassTrib in the reform configuration first.. O texto pede para preencher esses três valores por omissão na configuração da reforma antes de continuar, e é isso que ela faz.
As taxas, data a data
Com as taxas podem surgir quatro mensagens. Only one rate configuration per company per date is allowed. indica que já existe uma configuração de taxas para essa empresa nessa data: é preciso editar essa em vez de a duplicar. IBS rates cannot be negative. e IBS rates must sum to a value between 0 and 100. pedem para corrigir os valores: nenhum negativo e uma soma entre 0 e 100. E No rate configuration found for company %s on date %s diz que para essa empresa e essa data não há configuração de taxas; é preciso criá-la ou rever a data que a mensagem indica.
Códigos cClassTrib e CST
Aqui aparecem os erros de formato. cClassTrib code must be 6 digits. e CST code must be exactly 3 digits. resolvem-se escrevendo o código com esse comprimento exato. Os outros dois têm a ver com a combinação: CST IBS code %s is not allowed for cClassTrib %s e CST CBS code %s is not allowed for cClassTrib %s indicam que esse CST não é permitido com esse cClassTrib. O que fazer: escolher outro CST ou verificar se o cClassTrib é o correto.

Artigos, mapeamentos e tipo de tributação
Ao atribuir artigos aparece One mapping per company, product and fiscal operation. se o mesmo produto já tem mapeamento para essa empresa e essa operação fiscal: corrige-se o existente. Se surgir All products already have mappings., o próprio texto diz que todos os artigos já têm o seu.
Consoante o tipo escolhido, o módulo pede dados diferentes: Ad valorem rate must be specified for ad valorem type. (falta a taxa ad valorem), Specific amount must be specified for specific type. (falta o montante específico) e Both ad valorem rate and specific amount must be specified for mixed type. (no tipo misto são precisos os dois). Com a unidade de medida, Invalid UOM ISO code. Valid codes are: %s mostra a lista de códigos válidos: use um deles. E No IS rate configuration found for product %s on date %s diz que falta a configuração de taxa IS para esse produto nessa data.
Percentagens e crédito presumido
Base reduction percentage must be between 0 and 100. e Credit percentage must be between 0 and 100. pedem um valor dentro desse intervalo. Presumed credit code is required. pede para preencher o código de crédito presumido.
A importação de um ficheiro
Ao carregar dados a partir de um ficheiro, o módulo pode responder Please select a file. (não foi escolhido nenhum), File exceeds maximum size of 5 MB. (o ficheiro tem mais de 5 MB) ou File exceeds maximum of %d rows. (tem mais linhas do que o máximo indicado na mensagem). Nos dois últimos casos, reduza o ficheiro ou divida-o em partes e carregue-as em separado.
Emitir: o bloqueio pela validação
Com tudo configurado, a responsável tenta emitir e recebe Cannot issue document: reform validation blocks exist. Please review the validation diagnostics.. A mensagem diz que há bloqueios de validação da reforma e pede para rever os diagnósticos. O que fazer: abrir os diagnósticos de validação, corrigir cada bloqueio indicado e tentar outra vez.

O que não se pode alterar
Duas mensagens protegem o histórico: Audit logs cannot be modified. e Audit logs cannot be deleted.. Os registos de auditoria não se editam nem se apagam; não há nada a corrigir, basta deixar de tentar. O mesmo com Computed reform results cannot be modified directly.: os resultados calculados não se alteram diretamente.


O que aprender com o caso
- Leia o dado que aparece no lugar de
%s: empresa, produto, data ou código diz-lhe onde procurar. - Se uma mensagem diz que a reforma não está ativada ou pede os valores por omissão, resolva-o na configuração da reforma dessa empresa.
- Os duplicados (configuração por empresa, taxas por data, mapeamentos por produto e operação fiscal) resolvem-se editando o que já existe.
- Se o bloqueio surgir ao emitir, os diagnósticos de validação são o ponto de partida.
Se quiser ver a configuração campo a campo, tem o guia de configuração, e para perceber por onde passa cada registo, como funciona por dentro.
Como a FlexigoTech 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 que provoca estas mensagens ou adaptar o comportamento se o seu caso o exigir. O módulo custa 9 € sem IVA por versão do Odoo, pagamento único, para 17, 18, 19 e 20; encontra-o na página do Odoo Apps e 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_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/account_move_extension.py
- Código do módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/base_reduction.py
- Código do módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/cclass_trib.py
- Código do módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/cst_table.py
- Código do módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/is_rate_config.py
- Código do módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/presumed_credit.py
- Código do módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/product_reform_map.py
- Código do módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/reform_audit_log.py
- Código do módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/reform_config.py
- Código do módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/reform_doc_line_result.py
- Código do módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): models/reform_rate.py
- Código do módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): wizards/apply_defaults_wizard.py
- Código do módulo: flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_ 20.0 (4876ef49): wizards/mapping_import_wizard.py
- apps.odoo.com/apps/modules/20.0/flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_
- apps.odoo.com/apps/modules/17.0/flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_
- apps.odoo.com/apps/modules/18.0/flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_
- apps.odoo.com/apps/modules/19.0/flexigo_brazil_ibs_cbs_nota_fiscal_reform_layer_for_nf_
- flexigotech.com/en/services.html
