O que o motor cobre, o que não cobre, como uma regra muda e o que acontece se você quiser sair. Tudo aqui pode ser conferido contra a NT 2025.002 e a tabela oficial de cClassTrib.
Base normativa: NT 2025.002 v1.51 (publicada em 01/08/2026); tabela CST/cClassTrib do portal SVRS CFF (publicação de 22/06/2026: 18 CST, 164 códigos); tabela cCredPres (Anexo IV, 13 códigos); LC 214/2025; ADCT art. 125.
Documento auditado: NF-e modelo 55, emitida ou recebida pelos CNPJs da carteira. Você informa a lista de CNPJs; nota cujo emitente está na lista é tratada como emitida, nota cujo destinatário está na lista é tratada como recebida.
Treze regras ativas. Cada uma tem identificador, severidade, campo do XML, mensagem em português, fonte e vigência.
| Regra | O que verifica | Severidade | Fonte | Vigência |
|---|---|---|---|---|
IBSCBS-001 | Grupo IBSCBS ausente em NF-e emitida por Regime Normal (CRT 3). Não se aplica a complementar (finNFe 2) e devolução (finNFe 4). | Rejeição | NT 2025.002 v1.51, UB12-10 (rej. 1115); obrigação desde 03/08/2026; rejeição automática adiada sem data (Ato Técnico Conjunto CGIBS/RFB nº 1/2026, nota CGIBS 06/08/2026) | obrigação desde 03/08/2026 · rejeição adiada |
IBSCBS-002 | CST IBS/CBS fora da tabela oficial. | Rejeição | NT v1.51, UB13-10 (rej. 1020); tabela CST SVRS CFF | desde 01/01/2026 |
IBSCBS-003 | cClassTrib inexistente, não permitido em NF-e ou fora de vigência na data de emissão. | Rejeição | NT v1.51, UB14-10 (rej. 1023); tabela cClassTrib | desde 01/01/2026 |
IBSCBS-004 | cClassTrib incompatível com o CST informado. | Rejeição | NT v1.51, UB14-20 (rej. 1024); tabela cClassTrib | desde 01/01/2026 |
IBSCBS-005 | Alíquota base diferente da alíquota de teste de 2026 (IBS UF 0,1%, IBS Mun 0%, CBS 0,9%; zero quando o cClassTrib exige tributação regular). Não se aplica a devolução (finNFe 4) nem a nota de crédito tipo 03/04/06; aceita CBS zero em operação dentro da mesma área incentivada (ZFM/ALC) com NCM não vedado. | Rejeição | NT v1.51, UB18-10, UB37-10, UB56-10 e exceções 2 e 3; LC 214 arts. 343 e 346; ADCT art. 125 | 01/01 a 31/12/2026 |
IBSCBS-010 | cClassTrib com redução de alíquota sem grupo gRed coerente (pRedAliq e pAliqEfet). | Rejeição | NT v1.51, UB28-10, UB47-10, UB65-10/66-10; tabela cClassTrib | desde 01/01/2026 |
IBSCBS-006 | Valor de IBS/CBS diferente de base × alíquota (efetiva quando há redução) menos diferimento e devolução, tolerância R$ 0,01; vIBS desconta o crédito presumido quando o cCredPres deduz. | Rejeição | NT v1.51, regras de cálculo (rej. 1041, 1069) e UB54a-10 (rej. 1150); tabela cCredPres | desde 01/01/2026 |
IBSCBS-007 | Totalizador IBSCBSTot ausente ou diferente da soma dos itens. | Rejeição | NT v1.51, W34-20, W35-10 (rej. 1076) | desde 01/01/2026 |
IBSCBS-008 | Grupo IBSCBS ausente em NF-e de Simples Nacional/MEI (CRT 1, 2, 4). | Rejeição | NT v1.51, UB12-10; produção para CRT 1/2/4 em 04/01/2027 | a partir de 04/01/2027 |
IBSCBS-009 | Nota recebida de fornecedor do Regime Normal sem destaque de IBS/CBS: crédito não apropriável na apuração assistida. Não se aplica a complementar, devolução, nota de crédito e nota de débito (finNFe 2, 4, 5, 6). | Crédito | LC 214/2025 art. 47 | desde 03/08/2026 |
IBSCBS-011 | Tipo de nota de crédito/débito (tpNFCredito/tpNFDebito) incoerente com a finalidade (finNFe) ou com o tipo de operação (tpNF); crédito presumido ZFM (tipo 02) antes de 2029. | Rejeição | NT v1.51, B25-110/120, B25.1-10/20, B25.2-10/20/30 (rej. 1161, 1162, 1139, 1009, 1163, 1164, 1145) | desde 01/01/2026 |
IBSCBS-012 | cClassTrib incompatível com o tipo de nota de crédito/débito (ex.: 410030 só com débito 07; 810001 só com crédito 02). | Rejeição | NT v1.51, UB14-60/70/80 (rej. 1200, 1201, 1202) | desde 01/01/2026 |
IBSCBS-013 | Crédito presumido da operação (gCredPresOper) com cClassTrib que não o permite, código cCredPres inexistente, tributo incoerente com o código ou valor acima de vProd (código 04). | Rejeição | NT v1.51, UB120-20, UB122-10, UB123-10/20, UB125-10, UB127-10; tabelas cClassTrib e cCredPres | desde 01/01/2026 |
Como o motor decide. As regras acima são determinísticas: rodam sobre o XML e produzem o achado. O modelo de linguagem (Claude) recebe o achado pronto e escreve a explicação em português de contador e a ação sugerida. Ele nunca cria, remove ou reclassifica achado.
Validação pública. O motor foi rodado sobre os "Exemplos RTC" publicados pela Unimake (CST 000, 200, 410, 510, 515, 550, 620, ZFM, devolução, notas de débito e crédito) sem nenhum falso positivo; os únicos achados foram em exemplos com CBS 0,8% (versão antiga da NT) ou totalizador zerado. Isso prova precisão nas regras cobertas. Não prova que o motor encontra todo erro possível, e por isso o escopo abaixo está escrito.
tpNFCredito), CBS zero por NCM em área incentivada (ZFM/ALC) e crédito presumido (vCredPres). Ainda fora: validação da inscrição na Suframa, indBemMovelUsado, compra governamental (gCompraGov), diferimento além da subtração de vDif, monofasia (gIBSCBSMono) e Imposto Seletivo. Nota com achado nessas situações merece conferência humana antes de corrigir no ERP.tpNF=1) do CNPJ informado; entradas não entram na receita; exige do contador duas premissas explícitas (a parcela do DAS substituída e as alíquotas regulares), que vão na capa. É cenário, não recomendação.Cada regra vive num arquivo JSON legível, com id, descrição, severidade, condição, campo, mensagem, fonte e vigência. A tabela cClassTrib é importada por script do portal SVRS CFF, com data de publicação registrada. A NT usada é guardada com hash SHA-256 e data de download.
Toda mudança entra no changelog abaixo com data, versão e motivo, regra por regra. Cada relatório indica a versão das regras usada.
2026-09-21 — v1.3
tpNFCredito, pCBS zero por NCM/área incentivada e vCredPres.ide/tpNFCredito, ide/tpNFDebito, enderEmit/cMun, enderDest/cMun, gCBS/gALCZFMCBS e IBSCBS/gCredPresOper (cCredPres, gIBSCredPres, gCBSCredPres).rules/ccredpres.json (Anexo IV, importada do portal SVRS CFF por scripts/import-ccredpres.ts; 13 códigos, indicador deduzCredPres), rules/areas-incentivadas.json (municípios ZFM/ALC e NCM vedados da UB56-10 Exceção 3), rules/tpnf-cclasstrib.json (compatibilidade cClassTrib × tpNFDebito/tpNFCredito, UB14-60/70/80). rules/cclasstrib.json ganha permiteCredPres (IndPermiteCredPres do portal; tabela sem mudança de conteúdo desde 22/06/2026).finNFe=4) e nota de crédito tipo 03/04/06 (Exceção 2 de UB18-10/UB37-10/UB56-10); aceita pCBS=0 quando emitente e destinatário estão na mesma área incentivada e o NCM não é vedado (Exceção 3 de UB56-10) ou quando gALCZFMCBS está preenchido (Exceção 3 de UB56-20). Antes, esses casos gerariam falso positivo.vIBS = vIBSUF + vIBSMun − vCredPres quando o cCredPres tem indDeduzCredPres=1 (UB54a-10, rej. 1150). Códigos que deduzem hoje: 04, 07 e 11.finNFe 2/4/5/6 (complementar/devolução podem referenciar nota anterior a 2026; nota de crédito/débito não é aquisição). Conservador: evita apontar crédito perdido onde a NT nem exige o grupo.finNFe/tpNF, e tpNFCredito=02 antes de 2029 (B25-110/120, B25.1-10/20, B25.2-10/20/30; rej. 1161, 1162, 1139, 1009, 1163, 1164, 1145).gCredPresOper com cClassTrib que não permite crédito presumido, cCredPres inexistente, grupo IBS/CBS incoerente com o código, ou vCredPres > vProd no código 04 (UB120-20, UB122-10, UB123-10/20, UB125-10, UB127-10). A exceção indBemMovelUsado=1 do UB120-20 não é lida.Arquivos_RTC, Elgin SmartDFeElgin, akretion nfelib), via scripts/baixar-exemplos-publicos.sh. Resultado em docs/VALIDACAO-EXEMPLOS-PUBLICOS.md: nenhum achado novo em exemplo correto; a única regra nova que dispara (IBSCBS-012) aponta um exemplo de nov/2025 com tpNFDebito=07 e cClassTrib 000001, que a NT v1.51 de fato rejeita (1200).2026-09-20 — v1.2
fonte para notaInterna, que não vai para o relatório.2026-09-11 — v1.1
aplicaSe passa a excluir finNFe 2 (complementar) e 4 (devolução) — a NT isenta essas finalidades da exigência de IBSCBS, evitando falso positivo em devolução/complementar.falhaSe passa a checar também cclasstrib[cClassTrib].nfe (código não permitido em NF-e) e dFimVig (código fora de vigência na data de emissão), além de existência; mensagem atualizada.falhaSe deixa de disparar para CST não sujeito a IBS/CBS (fora de 000,010,011,200,220,221,222) sem gIBSCBS — corrige falso positivo de crédito perdido em CST isento/imune/não tributado.2026-09-11 — v1
O que a Mozart não garante: que nenhuma nota será rejeitada, que não haverá multa, que o crédito será integralmente aproveitado. Isso depende da correção no ERP, do fornecedor e do Fisco.
O que garante é o processo, com penalidade mensurável, escrita no contrato:
| Compromisso | Medida | Se falhar |
|---|---|---|
| Relatório semanal por CNPJ | Entregue até segunda-feira 9h, cobrindo XML recebido até sexta 18h | Mês não cobrado (crédito na fatura seguinte) |
| Atualização de regras | Comunicado de impacto em até 5 dias úteis após publicação da NT ou tabela; regra do escopo coberto em vigor antes da produção da SEFAZ e em até 10 dias úteis | Mês não cobrado |
| Falso positivo confirmado | Corrigido em até 2 dias úteis, registrado no changelog | Mês não cobrado se repetir no mesmo mês |
| Primeira resposta a chamado | Até 4 horas úteis (dia útil, 9h às 18h) | Registro; 2 falhas no mês = mês não cobrado |
| Incidente que pare o relatório | Tratado em até 1 dia útil | Mês não cobrado |
| Dados | Servidor da Hostinger em Boston (EUA); XML apagado 30 dias após o processamento; sem certificado digital | Rescisão imediata pelo cliente, sem aviso |
Como a garantia é aplicada. O crédito equivale à mensalidade do mês de competência em que a falha ocorreu e é lançado na fatura seguinte; falhas de mais de um compromisso no mesmo mês geram um único crédito. Não conta como falha o atraso causado por XML entregue fora do prazo combinado, por indisponibilidade de portal público (SEFAZ, SVRS, Receita), do provedor de hospedagem ou da API de linguagem, nem por instrução do próprio escritório. O crédito é a única consequência do descumprimento desses compromissos; a Mozart não garante ausência de rejeição, de multa ou aproveitamento de crédito, que dependem da correção no ERP, do fornecedor e do Fisco. Esta tabela e estas regras constam do contrato com a mesma redação.
Francis Andrade, desenvolvedor. 15 anos construindo software para web, desde 2011: quase cinco como engenheiro sênior na Trustly (pagamentos), dois na Music AI com integrações de pagamento (Stripe, PayPal, EBANX), CMS e CI/CD; antes, Wine.com.br e Rede Gazeta, onde automatizou pipelines de conteúdo. Hoje integra sistemas e automatiza processos com n8n e agentes de IA. Formado em Design Gráfico pela UFES e técnico em programação.
Construiu o motor do Auditer: parser de XML de NF-e, regras determinísticas da NT 2025.002 e da tabela cClassTrib, geração de relatório e laudo. Cada regra tem fonte e versão porque, sem ser contador, a única forma honesta de afirmar algo sobre uma nota é apontar onde a norma diz isso.
Não é contador. Não decide regime, não emite parecer, não substitui o escritório.
Mozart Consultoria em TI — Francis M. Silva de Andrade Sucupira LTDA, CNPJ 54.168.408/0001-04, Vitória, ES. Empresa de uma pessoa, aberta em maio de 2026: quem escreveu a regra é quem responde o WhatsApp. A experiência que sustenta o produto é a dos 15 anos do fundador, não o tempo da empresa.
Atendo Aracruz · Linhares · Serra · Vitória · Vila Velha · Cachoeiro e empresas do Brasil inteiro, online. Não é do ES? Me chama no WhatsApp.