Concordo em parte com quem diz que tudo se resolve com configuração, mas na minha obra a gente bateu num limite. Migramos de outro ERP para o SAP com GUEPARDO Tax e precisamos de um cálculo de imposto que não existe no padrão, então alguém escreveu um programa em ABAP. Funcionou no sistema de teste e depois quebrou no fechamento, porque a regra mudou no meio do mês. Uma dica de colega seria bem-vinda. Como vocês decidem quando vale ABAP fiscal e quando a customização de configuração já resolve o caso?
Fóruns / Integração fiscal: BTP, APIs, ABAP e clean core
Como funciona ABAP fiscal e customização fiscal no SAP?
Como funciona este fórum
Moderado por Emanuel Kaufman. As três primeiras mensagens de cada pessoa passam por revisão e respondemos em até 1 dia útil.
Aqui se discute o comportamento do sistema. Decisão tributária é sempre da sua empresa, e ninguém neste fórum dá parecer.
Tudo o que você publicar é público e pode ser usado por terceiros, inclusive por sistemas de IA. Não publique dado de cliente, nome de empresa nem tela do produto.
Esta pergunta foi sinalizada
Quando a regra de imposto precisa de uma lógica que a configuração não expressa, o programa entra, mas com escopo pequeno e parâmetros fora do código. Depois que ele está no ar, o que mais pesa é quem guarda o histórico de valores e de versões. A decisão de quanto de lógica vai para o código é do contribuinte, com o fiscal dele, e nós só desenhamos o fluxo, configuramos e provamos o comportamento. Minha recomendação prática: mapear cada desvio, dar dono a cada um, registrar a versão dos parâmetros e cobrir com teste as combinações que mais se repetem.
Vamos por partes. Olha, o desenho é simples: criamos um conjunto de funções padrão para cálculo de imposto, e cada cliente só chama a função com seus parâmetros. Isso vale quando há muitos clientes com regras parecidas, porque a correção acontece num lugar só. Quando a exceção é de um cliente só, prefiro um programa isolado, com nome que deixe claro de quem é. O que eu não faria é misturar os dois na mesma rotina, porque ninguém sabe qual caminho uma regra percorreu.
O resultado que importa é a rastreabilidade: cada regra precisa dizer onde mora e quem responde por ela. O Fábio Barbosa tem razão em manter o programa pequeno, e o ponto que eu acrescentaria é o registro da versão do parâmetro, para saber qual valor estava valendo em cada documento. Minha opinião, ó, é que sem isso o fechamento vira arqueologia quando o fiscal pergunta o que aconteceu num mês passado. Na mineração a gente aprendeu isso na marra, e registrar a versão custa pouco perto do retrabalho.
O risco que eu já vi é o ABAP fiscal virar uma regra escondida que ninguém do fiscal consegue auditar. Então a resposta curta é: configuração primeiro, e ABAP só quando a lógica não cabe nela. Bem, por via das dúvidas, eu documentaria cada desvio com a justificativa escrita e manteria o programa pequeno, lendo parâmetros em vez de embutir valores. Assim, quando a regra muda, você troca o parâmetro e não reescreve o código.
Fábio, discordo de uma parte: ler parâmetros não resolve tudo. O básico, pois é, é que um parâmetro bem escolhido vira só mais um ponto de falha se ninguém testa a combinação de valores. Na minha experiência de automotivo, o problema apareceu quando dois parâmetros mudaram juntos e o resultado ficou errado sem nenhum erro visível. Eu acrescentaria um caso de teste por combinação relevante, e não só por regra isolada. Assim o parâmetro deixa de ser atalho e vira algo auditável.
Sua resposta
Está gostando da discussão? Não fique apenas lendo, participe!
Crie uma conta hoje mesmo para aproveitar os recursos exclusivos e interagir com nossa incrível comunidade!
Inscrever-sePerguntas relacionadas
Mais conversas em Integração fiscal: BTP, APIs, ABAP e clean core.