Manuais:UniNFe/duv13

De unimake
Revisão de 16h39min de 4 de dezembro de 2025 por Wandrey (discussão | contribs)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

Reforma tributária - Guia introdutório de como implementar os novos impostos nos software de ERP/PDV

Para reduzir a incerteza e padronizar a implementação do IBS/CBS no UNINFE, preparamos este guia introdutório. Ele apresenta, de forma objetiva, o fluxo de decisão para o cálculo e o correto enquadramento tributário por item, indicando quando e como aplicar CST, cClassTrib e, quando cabível, cCredPres. O material segue uma ordem operacional única — começando pela identificação da natureza da operação (onerosa ou não onerosa), passando pela verificação de anexos/benefícios por NCM, tratamento para Administração Pública e setores com regime específico — e termina com validações contra as tabelas oficiais.

O objetivo é dar clareza de ponta a ponta ao desenvolvedor: quais campos preencher, qual regra tem prioridade em cada cenário e como registrar, no sistema, o “porquê” de cada decisão (ex.: anexo aplicado, finalidade de uso, versão da tabela). Assim, você consegue integrar o novo modelo tributário ao emissor com segurança, rastreabilidade e consistência, evitando erros de mapeamento e divergências na apuração.

Fluxo prático IBS/CBS no emissor (NF-e/NFC-e) — passo a passo

  1. Identifique o ITEM (NCM/NBS) e marque como "tributável por padrão"
    1. Regra geral da LC 214/2025: IBS/CBS incidem sobre operações onerosas; a base é ampla. Em sistemas, todo item começa como "Tributado". Você usará a dupla CST+cClassTrib para declarar o enquadramento. [1]
  2. Classifique a OPERAÇÃO: Onerosa x Não Onerosa
    1. Onerosa (há contraprestação/benefício econômico: venda, prestação, etc.): mantém "Tributado" (ex.: CST=000).
    2. Não onerosa (sem contraprestação: transferência entre filiais, remessa para demonstração, doação, etc.): usar CST+cClassTrib de não incidência/isenção/diferimento/suspensão conforme tabela. LC 214/2025 exclui, como regra, as não onerosas - salvo hipóteses expressas. [1]
  3. Antes de "fechar" o CST, verifique BENEFÍCIOS por ANEXOS do NCM
    1. Se o NCM do item está em anexo de benefício (redução/alíquota zero/tratamento específico), o anexo prevalece sobre o padrão (desde que a operação seja onerosa). Para não onerosas, os anexos em regra não se aplicam. O mapeamento concreto vem das tabelas oficiais CST e cClassTrib (publicadas/atualizadas no portal da NF-e). [2][3][4]
  4. Se houver 'mais de um anexo aplicável ao NCM
    1. O usuário deve escolher a finalidade de uso do produto/serviço (ex.: alimento para consumo humano x outro uso; "dispositivo médico" x compra governamental; etc.) para selecionar o cClassTrib correto. (Há códigos 200*** para reduções/benefícios por finalidade.) [3][4]
  5. Destinatário é Administração Pública?
    1. Para compras públicas, há tratamento específico com redução definida em norma própria (percentual ainda sendo regulamentado em etapas). Use os CST/cClassTrib específicos "Governo" quando o destinatário for União/Estados/Municípios/Adm. Indireta, independentemente de anexos "comuns". Acompanhe as tabelas oficiais. [3][4]
  6. Emissor pertence a setores com regime diferenciado?
    1. Certos setores (ex.: hotéis, restaurantes, educação, saúde, transporte público etc.) têm códigos dedicados na cClassTrib/CST que alteram a tributação (reduções/regimes específicos). Exemplos de códigos 200*** ilustram esses casos. Consulte a Tabela Nacional para mapear. [3][4]
  7. (Quando aplicável) Crédito Presumido
    1. Se a operação dá direito a crédito presumido (cCredPres), informe o código conforme a tabela oficial. Mantenha a estrutura dos seus dados e só preencha quando cabível.

Orquestração no sistema (algoritmo de decisão)

Entrada por item: NCM, tipoOperacao (onerosa|naoOnerosa), destinatarioEhGoverno (S/N), setorEmissor (categorizado), finalidadeUso (quando houver mais de um anexo), flags de benefício, elegibilidade cCredPres.

Pseudocódigo (simplificado):

cst = "000"              // padrão: tributado
cClassTrib = "000001"    // cClassTrib inicial compatível

if tipoOperacao == "naoOnerosa":
    (cst, cClassTrib) = mapNaoOnerosa(NCM, naturezaOperacao)  // transferência, doação, demonstração...
    // anexos geralmente não se aplicam aqui
else:
    anexos = buscarAnexosPorNCM(NCM)
    if anexos.vazio():
       (cst, cClassTrib) = mapTributadoPadrao(NCM)       // tributado integral
    else:
       if anexos.temMaisDeUm():
          finalidade = obterFinalidadeUsoUsuario()
          (cst, cClassTrib) = mapAnexo(NCM, finalidade)  // 200xxx, etc.
       else:
          (cst, cClassTrib) = mapAnexo(NCM, anexos[0])
    endif

    if destinatarioEhGoverno: //a partir de 2027
       //AplicarReducaoConformeTabelaGoverno
    endif
endif
        
// Crédito presumido (opcional conforme regra)
cCredPres = elegivelCreditoPresumido ? mapcCredPres(NCM, contexto) : null

Tabelas envolvidas no formato JSON

Você deve popular estas tabelas a seguir em seu software para facilitar a tomada de decisão.

CFX Código Fiscal Expandido

Novo Padrão Fiscal de Operações, do CFOP para o CFX — uma evolução rumo à era IBS e CBS.

Exemplos rápidos

  • Venda normal de mercadoria comum (onerosa)
    • Sem anexo aplicável → CST=000 + cClassTrib “tributado integral”.
    • Sem cCredPres.
  • Transferência entre filiais (não onerosa)
    • Selecionar CST/cClassTrib de não incidência para transferência do mesmo titular.
    • Anexos não se aplicam.
    • Sem cCredPres.
  • Alimento destinado ao consumo humano (onerosa) com anexo de redução
    • NCM com anexo específico (ex.: alimentos/medicamentos/dispositivos) → usar cClassTrib 200*** correspondente ao anexo/finalidade e seu CST indicado.
    • Se elegível a crédito presumido (regras próprias), informar cCredPres.
  • Venda para órgão público (onerosa)
    • Vai utilizar a mesma CST + cClassTrib já definida.
    • Percentuais/reduções definidos em normas/tabelas próprias; acompanhar atualizações.
  • Setor com regime diferenciado (ex.: hotelaria/restaurantes)
    • Mapear cClassTrib setorial (200*** ou afim), conforme tabela.
  • Pode mudar de "tributado integral" para "redução por setor".

Modelos/exemplos de XML com tags da Reforma Tributária

Lives realizadas sobre o tema

Referencias

Links importantes

Explicações sobre a tabela: tabela_ncm.json

A tabela JSON tem 4 situações possíveis para os NCMs:

NCM com CST e cClassTrib próprios (definidos diretamente em lei)

São casos em que a própria legislação define o CST e o cClassTrib específicos para aquele NCM. Nessa situação, os campos CST e **cClassTrib vêm diretamente no corpo do JSON.

Exemplos:

Mediação:

{
	"Codigo": "3003.10.11",
	"Descricao": "Ampicilina ou seus sais",
	"Data_Inicio": "01/04/2022",
	"Data_Fim": "31/12/9999",
	"Tipo_Ato": "Res Camex",
	"Numero_Ato": "272",
	"Ano_Ato": "2021",
	"CST": "200",
	"cClassTrib": "200032"
},

Livro:
{
	"Codigo": "4901.99.00",
	"Descricao": "-- Outros",
	"Data_Inicio": "01/04/2022",
	"Data_Fim": "31/12/9999",
	"Tipo_Ato": "Res Camex",
	"Numero_Ato": "272",
	"Ano_Ato": "2021",
	"CST": "410",
	"cClassTrib": "410008"
},

NCM sem CST e cClassTrib no JSON (definição depende da operação)

Aqui temos NCMs em que CST e cClassTrib não são fixos na tabela, pois dependem do tipo de operação (regra geral da operação), salvo situações específicas (ex.: destinatário governo, ou outra condição que altere o tratamento).

Nesse caso, não são enviados os campos CST e cClassTrib no JSON:

{
	"Codigo": "3002.41.11",
	"Descricao": "Contra a gripe",
	"Data_Inicio": "01/04/2022",
	"Data_Fim": "31/12/9999",
	"Tipo_Ato": "Res Camex",
	"Numero_Ato": "272",
	"Ano_Ato": "2021"
},

NCM com anexos que determinam o cClassTrib (sem mudança de conceito)

São NCMs em que os anexos da legislação determinam o CST e o cClassTrib.

{
	"Codigo": "3002.90.00",
	"Descricao": "- Outros",
	"Data_Inicio": "01/04/2022",
	"Data_Fim": "31/12/9999",
	"Tipo_Ato": "Res Camex",
	"Numero_Ato": "272",
	"Ano_Ato": "2021",
	"Anexos":[{"Legislacao": "LC 214/2025","Anexo": "XIV","CST": "200","cClassTrib": "200009"},
		  {"Legislacao": "LC 214/2025","Anexo": "IX","CST": "200","cClassTrib": "200038"}]
},

NCM com anexos e exceções prioritárias (casos especiais)

São NCMs que possuem Anexos na legislação, mas também exceções específicas que têm prioridade, como é o caso do absorvente e da ampicilina.

Nesses casos:

  • Mantemos o campo Anexos com o tratamento "normal";
  • E criamos o campo Anexos_excecao_prioritaria, para deixar explícito que se trata de uma exceção que deve ser aplicada com prioridade.

Exemplos:

{
	"Codigo": "9619.00.00",
	"Descricao": "Absorventes (Pensos*) e tampões higiênicos, cueiros, fraldas e artigos higiênicos semelhantes, de qualquer matéria.",
	"Data_Inicio": "01/04/2022",
	"Data_Fim": "31/12/9999",
	"Tipo_Ato": "Res Camex",
	"Numero_Ato": "272",
	"Ano_Ato": "2021",
	"Anexos":[{"Legislacao": "LC 214/2025","Anexo": "VIII","CST": "200","cClassTrib": "200035"}],
	"Anexos_excecao_prioritaria": [{"Legislacao": "LC 214/2025", "Artigo": "147", "CST": "200", "cClassTrib": "200013"}]
},

{
	"Codigo": "3004.10.11",
	"Descricao": "Ampicilina ou seus sais",
	"Data_Inicio": "01/04/2022",
	"Data_Fim": "31/12/9999",
	"Tipo_Ato": "Res Camex",
	"Numero_Ato": "272",
	"Ano_Ato": "2021",
	"Anexos":[{"Legislacao": "LC 214/2025","Anexo": "IX","CST": "200","cClassTrib": "200038"}],
	"Anexos_excecao_prioritaria": [{"Legislacao": "LC 214/2025", "Artigo": "133", "CST": "200", "cClassTrib": "200032"}]
},

Por isso, o campo Anexos_excecao_prioritaria foi criado:

  • Para deixar evidente que se trata de uma exceção legal;
  • Para facilitar o entendimento e a automação;
  • E, ao mesmo tempo, não obrigar ninguém a usá-lo: o uso desse campo fica a critério de cada implementação.