FiscalSpecFiscal CI

Benchmark de validação — NT 2025.002-RTC

Benchmark parcial — registro de 2026-08-27. pendente — coluna vazia até execução com certificado digital.

Nas 96 fixtures do corpus, o ACBr não emite nenhum código de rejeição da Reforma e o Portal da Conformidade deixa passar 5 casos.

Metodologia

96 fixtures XML sintéticas (48 regras da NT 2025.002-RTC, cada uma com um par: um XML que passa e um que fere a regra), submetidas às mesmas ferramentas, com critérios de seleção e classificação congelados por escrito ANTES de qualquer execução.

Corpus de 60 regras congelado em 2026-07-25 a partir da NT 2025.002-RTC v1.50 (população: 262 regras completas extraídas da tabela oficial). Delas, 48 têm par de fixtures construível; 12 são declaradas não-testáveis por limitação da própria fonte oficial (campo ausente de todo schema publicado, garantia duplicada do XSD, norma circular ou tabela ainda não publicada) e ficam fora da contagem de cobertura.

Das 48 regras com par, 43 são decidíveis offline e formam a base de comparação; as 5 restantes dependem de dado externo (cadastro, tabelas) e são registradas como "não decidimos" por construção, não como acerto.

nfe-rtc@2025.002-v1.50vereditos: match · false-negative · false-positive · code-mismatch · not-applicable · cannot-decide

Ferramentas e coordenadas de versão

FerramentaVersão coordenadaExecução
fiscalspecruleset nfe-rtc@2025.002-v1.50 (fixado, byte-determinístico)2026-08-04
ACBr (ValidarNFeRegraNegocios)ACBrMonitorPLUS 1.4.0.478-x86 demo, modo TXT2026-08-20
Portal da Conformidade Fácilsem versão declarada pelo portal — única coordenada é a data de acesso2026-08-05
SEFAZ homologaçãopendentependente

Resultados agregados

Só agregados: o benchmark não publica resultado por regra nem associa código de rejeição a observação individual.

fiscalspec

Fails detectados com o código esperado
43 de 43 decidíveis offline
Falsos positivos
0 de 43
Falsos negativos
0 de 43
Não decididos declarados
10 execuções (5 regras dependentes de dado externo × par)
Fixação de versão
sim — mesmo ruleset, mesmos bytes em execuções repetidas

ACBr (ValidarNFeRegraNegocios)

Fails detectados com o código esperado
Nas 43 regras RTC avaliadas: 0 de 43 — nenhum código de rejeição da Reforma emitido em 96 execuções.
Falsos positivos
A taxa bruta de reprovação dos casos pass é dominada por ruído de preenchimento sintético das fixtures (CNPJ/IE/dígito verificador de teste) e não é usada como comparação de desempenho — ver limitação de assimetria de filtro abaixo.
Falsos negativos
2 de 48
Não decididos declarados
0 — a ferramenta sempre responde, nunca declara indecisão
Fixação de versão
não — única coordenada é a versão do binário e a data de download

Portal da Conformidade Fácil

Fails detectados com o código esperado
43 de 48
Falsos positivos
0 de 48 (após filtro de ruído sintético, declarado linha a linha)
Falsos negativos
5 de 48 — auditados um a um no registro interno
Não decididos declarados
0
Fixação de versão
não — nem a página nem a resposta declaram versão de NT; a página declara uma versão enquanto o motor aplica regras mais novas.

Limitações

  • A coluna SEFAZ homologação ainda não existe. O benchmark sustenta comparações entre ferramentas locais sobre fixtures sintéticas; não mede o comportamento do autorizador real nem sustenta comparações de cobertura em produção.
  • As fixtures são 100% sintéticas: preenchimento de identificação de teste pode fazer ferramentas externas reprovarem antes das regras de negócio. Falso positivo em XML real de cliente ainda não foi medido.
  • O zero de divergência de código do fiscalspec não é mérito: ele reporta o código da própria regra do corpus, então divergência é impossível por construção. Só ferramentas que produzem código de forma independente podem revelar erro do próprio corpus.
  • A contagem bruta de reprovações dos casos pass do ACBr não passou pelo filtro de ruído sintético aplicado ao portal — assimetria de método declarada no registro interno; por isso ela não entra como métrica comparativa.
  • 12 das 60 regras não são testáveis por nenhuma ferramenta, por limitação da fonte oficial — isso é um resultado do benchmark, não uma lacuna escondida.

Regras documentadas · rejeições documentadas · página inicial