Mudanças entre as edições de "Manuais:UniNFe/duv13"

De unimake
Ir para: navegação, pesquisa
Linha 116: Linha 116:
 
* [https://dfe-portal.svrs.rs.gov.br/Cff/ValidadorRTC Validador RTC]
 
* [https://dfe-portal.svrs.rs.gov.br/Cff/ValidadorRTC Validador RTC]
  
===Tratamento de setores específicos, exemplo: bares, restaurantes, hoteis, etc.===
+
===Explicações sobre a tabela: tabela_ncm.json===
  
O sistema deve tratar essa situação com base na legislação da reforma (LC 214/2025 - https://www.planalto.gov.br/ccivil_03/leis/lcp/lcp214.htm).
+
A tabela JSON tem 4 situações possíveis para os NCMs:
  
'''1. Cadastro da empresa'''
+
====NCM com CST e cClassTrib próprios (definidos diretamente em lei)====
  
Primeiro ponto: é essencial definir no cadastro da empresa se ela é:
+
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.
  
* Restaurante / bar / lanchonete;
+
Exemplos:
* Hotel;
 
* ou outro segmento com tratamento específico previsto na lei.
 
  
Isso porque a LC traz capítulos com regras diferenciadas para alguns setores (como bares e restaurantes, hotelaria, medicamentos etc.), e o sistema precisa dessa informação para aplicar corretamente o regime tributário.
+
<pre>
 +
Mediação:
  
'''2. Regime específico para bares e restaurantes'''
+
{
 +
"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"
 +
},
  
No caso de bares e restaurantes, a LC prevê:
+
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"
 +
},
 +
</pre>
  
* Regime específico para fornecimento de alimentação (e algumas bebidas não alcoólicas preparadas no local);
+
====NCM sem CST e cClassTrib no JSON (definição depende da operação)====
* Redução de 40% nas alíquotas do IBS e da CBS nessas operações;
 
* Vedação de créditos do IBS/CBS para quem adquire essas refeições.
 
  
Ou seja: existe um benefício na alíquota, mas com impacto direto na questão dos créditos. Por isso, *nem todo restaurante vai optar por esse regime*. Alguns podem preferir não aplicar a redução para manter o aproveitamento de créditos. Essa decisão deve ser tomada pelo contribuinte junto ao contador.
+
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).
  
No sistema, essa escolha é refletida na configuração da empresa.
+
Nesse caso, '''não são enviados os campos CST e cClassTrib''' no JSON:
  
'''3. Uso da tabela de NCM (CST e cClassTrib)'''
+
<pre>
 +
{
 +
"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"
 +
},
 +
</pre>
  
Os tratamentos específicos (restaurantes, medicamentos, etc.) serão parametrizados *via tabela de NCM*, incluindo CST e cClassTrib quando a legislação exigir.
+
====NCM com anexos que determinam o cClassTrib (sem mudança de conceito)====
  
Exemplo simplificado (medicamento):
+
São NCMs em que '''os anexos da legislação determinam o CST e o cClassTrib'''.
  
 
<pre>
 
<pre>
 
{
 
{
  "Codigo": "3002.15.90",
+
"Codigo": "3002.90.00",
  "Descricao": "Outros",
+
"Descricao": "- Outros",
  "Data_Inicio": "01/04/2022",
+
"Data_Inicio": "01/04/2022",
  "Data_Fim": "31/12/9999",
+
"Data_Fim": "31/12/9999",
  "Tipo_Ato": "Res Camex",
+
"Tipo_Ato": "Res Camex",
  "Numero_Ato": "272",
+
"Numero_Ato": "272",
  "Ano_Ato": "2021",
+
"Ano_Ato": "2021",
  "CST": "200",
+
"Anexos":[{"Legislacao": "LC 214/2025","Anexo": "XIV","CST": "200","cClassTrib": "200009"},
  "cClassTrib": "200032",
+
  {"Legislacao": "LC 214/2025","Anexo": "IX","CST": "200","cClassTrib": "200038"}]
  "Anexos": [
+
},
    { "Legislacao": "LC 214/2025", "Anexo": "XIV", "CST": "200", "cClassTrib": "200009" },
 
    { "Legislacao": "LC 214/2025", "Anexo": "IX", "CST": "200", "cClassTrib": "200038" }
 
  ]
 
}
 
 
</pre>
 
</pre>
  
'''Na prática:'''
+
====NCM com anexos e exceções prioritárias (casos especiais)====
  
* Se a empresa for restaurante e o produto vendido se enquadrar na regra da LC, a própria tabela de NCM já vai indicar o CST e o cClassTrib corretos.
+
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'''.
* Isso deixa objetivo e padronizado o que deve ser usado.
 
  
'''Sobre o CST e Classtrib na tabela de NCM:'''
+
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:
 +
 
 +
<pre>
 +
{
 +
"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"}]
 +
},
 +
</pre>
  
Para medicamentos, já parametrizamos CST e cClassTrib com base em orientações de contadores.
+
Por isso, o campo '''Anexos_excecao_prioritaria''' foi criado:
  
Essa base será construída em conjunto com a comunidade e se você tiver clientes em segmentos específicos e puder informar *quais NCMs* devem receber CST e cClassTrib conforme a legislação aplicável, nós incluímos na tabela e liberamos para todos, o que facilita a vida de todo mundo. Para tanto, basta fazer contato através dos nossos grupos/foruns, [[Manuais:UniNFe/GruposDiscussao|clique aqui...]].
+
* 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.

Edição das 10h27min de 21 de novembro de 2025

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.