Voltar para projetos
Rules EngineTypeScriptFinance

Motor de fórmulas fiscais

DSL versionada onde squads escreviam fórmulas tributárias para estados e cenários distintos.

Projeto corporativo, código confidencial.

Motor de fórmulas fiscais

Este é um projeto corporativo. Por questões de confidencialidade, o código-fonte, dados reais e detalhes sensíveis não podem ser divulgados. O conteúdo abaixo descreve desafios técnicos, decisões arquiteturais e aprendizados obtidos durante o desenvolvimento.

Contexto

Squads fiscais precisavam adaptar tributos para cada estado sem depender do time de plataforma. O legado obrigava novos deploys e horas de QA manual a cada mudança.

Problema

As fórmulas ficavam espalhadas em planilhas e scripts. Qualquer ajuste urgente exigia alinhar múltiplas áreas e os erros eram comuns ao copiar regras entre clientes.

Minha atuação

Desenhei uma DSL versionada em TypeScript e criei um builder visual que guiava o analista passo a passo. Mapeei com o time fiscal todos os operadores, validações e metas de auditoria.

Desafios técnicos

  • Permitir pré-visualizar o impacto das regras antes do deploy.
  • Garantir rastreabilidade entre versões e quem aprovou.
  • Executar as fórmulas com isolamento e limites de CPU.

Decisões e solução

Implementei um compilador que convertia a DSL em funções puras com checagem estática. Cada versão era registrada em DynamoDB com diff legível e assinatura digital. Os testes eram executados em workers Node.js usando o mesmo motor que iria para produção.

Resultado/Impacto

O tempo de publicação caiu de dias para minutos e reduziu 70% dos tickets de suporte fiscal. Auditorias passaram a consumir relatórios automáticos com logs estruturados.

Stack

  • TypeScript
  • Node.js workers
  • DynamoDB + S3 para versões
  • Playwright para smoke tests do builder