Mudanças entre as edições de "Manuais:UniNFe/duv13"
| (6 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
| Linha 1: | Linha 1: | ||
| − | __NOTITLE__ | + | '''__NOTITLE__ |
==<big><font color="#008000">'''Reforma tributária - Guia introdutório de como implementar os novos impostos nos software de ERP/PDV'''</font></big>== | ==<big><font color="#008000">'''Reforma tributária - Guia introdutório de como implementar os novos impostos nos software de ERP/PDV'''</font></big>== | ||
| Linha 58: | Linha 58: | ||
cCredPres = elegivelCreditoPresumido ? mapcCredPres(NCM, contexto) : null | cCredPres = elegivelCreditoPresumido ? mapcCredPres(NCM, contexto) : null | ||
</pre> | </pre> | ||
| − | |||
===Tabelas envolvidas no formato JSON=== | ===Tabelas envolvidas no formato JSON=== | ||
| Linha 69: | Linha 68: | ||
* [https://www.unimake.com.br/downloads/tabela_ccredpres.json Tabela de Crédito Presumido do IBS/CBS] | * [https://www.unimake.com.br/downloads/tabela_ccredpres.json Tabela de Crédito Presumido do IBS/CBS] | ||
* [https://www.unimake.com.br/downloads/Tabela_Operacao.json Tabela de Operações] | * [https://www.unimake.com.br/downloads/Tabela_Operacao.json Tabela de Operações] | ||
| + | * [https://www.unimake.com.br/downloads/tabela_nbs.json Tabela de NBS] | ||
| + | * [https://www.unimake.com.br/downloads/tabela_codigos_servicos_nacional.json Tabela de Códigos de Serviços Nacional] | ||
| + | |||
| + | ===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. | ||
| + | |||
| + | * [https://www.codigocfx.com.br/ Conheça mais clicando aqui...] | ||
===Exemplos rápidos=== | ===Exemplos rápidos=== | ||
| Linha 88: | Linha 95: | ||
** Mapear cClassTrib setorial (200*** ou afim), conforme tabela. | ** Mapear cClassTrib setorial (200*** ou afim), conforme tabela. | ||
* Pode mudar de "tributado integral" para "redução por setor". | * Pode mudar de "tributado integral" para "redução por setor". | ||
| + | |||
| + | ===Modelos/exemplos de XML com tags da Reforma Tributária=== | ||
| + | |||
| + | * [https://www.unimake.com.br/uninfe/modelos.php?p=nfe_nfce_4_00%2FNFe%2FExemplos+RTC Modelos de XML da NFe/NFCe] | ||
===Lives realizadas sobre o tema=== | ===Lives realizadas sobre o tema=== | ||
| Linha 105: | Linha 116: | ||
* [https://www.gov.br/fazenda/pt-br/acesso-a-informacao/acoes-e-programas/reforma-tributaria/regulamentacao-da-reforma-tributaria/lei-geral-do-ibs-da-cbs-e-do-imposto-seletivo/textos-legais Textos legaid] | * [https://www.gov.br/fazenda/pt-br/acesso-a-informacao/acoes-e-programas/reforma-tributaria/regulamentacao-da-reforma-tributaria/lei-geral-do-ibs-da-cbs-e-do-imposto-seletivo/textos-legais Textos legaid] | ||
* [https://dfe-portal.svrs.rs.gov.br/Cff/ValidadorRTC Validador RTC] | * [https://dfe-portal.svrs.rs.gov.br/Cff/ValidadorRTC Validador RTC] | ||
| + | |||
| + | ===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: | ||
| + | |||
| + | <pre> | ||
| + | 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" | ||
| + | }, | ||
| + | </pre> | ||
| + | |||
| + | ====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: | ||
| + | |||
| + | <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> | ||
| + | |||
| + | ====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'''. | ||
| + | |||
| + | <pre> | ||
| + | { | ||
| + | "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"}] | ||
| + | }, | ||
| + | </pre> | ||
| + | |||
| + | ====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: | ||
| + | |||
| + | <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> | ||
| + | |||
| + | 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. | ||
Edição atual tal como às 16h39min de 4 de dezembro de 2025
Índice
- 1 Reforma tributária - Guia introdutório de como implementar os novos impostos nos software de ERP/PDV
- 1.1 Fluxo prático IBS/CBS no emissor (NF-e/NFC-e) — passo a passo
- 1.2 Orquestração no sistema (algoritmo de decisão)
- 1.3 Tabelas envolvidas no formato JSON
- 1.4 CFX Código Fiscal Expandido
- 1.5 Exemplos rápidos
- 1.6 Modelos/exemplos de XML com tags da Reforma Tributária
- 1.7 Lives realizadas sobre o tema
- 1.8 Referencias
- 1.9 Links importantes
- 1.10 Explicações sobre a tabela: tabela_ncm.json
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
- Identifique o ITEM (NCM/NBS) e marque como "tributável por padrão"
- 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]
- Classifique a OPERAÇÃO: Onerosa x Não Onerosa
- Onerosa (há contraprestação/benefício econômico: venda, prestação, etc.): mantém "Tributado" (ex.: CST=000).
- 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]
- Antes de "fechar" o CST, verifique BENEFÍCIOS por ANEXOS do NCM
- 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]
- Se houver 'mais de um anexo aplicável ao NCM
- 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]
- Destinatário é Administração Pública?
- 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]
- Emissor pertence a setores com regime diferenciado?
- 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]
- (Quando aplicável) Crédito Presumido
- 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.
- Tabela de NCM com anexos
- Tabela CST IBS/CBS
- Tabela de CST e ClassTrib IBS/CBS
- Tabela de Crédito Presumido do IBS/CBS
- Tabela de Operações
- Tabela de NBS
- Tabela de Códigos de Serviços Nacional
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
- [1]: Lcp 214 - Planalto
- [2]: Reforma Tributária do Consumo – Adequações NF-e / NFC-e
- [3]: Classificação Tributária - Portal da Conformidade Fácil
- [4]: Fisco atualiza Tabela de cClassTrib de IBS/CBS e ...
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.