Checa NotaVerificador IBS/CBS

Início › Regras verificadas

Regras verificadas

Somente regras de fontes oficiais. Nada inventado. Onde há dúvida, está marcado [INCERTO].

Fontes

  • NT 2025.002-RTC v1.52 (NF-e/NFC-e, IBS/CBS/IS), Portal SVRS > NF-e > Documentos: https://dfe-portal.svrs.rs.gov.br/NFe/Documentos (arquivo NT_2025.002_v1.52_RTC_NF-e_IBS_CBS_IS.pdf). Portal Nacional: https://www.nfe.fazenda.gov.br/portal/listaConteudo.aspx?tipoConteudo=04BIflQt1aY=
  • Tabela cClassTrib e Tabela de Indicadores de CST, IT 2025.002 v1.70 (IT 2025.002 v.1.70 - cClassTrib.xlsx, abas "cClass 2026-09-01" e "CST 2026-09-01"), mesmo portal. Convertida para tabelas.json (173 cClassTrib, 18 CST).
  • Schemas PL_010b_NT2025_002_v1.30 (DFeTiposBasicos_v1.00.xsd, tipos TCIBS, TRed, TDif, TIBSCBSTot): nomes e hierarquia das tags.
  • LC 214/2025: https://www.planalto.gov.br/ccivil_03/leis/lcp/lcp214.htm (arts. 343, 344 e 346: alíquotas de teste).
  • CGIBS, prazo de adequação dos emissores: https://www.cgibs.gov.br/prazo-para-adequacao-dos-sistemas-de-emissao-de-notas-fiscais-ao-regulamento-do-ibs-encerra-em

Tolerância de R$ 0,01 nos cálculos (Observação das RVs UB35, UB54, UB67).

Regras cobertas (NF-e 55 e NFC-e 65)

Regra NTO que verificaSeveridade
UB12-10Item sem grupo imposto/IBSCBS. Produção p/ CRT 3 desde 03/08/2026; Simples/MEI a partir de 04/01/2027 (Obs. 2 e 3). Em finNFe 2/4 vira aviso (Exceção 1). Exceção 2 (combustíveis monofásicos por cProdANP) não implementada.erro
UB13 (formato) / UB13-10CST com 3 dígitos e existente na tabelaerro
UB14 (formato) / UB14-10cClassTrib com 6 dígitos e existenteerro
UB14-20cClassTrib compatível com o CST (coluna CST da tabela)erro
UB14-25cClassTrib permitido no modelo (indNFe / indNFCe)erro
VigênciadhEmi dentro de dIniVig/dFimVig da tabela. [INCERTO]: não achei RV explícita na NT; derivado da tabelaaviso
UB13-20 / UB13-30gIBSCBS vedado/exigido por ind_gIBSCBS (exceção tpNFDebito=07 não aplicada, pois lemos tpNFCredito apenas)erro
UB13-39 / UB13-40gIBSCBSMono vedado/exigido (UB13-40 é "implementação futura" → aviso)erro / aviso
UB15Presença de gIBSUF, gIBSMun, gCBS, vIBS (ocorrência 1-1 no leiaute)erro
UB18-10pIBSUF = 0,10% (2025-2026), 0,05% (2027-2028); 0 se cClassTrib com ind_gTribRegular=1; não aplicada em finNFe=4 ou tpNFCredito 03/04/06erro
UB37-10pIBSMun = 0% (2025-2026), 0,05% (2027-2028); mesmas exceçõeserro
UB56-10pCBS = 0,9% (2025-2026). pCBS = 0 vira aviso (Exceção 3 ZFM/ALC não verificada em detalhe). 2027+ não verificado (alíquota a publicar)erro / aviso
UB22/UB40/UB59gDif vedado/exigido por ind_gDif (UF, Mun, CBS)erro
UB23/UB42/UB61vDif = vBC × alíquota × pDiferro
UB26/UB45/UB64gRed vedado/exigido por ind_gRed (exceção compra governamental: se gCompraGov existir, não acusa vedação)erro
UB27/UB46/UB65pRedAliq igual a pRedIBS/pRedCBS da tabela cClassTriberro
UB28/UB47/UB66pAliqEfet = alíquota × (1 − pRedAliq/100), tolerância 0,0001 p.p. [INCERTO]: fórmula conforme descrição do campo; arredondamento não especificadoerro
UB35-10 / UB54-10 / UB67-10vIBSUF, vIBSMun, vCBS = vBC × (alíq. ou pAliqEfet)/100 − vDif − vDevTriberro
UB54a-10vIBS = vIBSUF + vIBSMun (aviso se houver gCredPresOper, pois o indDeduzCredPres da tabela cCredPres não é carregado)erro / aviso
UB16-10vBC = vProd+vServ+vFrete+vSeg+vOutro+vII−vDesc−vPIS−vCOFINS−vICMS−vICMSUFDest−vFCP−vFCPUFDest−vICMSMono−vISSQN+vIS. "Implementação futura, aguardando orientação normativa" → só avisoaviso
W34-10 / W34-20IBSCBSTot vedado sem itens com IBSCBS / exigido com itenserro
W35, W38, W41, W43, W46, W47, W53, W56Totais (vBCIBSCBS, vDif, vIBSUF, vIBSMun, vIBS, vCBS) = soma dos itenserro
Leiaute (XSD)Ordem, obrigatoriedade e formato decimal de IBSCBS (TTribNFe/TTribNFCe), gIBSCBS (TCIBS: vBC, gIBSUF, gIBSMun, vIBS, gCBS com gDif/gDevTrib/gRed) e total/IBSCBSTot (TIBSCBSMonoTot: vBCIBSCBS, gIBS, gCBS). Valores: padrão TDec1302RTC; percentuais: TDec_0302_04RTC (DFeTiposBasicos_v1.00.xsd, PL_010b_NT2025_002 v1.30). Tags desconhecidas dentro desses grupos acusam erro. Subgrupos gIBSCBSMono, gTransfCred, gAjusteCompet, gEstornoCred, gCredPres*, gTribRegular, gTribCompraGov, gMono: só a posição é verificada, não o conteúdo. Não substitui validação completa contra o XSD (o resto da NF-e não é validado).erro
VB01-05vItem ausente quando há gIBSCBS ("implementação futura")aviso
VB01-10vItem = vProd − vDesc − vICMSDeson (indDeduzDeson=1) + vICMSST + vICMSMonoReten + vFCPST + vFrete + vSeg + vOutro + vII + vIPI + vIPIDevol + PIS-ST/COFINS-ST (indSoma=1); de 2027 em diante + vIBS + vCBS + vIS (Exceção 1: em 2025-2026 não somar IBS/CBS/IS). Não somados: vServ e vTotIBSMonoItem/vTotCBSMonoItem. Ignorado para veículos novos (VB01-20). "Implementação futura"aviso
W60-05 / W60-10vNFTot ausente com IBSCBSTot / vNFTot ≠ soma dos vItem ("implementação futura")aviso
TamanhoXML acima de 5 MB é recusado com mensagem (proteção do navegador)erro

Testes

node --test test/ cobre cada regra acima com amostras (amostras/01..10) e mutações da nota válida (32 testes).

Ainda NÃO cobertas

  • NFS-e (padrão nacional) e CT-e/BP-e/NF3e/NFCom.
  • Imposto Seletivo (UB01–UB11; IS "implementação futura").
  • Monofásico (gIBSCBSMono, W57–W59d), transferência de crédito (UB13-44/45), crédito presumido (UB120–UB134, W48, W56a), ZFM (gCredPresIBSZFM, gALCZFMCBS), estorno de crédito (W59e–g), ajuste de competência, tributação regular (gTribRegular/UB68), compras governamentais (detalhe), devolução de tributos (UB24/43/62/63), notas de débito/crédito (tpNFDebito/tpNFCredito, UB14-60/70/80).
  • Validação do XSD completo da NF-e (só os grupos IBS/CBS são checados), assinatura digital e situação na SEFAZ.
  • Alíquotas de 2027 em diante (CBS cheia a publicar).

Perguntas em aberto

  • A tabela cClassTrib muda com frequência (v1.70, aba de 2026-09-01). Precisamos atualizar tabelas.json a cada nova versão.
  • Vigência por data de emissão: confirmar se a SEFAZ rejeita por cClassTrib fora de vigência.