··

3 de agosto de 2026.

Data em que a UB12-10 passa a rejeitar NF-e de emitente no Regime Normal (CRT=3) sem o grupo IBSCBS, quando a regra for aplicável.

Descubra quais produtos mantêm um padrão com risco de rejeição em agosto.

Entender a regra é a parte fácil. O problema é saber quais dos seus milhares de SKUs estão fora, e isso está todo no XML que você já tem guardado no disco.

Baixar para Windows Ver demonstração Planos Assinar o Escritório

A varredura é gratuita para sempre e de código aberto: sem cadastro, sem upload, sem conta. Exportação e automação nos planos pagos, com 14 dias de teste grátis.

DEMONSTRAÇÃO VISUAL · nenhum dado fiscal real

De acervo para fila de ação em minutos.

O aplicativo local transforma ocorrências repetidas numa lista de produtos que o cadastro consegue corrigir.

XMLs lidos4.127lote local
Ocorrências8.102não são 8.102 tarefas
SKUs a corrigir214fila exportável no teste

Um clique no Windows — ou um comando na automação

Abra o aplicativo, arraste XMLs ou um ZIP e veja o dashboard local. Para ERP, servidor ou CI, a mesma análise continua disponível pelo terminal:

$ rtc-check ./xmls

  RTC Check | prontidão para a Reforma Tributária
  ----------------------------------------------------
  Corte da obrigatoriedade (CRT=3): 03/08/2026  (9 dias)

  XMLs lidos ............... 4127
  Notas em escopo (CRT=3) .. 3980
  Itens analisados ......... 21544

  Bloqueios ................ 8102
  Alertas .................. 341
  SKUs a corrigir .......... 214

214, não 8.102. Essa é a diferença que importa. O cadastro do produto se corrige uma vez; o mesmo SKU quebrado aparece em milhares de notas. Relatório que conta ocorrência em vez de produto transforma um dia de trabalho numa parede intransponível.

Entrega pronta: no plano Escritório, a interface baixa um único ZIP com relatório HTML imprimível, fila CSV, auditoria JSON e manifesto. Os XMLs originais permanecem fora do pacote.

Os números acima são de um acervo de exemplo. Os seus saem da primeira execução, que leva alguns segundos.

Por que roda na sua máquina

Nota fiscal não se manda para desconhecido

Seu XML tem cliente, preço, margem e volume. Não existe motivo para isso subir para o servidor de ninguém só para conferir um campo.

Dependências mínimas e auditadas

defusedxml protege o parser e cryptography verifica licenças assinadas. O restante é Python e código aberto.

Nenhuma conexão externa

A interface abre somente em 127.0.0.1. Você pode rodar com a máquina desconectada e conferir o fluxo no código.

O que ele verifica

CódigoSeveridadeVerificaçãoPlano
RTC001bloqueio Grupo pai IBSCBS ausente quando exigido pela UB12-10 gratuito
RTC002bloqueio IBSCBS presente, mas sem cClassTrib gratuito
RTC003bloqueio CST do IBS/CBS ausente ou inexistente na tabela oficial gratuito
RTC004bloqueio CST exige gIBSCBS, mas o grupo não foi informado gratuito
RTC005bloqueio CST proíbe gIBSCBS, mas o grupo foi informado gratuito
RTC006bloqueio cClassTrib inexistente ou não vigente para NF-e na tabela oficial gratuito
RTC007bloqueio cClassTrib incompatível com o CST informado no item gratuito
NCM001bloqueio NCM ausente ou fora do formato de 8 dígitos pago
GTIN001alerta Dígito verificador GS1 inválido ou malformado. cEAN vazio só alerta a partir do layout 4.00 pago

As cinco regras do corte de agosto são gratuitas, de propósito: elas respondem à pergunta que tem prazo. NCM001 e GTIN001 são higiene de cadastro, valem o ano inteiro e não têm data marcada.

Emitente do Simples Nacional (CRT=1 e 2) não gera bloqueio: a transição deles segue regra própria e não cai no corte de agosto. Apontar bloqueio onde não existe é pior que não apontar nada. Um relatório com falso positivo é um relatório que ninguém lê até o fim.

Pelo mesmo motivo, o cEAN vazio é avaliado conforme a versão do layout da nota. O literal SEM GTIN só nasceu no 4.00: numa nota de 2015 o campo vazio era o jeito certo de dizer que o produto não tem código de barras. Essa regra foi corrigida depois de rodar contra NF-e reais e ver a ferramenta acusar exatamente isso.

Regra rastreável, não caixa-preta.

Snapshot atual: NT 2025.002-RTC v1.50 · tabela cClassTrib do IT 2025.002 v1.60.

O relatório identifica a referência usada. Antes de uma emissão, confirme a nota corrigida no validador oficial.

Ver fontes, versão e processo de atualização

O que ele não é

Não é validador de schema, e não tenta ser. O validador oficial do SEFAZ-RS é a fonte de verdade para conformidade estrutural, e é gratuito.

A diferença é o escopo: o oficial valida uma nota por vez. Se você tem quatro mil notas e não sabe por onde começar, ele não ajuda. O RTC Check varre o acervo inteiro e diz onde olhar. Depois de corrigir, confirme no oficial.

Ele confere regras selecionadas de presença, formato e compatibilidade com o CST. Como a entrada é um acervo histórico, o achado significa risco caso o mesmo padrão de emissão continue após o corte. Não é uma reimplementação completa das regras de validação do SEFAZ.

Todo relatório registra as referências aplicadas: Nota Técnica 2025.002-RTC v1.50 e Informe Técnico 2025.002 v1.60 para a tabela CST/cClassTrib. Se a norma mudar, o relatório mostra qual fotografia regulatória foi usada.

Começar

Windows: baixe o ZIP da release, extraia e abra RTC-Check.exe. Não precisa instalar Python.

Baixar RTC Check Desktop

Terminal e automação: precisa de Python 3.11 ou mais novo. Ainda não está no PyPI:

pip install "rtc-check @ git+https://github.com/TaynanGT/rtc-check.git"
rtc-check ./pasta-com-xmls

Ou sem instalar nada permanente:

uvx --from git+https://github.com/TaynanGT/rtc-check.git rtc-check ./pasta-com-xmls

Em produção, fixe uma versão em vez de acompanhar a main: acrescente a tag da release à URL, como em ...rtc-check.git@v0.4.1. As tags estão em releases.

O agrupamento interno usa documento do emitente + SKU. Códigos iguais de empresas diferentes não são misturados; o detalhamento visual por CNPJ está disponível com --por-cnpj.

Isso é o plano gratuito, e já responde se você tem bloqueio e em quantos SKUs. Os comandos abaixo fazem parte dos planos pagos. Para experimentar todos por 14 dias, sem cadastro e sem cartão:

rtc-check --iniciar-teste

Relatório em HTML, para mandar ao contador ou à diretoria:

rtc-check ./xmls --formato html --saida prontidao.html

Planilha, para o time de cadastro trabalhar em cima:

rtc-check ./xmls --formato csv --saida skus.csv

Dentro de um pipeline, travando o build se aparecer bloqueio:

rtc-check ./xmls --falhar-em-bloqueio

E, na semana seguinte, o que o time de fato corrigiu:

rtc-check ./xmls --comparar prontidao-da-semana-passada.json

Para ver o que está liberado na sua instalação: rtc-check --plano

Desempenho

Medido na máquina de desenvolvimento, com acervo sintético de 2.000 notas e 10.000 itens:

MétricaResultado
Tempo total1,43 s
Pico de memória6 MB
QualidadeCI em Windows, macOS e Linux
CompatibilidadePython 3.11 a 3.14

Há um teste de volume no repositório que trava o build se o tempo ou a memória saírem da ordem de grandeza. Você pode reproduzir com pytest -s.

Escolha o fluxo que você precisa vender ou operar.

Escritórios e times fiscais

Varra vários emitentes, entregue a fila em CSV/PDF e compare a evolução depois da correção do cadastro.

Quero avaliar o plano Escritório

ERP e parceiros de implantação

Use o CLI no pipeline, ofereça auditoria local ao cliente e avalie a licença Plataforma para redistribuição.

Quero falar sobre Plataforma

Preço

Assinar o Escritório — R$ 149/mês

Pagamento por Pix, cartão ou boleto, direto no Mercado Pago. A chave de licença chega no seu e-mail minutos depois da aprovação — sem formulário e sem espera.

ComunidadeEscritório
PreçoR$ 0, para sempre R$ 149/mês
ou R$ 1.490/ano
Varredura local ilimitadasimsim
Regras do corte (RTC001 a RTC007) simsim
Contagem de bloqueios e SKUssimsim
Lista detalhada de SKUs5 primeiros completa
Regras de cadastro (NCM001, GTIN001) nãosim
Saída em JSON, CSV, HTML e pacote ZIPnãosim
Gravar relatório em arquivonãosim
Travar o build no CInãosim
Detalhamento por CNPJnãosim
Comparativo entre execuçõesnãosim
Atualização de regrasvia GitHub prioritária e versionada
Suporteissues públicase-mail, 1 dia útil

Precisa embarcar o RTC Check num produto fechado ou oferecê-lo como serviço? Isso é o plano Plataforma, sob consulta, e é o único que inclui licença de redistribuição.

Teste a coluna da direita inteira por 14 dias. Sem cadastro, sem cartão, sem rede: o comando grava um arquivo local e pronto.

rtc-check --iniciar-teste

O plano gratuito não é isca. Ele responde inteira a pergunta que trouxe você até aqui, que é "meu padrão atual tem risco de rejeição em agosto?". O que se paga é o trabalho que vem depois da resposta: entregar a lista para quem corrige, travar o pipeline, acompanhar a fila andar e receber atualizações priorizadas após a revisão técnica de cada NT.

A NT 2025.002 já passou de trinta revisões. Uma varredura é foto; a obrigação é filme.

O código é aberto, então a trava dos recursos pagos está lá no repositório e dá para removê-la. Isso é conhecido e não vai mudar: fechar o código custaria a única coisa que faz alguém apontar uma pasta de notas fiscais para este programa, que é conseguir ler o que ele faz. A assinatura não vende acesso ao binário.

Assinar com Mercado Pago

O pagamento é processado pelo Mercado Pago (Pix, cartão ou boleto) e a chave de licença chega por e-mail minutos após a aprovação. A página de compra pode levar até um minuto para abrir na primeira visita.

Estime o tamanho da triagem manual.

Estimativa educativa feita no navegador; nenhum valor é enviado.

≈ 33,3 horas de conferência manual por lote.

Não é promessa de economia: o ganho real depende do acervo, das regras e do processo da equipe.

Perguntas frequentes

O RTC Check garante conformidade?

Não. Ele faz triagem dentro da cobertura declarada e encaminha a confirmação para o validador oficial.

O que é a rejeição 1115?

É o risco associado à ausência do grupo IBS/CBS em item no escopo monitorado pela UB12-10.

Meus XMLs vão para a Internet?

Não no Desktop: o servidor escuta em 127.0.0.1 e os temporários são apagados ao terminar.

Ver FAQ operacional completa ↗

Receba o próximo passo comercial de forma privada.

Informe somente dados de contato. Nunca envie XML, CNPJ, chave de NF-e ou credenciais.

O recebimento é configurável e não usa issue pública. Consulte o guia de captação privada antes de ativar um endpoint.