Pular para conteúdo

ADR 0003 — Filtro de períodos do Simples Nacional > 30 dias

Status: vigente (decisão de negócio, não limpeza técnica) · Data: 2026-07-29 · Assunto: Simples Nacional

Contexto

E_Simples_Nacional.qvs (~L210-247, regra na L241: if(Chave_Simples<>previous(Chave_Simples) and Dat_Fim-Dat_Inicio>30,1) as Mantem) mantém apenas períodos com duração maior que 30 dias e descarta os demais por INNER JOIN. Como a condição é > 30, períodos de exatamente 30 dias ou menos também são eliminados. O universo NFSE só é aplicado depois, em T1_Simples_Nacional.qvs — o filtro dos 30 dias é anterior a isso.

Investigação completa (encadeamento, estatísticas, amostras pseudonimizadas, efeito de retirar o filtro): C-001-adjacente · períodos ≤30 dias.

Decisão

Manter a regra Dat_Fim - Dat_Inicio > 30.

Justificativa: - os sistemas consumidores trabalham em granularidade mínima mensal; - reduz eventos muito curtos, em grande parte ligados a cancelamentos/exclusões; - os casos grandes examinados já estavam corrigidos na análise.

Consequência (trade-off aceito)

Períodos legítimos de até 30 dias deixam de representar o contribuinte na dimensão mensal. A investigação confirmou que existem períodos curtos não cancelados, com datas distintas, que parecem eventos reais — ou seja, "curto" não é sinônimo de erro.

⚠️ Nuance semântica (a parte que decide se a regra está certa)

A decisão pressupõe que a dimensão mensal representa um regime mensal estável/predominante. Se a pergunta de negócio mudar para "o contribuinte esteve no Simples em qualquer dia do mês?", a regra passa a produzir resposta incorreta (um período legítimo de 10 dias precisaria contar) e deve ser reavaliada. Por isso isto é registrado como decisão de negócio, com a semântica explícita — não como filtro técnico arbitrário.

Reavaliar quando

  • a semântica da dimensão mudar (predominante → "≥1 dia no mês"); ou
  • surgir evidência histórica (telemetria por execução) que ligue o filtro a divergências reais.