DEV Community

AppVerix
AppVerix

Posted on

IBS/CBS na NF-e: como gerar e validar o grupo IBSCBS no XML (NT 2025.002-RTC)

Transparência: este post foi escrito pela AppVerix, que desenvolve o Checa Nota, um verificador gratuito citado na seção 4. Não há links de afiliado.

IBS/CBS na NF-e: como gerar e validar o grupo IBSCBS no XML

A reforma tributária do consumo já aparece na nota fiscal. Desde 2026, a NF-e e a NFC-e têm um grupo próprio para o IBS e a CBS. Pela regra de validação UB12-10 da Nota Técnica 2025.002-RTC (versão 1.52, publicada em 01/10/2026), a nota sem esse grupo passa a ser rejeitada, primeiro para quem está no Regime Normal e depois para o Simples Nacional e o MEI. Para quem desenvolve ERP, emissor ou integração fiscal, isso significa gerar um grupo novo no XML, com códigos de tabela, alíquotas por ano, contas que precisam fechar no centavo e ordem de campos imposta pelo XSD. Para quem faz suporte fiscal, significa explicar a rejeição para o cliente.

Este post mostra onde ficam esses campos no XML, quais regras da NT os validam e um checklist que dá para transformar em testes automatizados. O texto também serve para contadores. A seção 5 traz o fluxo que sugerimos para escritórios.

Aviso: este texto é um resumo técnico, não é parecer. A fonte que vale é a versão vigente da NT 2025.002-RTC publicada no Portal da NF-e (a v1.52 é a mais recente no momento em que escrevemos) e a Lei Complementar 214/2025. Antes de aplicar qualquer regra, confira na versão mais recente da NT.

1. O contexto em poucas linhas

  • A LC 214/2025 criou o IBS (Imposto sobre Bens e Serviços, de estados e municípios), a CBS (Contribuição Social sobre Bens e Serviços, federal) e o Imposto Seletivo. Ela também mandou adaptar os documentos fiscais eletrônicos para receber essas informações.
  • A NT 2025.002-RTC ("Reforma Tributária do Consumo – Adequações NF-e / NFC-e") criou o Grupo UB ("Informações dos tributos IBS / CBS e Imposto Seletivo") no item da nota e o grupo de totais W03 ("Total da NF-e - IBS / CBS / IS").
  • 2026 é o ano de teste. Os arts. 343 e 346 da LC 214/2025 definem CBS de 0,9% e IBS de 0,1% (o IBS é dividido entre a parcela da UF e a do município, e a municipal fica em 0% em 2026). O art. 344 trata de 2027 e 2028.
  • A Receita Federal mantém uma página sobre o tema: Reforma Tributária do Consumo – Receita Federal.

Datas de rejeição (regra UB12-10 da NT 2025.002-RTC v1.52, Observações 1 a 3)

Quando Quem O que acontece
01/07/2026 Regime Normal (CRT 3) Rejeição em homologação
03/08/2026 Regime Normal (CRT 3) Rejeição 1115, "Grupo IBSCBS não informado", em produção
04/01/2027 Simples Nacional e MEI (CRT 1, 2 e 4) Rejeição 1115 em produção

A própria regra traz exceções: não se aplica, por exemplo, à NF-e de devolução (finNFe = 4) ou complementar (finNFe = 2) que referencia nota emitida antes de 2026, nem a combustíveis da tabela de tributação monofásica (Exceções 1 e 2 da UB12-10). Quem é do Simples ainda tem até janeiro de 2027. Vale usar esse prazo para revisar o emissor de cada cliente com calma, sem deixar para a última semana.

2. Onde ficam os campos no XML

Os campos de IBS/CBS ficam dentro de cada item (det/imposto), no grupo IBSCBS, e os totais ficam em total/IBSCBSTot. Abaixo vai um exemplo ilustrativo de um item com base de cálculo de R$ 1.000,00 em 2026, com tributação integral:

<det nItem="1">
  <prod>
    <!-- ... dados do produto ... -->
  </prod>
  <imposto>
    <!-- ICMS, PIS, COFINS continuam existindo -->
    <IBSCBS>
      <CST>000</CST>
      <cClassTrib>000001</cClassTrib>
      <gIBSCBS>
        <vBC>1000.00</vBC>
        <gIBSUF>
          <pIBSUF>0.1000</pIBSUF>
          <vIBSUF>1.00</vIBSUF>
        </gIBSUF>
        <gIBSMun>
          <pIBSMun>0.0000</pIBSMun>
          <vIBSMun>0.00</vIBSMun>
        </gIBSMun>
        <vIBS>1.00</vIBS>
        <gCBS>
          <pCBS>0.9000</pCBS>
          <vCBS>9.00</vCBS>
        </gCBS>
      </gIBSCBS>
    </IBSCBS>
  </imposto>
</det>
Enter fullscreen mode Exit fullscreen mode

O que cada parte quer dizer:

  • CST: Código de Situação Tributária do IBS/CBS. É diferente do CST de ICMS e de PIS/COFINS.
  • cClassTrib: código de classificação tributária, com 6 dígitos. Ele detalha a situação dentro do CST (tributação integral, redução, diferimento etc.) e precisa existir na tabela oficial (aba "Diversos" do Portal da NF-e).
  • vBC: base de cálculo do IBS e da CBS.
  • gIBSUF / gIBSMun: alíquota e valor das parcelas estadual e municipal do IBS.
  • vIBS: soma das parcelas UF e município.
  • gCBS: alíquota e valor da CBS.

No exemplo, CST 000 ("Tributação integral") e cClassTrib 000001 ("Situações tributadas integralmente pelo IBS e CBS") existem na Tabela de Classificação Tributária do IBS e CBS publicada no Portal da NF-e em 01/10/2026. Mesmo assim, o código certo depende da operação do seu cliente: consulte a tabela antes de usar.

3. Checklist de conferência, campo a campo

3.1 O grupo existe em todos os itens?

O primeiro filtro é o mais simples: todo item det precisa ter IBSCBS dentro de imposto. Essa é justamente a situação da rejeição 1115. Uma nota com dez itens e só nove grupos já tem problema.

3.2 CST e cClassTrib batem entre si?

Confira três coisas:

  1. Os dois códigos existem na tabela oficial.
  2. O cClassTrib é compatível com o CST informado. Cada classificação pertence a um CST.
  3. O código vale para o modelo do documento (55 ou 65) e estava vigente na data de emissão.

É aqui que aparecem os erros de cadastro de produto no ERP, quando alguém copia um código de outro item.

3.3 As alíquotas estão certas para o ano?

Em 2026, confira pCBS = 0,9 (regra UB56-10), pIBSUF = 0,1 (UB18-10) e pIBSMun = 0 (UB37-10). Essas regras têm exceções, por exemplo quando o cClassTrib indica Tributação Regular, e as alíquotas de 2027 e 2028 já estão nelas (0,05% para cada parcela do IBS). Quando o CST indicar redução de alíquota ou diferimento, a NT exige os subgrupos correspondentes. Veja nas regras do Grupo UB quais campos ficam obrigatórios em cada caso.

3.4 As contas fecham?

Refaça a conta de cada item:

  • vIBSUF = vBC × pIBSUF
  • vIBSMun = vBC × pIBSMun
  • vIBS = vIBSUF + vIBSMun
  • vCBS = vBC × pCBS

Depois some os itens e compare com o grupo de totais IBSCBSTot. Diferença de arredondamento costuma ser o erro mais comum. Na prática, se a diferença passa de um centavo, vale investigar.

3.5 O leiaute está certo?

O XML é validado contra o schema (XSD). Por isso também importam a ordem dos campos, se os obrigatórios estão presentes e o formato decimal (ponto como separador e quantidade de casas). Um campo fora de ordem gera rejeição mesmo com o valor certo. A NT também trouxe vItem (valor total do item) e vNFTot (valor total da NF-e com IBS/CBS/IS). Pela regra VB01-05, se o grupo gIBSCBS for informado, o vItem passa a ser obrigatório (rejeição 1137).

4. Como fazer isso em lote

Abrir XML por XML num editor de texto até funciona para uma nota. Para o fechamento de vários clientes, não dá. Na prática, o escritório tem três caminhos:

  1. Relatório do próprio ERP ou emissor. Ajuda, mas costuma mostrar o que o sistema acha que gerou, não o XML final.
  2. Script próprio (Python, por exemplo), lendo os XMLs e aplicando as regras acima. Dá trabalho para manter a cada nova versão da NT.
  3. Um verificador pronto. Foi para isso que nós da AppVerix criamos o Checa Nota, um verificador gratuito e sem cadastro. Você solta os XMLs de NF-e ou NFC-e (ou um .zip, com até 2.000 notas por vez), e ele confere a presença do grupo IBSCBS, CST e cClassTrib, as alíquotas de 2026, as contas e os totais de IBSCBSTot (com tolerância de R$ 0,01) e o leiaute dos campos conforme o XSD. Cada problema vem com a regra da NT, o item e uma sugestão de correção, e o relatório pode ser baixado em CSV. A verificação roda no navegador: os arquivos não são enviados para nenhum servidor. As regras seguem a NT 2025.002-RTC v1.52.

Uma limitação importante, que o próprio Checa Nota deixa clara: ele cobre as regras de IBS/CBS, mas não valida o XML inteiro contra o schema, nem a assinatura digital, nem as demais regras da NF-e. Passar na verificação não garante que a SEFAZ vai autorizar a nota. Use como conferência antes de emitir ou como auditoria das notas já emitidas. Também não há suporte para NFS-e nem CT-e por enquanto.

5. Um fluxo sugerido para o escritório

  1. Exporte os XMLs do mês de cada cliente (do ERP, do emissor ou do portal da SEFAZ).
  2. Rode a conferência em lote e separe as notas com problema.
  3. Agrupe por causa. Normalmente poucos erros se repetem em muitas notas (um cadastro de produto, uma regra do emissor).
  4. Mande para o cliente ou para o suporte do ERP a lista do que ajustar, com a regra da NT ao lado de cada item. Isso encurta muito a conversa.
  5. Priorize os clientes do Simples Nacional e MEI antes de 04/01/2027.

Fontes oficiais

Escrito pela AppVerix, que desenvolve o Checa Nota.

Top comments (0)