TF Fiscal

ICMS em detalhe

O imposto estadual sobre circulação: cálculo, sistema de alíquotas, substituição tributária e DIFAL, mais as tabelas de CSOSN / CST separadas por regime

O ICMS é o tributo mais pesado e mais intrincado do Brasil: cada um dos 27 estados legisla sua versão sobre mercadorias, transporte interestadual/intermunicipal e comunicação. É não cumulativo (crédito nas entradas), calculado por dentro (o imposto integra a própria base) e com muitas exceções estaduais: substituição tributária (ST), redução de base, diferimento, isenções e o diferencial de alíquotas (DIFAL).

Cálculo e alíquotas

  • Cálculo por dentro: base = preço (que já contém o ICMS) + frete + seguro + outras despesas − descontos; o IPI integra a base na venda a consumidor final. Uma alíquota nominal de 18% equivale a cerca de 21,95% sobre o preço líquido.
  • Alíquotas internas: fixadas por cada estado, em geral 17%–20% (SP 18%, RJ 20% mais 2% de FCP, MG 18%…); supérfluos como fumo, bebidas e cosméticos chegam a 25%–35%.
  • Alíquotas interestaduais: 12% em geral; 7% do Sul e Sudeste (exceto ES) para Norte, Nordeste, Centro-Oeste e ES; mercadoria importada (origem 1, 2, 3, 8) sempre 4%.
  • DIFAL: na venda interestadual a não contribuinte (pessoa física, empresa sem inscrição estadual), a diferença entre a alíquota interna do destino e a interestadual vai para o estado de destino, paga pelo vendedor; Simples (CRT 1 / 4) é dispensado (ADI 5469), CRT 2 / 3 deve calcular.
  • FCP (Fundo de Combate à Pobreza): alguns estados adicionam 1%–2% em certos produtos; na interestadual segue o DIFAL para o destino.
  • Substituição tributária (ST): para mercadorias listadas (identificadas pelo CEST), o ICMS de toda a cadeia é retido uma vez pelo fabricante ou importador sobre a base com MVA; a revenda usa CST 60 / CSOSN 500 e não destaca imposto.
  • Redução de base, isenção, diferimento, suspensão: concedidos por estado e produto, mapeados em CST 20 / 40 / 51 / 50 no regime normal; o Simples não tem esse detalhamento e usa CSOSN 400 / 300 para não tributada e imune.

O regime define CSOSN ou CST

CRTRegimeCódigo ICMSinvoice_type da empresaDIFAL
1Simples NacionalCSOSN · 3simples_nacional / 1Dispensado
2Simples Nacional, excesso de sublimiteCST · 2simples_nacional_excesso / 2Devido
3Regime normal (Lucro Real / Presumido)CST · 2tributacao_normal / lucro_normal / 3Devido
4MEICSOSN · 3simples / 4Dispensado
A plataforma valida localmente se o tamanho do código bate com o regime: CRT 1 / 4 enviando CST, ou CRT 2 / 3 enviando CSOSN, é recusado com o motivo e não é encaminhado (seria rejeitado com 590 / 591 e consumiria a cota do CNPJ). Sem validação quando invoice_type não está na tabela.

Simples Nacional: tabela de CSOSN

CRT 1 e 4. Envie 3 dígitos em icms.situacao_tributaria; os 10 são suportados.

CSOSNSignificadoQuando usar
101Tributada pelo Simples com permissão de créditoVenda a contribuinte do regime normal com transferência de crédito; informe aliquota_credito (1,25%–3,95% conforme a faixa).
102Tributada pelo Simples sem permissão de créditoMais comum: venda a consumidor, não contribuinte, ou qualquer venda sem transferir crédito.
103Isenção do ICMS para faixa de receita brutaQuando o estado isenta as faixas iniciais de receita.
201Com permissão de crédito e com cobrança do ICMS por STVenda com ST como substituto, transferindo crédito.
202Sem permissão de crédito e com cobrança do ICMS por STVenda com ST como substituto; o caso mais comum.
203Isenção para faixa de receita e com cobrança do ICMS por ST103 combinado com ST.
300ImuneImunidade constitucional: livros, jornais, periódicos e seu papel; exportação.
400Não tributada pelo SimplesFora do ICMS: remessas sem venda (brinde, amostra, conserto).
500ICMS cobrado anteriormente por ST ou por antecipaçãoRevenda de mercadoria com ST; com CFOP 5405 / 6404, opcionalmente os valores retidos (v_bc_st_ret, v_icms_st_ret).
900OutrosQuando nada acima se aplica: importação, operações que exigem base e valor.

Regime normal: tabela de CST

CRT 2 e 3. Envie 2 dígitos em icms.situacao_tributaria; no XML a origem é prefixada. Os 15 são suportados.

CSTSignificadoQuando usar
00Tributada integralmenteVenda comum, a mais usada; informe aliquota.
10Tributada e com cobrança do ICMS por STVenda com ST como substituto; informe aliquota_mva, aliquota_icms_st.
20Com redução de base de cálculoRedução de base concedida pelo estado; informe aliquota_reducao (% de redução).
30Isenta ou não tributada e com cobrança do ICMS por STOperação própria isenta, com retenção do ST para a etapa seguinte.
40IsentaIsenta por lei estadual; pode levar motivo_desoneracao e valor_desoneracao.
41Não tributadaFora do campo do ICMS; usual em exportação.
50SuspensãoRemessas temporárias: conserto, demonstração, industrialização por encomenda.
51DiferimentoImposto diferido; informe aliquota_diferimento.
60ICMS cobrado anteriormente por substituição tributáriaRevenda de mercadoria com ST; com CFOP 5405 / 6404.
70Com redução de base e cobrança do ICMS por ST20 combinado com 10.
90OutrasQuando nada acima se aplica.
02 · 15 · 53 · 61Série de tributação monofásica sobre combustíveisSó combustíveis (02 própria, 15 com retenção, 53 diferido, 61 cobrado anteriormente); informe ad_rem_icms.

Origem da mercadoria

Campo products[].origem, obrigatório nos dois regimes. Define a alíquota interestadual (4% para importados) e é o primeiro dígito do CST/CSOSN no XML.

ValorSignificado
0Nacional, exceto as indicadas nos códigos 3, 4, 5 e 8
1Estrangeira, importação direta, exceto código 6
2Estrangeira, adquirida no mercado interno, exceto código 7
3Nacional, conteúdo de importação superior a 40% e até 70%
4Nacional, produção conforme processos produtivos básicos
5Nacional, conteúdo de importação até 40%
6Estrangeira, importação direta, sem similar nacional (lista CAMEX)
7Estrangeira, adquirida no mercado interno, sem similar nacional (lista CAMEX)
8Nacional, conteúdo de importação superior a 70%

Campos da plataforma (linha icms[] da categoria / impostos.icms inline)

CampoFinalidade
cenario · tipo_pessoaChaves da linha: cenário e tipo de pessoa, veja abaixo.
codigo_cfop · situacao_tributariaCFOP e CST/CSOSN; obrigatórios.
aliquotaAlíquota do ICMS (%).
aliquota_reducao% de redução de base (CST 20 / 70).
aliquota_fcpAlíquota do FCP (%).
aliquota_mva · aliquota_icms_st · aliquota_reducao_st · aliquota_fcp_stAo reter ST como substituto: MVA, alíquota do ST, redução de base do ST, FCP-ST (CST 10 / 30 / 70, CSOSN 201 / 202 / 203).
v_bc_st_ret · v_icms_st_ret · v_icms_substituto · p_fcp_st_ret · v_bc_fcp_st_ret · v_fcp_st_retNa revenda com ST (CST 60 / CSOSN 500): base e valores retidos anteriormente.
aliquota_creditoAlíquota de crédito transferida ao comprador no Simples (CSOSN 101 / 201).
aliquota_diferimento% de diferimento (CST 51).
motivo_desoneracao · valor_desoneracaoMotivo da desoneração e valor desonerado (CST 40 / 41 / 50 / 90).
beneficio_fiscal[]Códigos de benefício fiscal por estado: [{"estado":"SP","codigo":"SP800001"}], gravados em cBenef no XML.
disable_difal · difal_desconta_icms_inter · difal_base_por_dentro · v_bc_uf_destControles do DIFAL: desligar; base dupla “por dentro” descontando o ICMS interestadual (método da maioria dos estados); ou informar a base do destino diretamente.
desconta_icms_pis_cofinsSe true, subtrai o ICMS do item da base de PIS/COFINS (STF, Tema 69).

Cenários e tipo de pessoa na categoria

cenarioSignificado
saida_dentro_estadoSaída, destinatário no mesmo estado
saida_fora_estadoSaída, destinatário em outro estado
entrada_dentro_estadoEntrada, outra parte no mesmo estado
entrada_fora_estadoEntrada, outra parte em outro estado
padraoLinha padrão quando nenhum cenário bate
  • Ordem: cenário atual → padrao → legado saida_dentro_estado / saida_fora_estado; cada passo filtra antes por tipo_pessoa (fisica / juridica).
  • Venda interestadual a pessoa física exige a linha saida_fora_estado + fisica com CFOP 6108 e códigos; senão usa a linha de pessoa jurídica.
  • Importação (transaction_type = 2) ignora cenário, usa o primeiro registro e prefere CFOP 3.xxx; exportação (= 3) ignora tipo_pessoa.
  • Sem linha compatível a emissão falha e o erro indica o cenario e o tipo_pessoa faltantes.

Combinações recomendadas

OperaçãoSimples Nacional (CRT 1 / 4)Regime normal (CRT 3)
Venda comumCSOSN 102(101 + aliquota_credito)CST 00 + aliquota
Revenda com ST retidaCSOSN 500 · CFOP 5405 / 6404CST 60 · CFOP 5405 / 6404
Retenção de ST como substitutoCSOSN 202 / 201 · MVACST 10 · MVA
Venda interestadual a pessoa física (B2C)CSOSN 102 · CFOP 6108 · 免 DIFALCST 00 · CFOP 6108 · DIFAL + FCP
Remessa sem venda (brinde, amostra, conserto…)CSOSN 400CST 41(送修 50)
ExportaçãoCSOSN 300 · CFOP 7101 / 7102CST 41 · CFOP 7101 / 7102
Entrada de importaçãoCSOSN 900 · CFOP 3102CST 00 · CFOP 3102

Alíquotas, benefícios e listas de ST são definidos por cada estado e mudam com frequência; os valores aqui são os usuais, prevalecendo o contador e a legislação do estado. Para o CFOP veja “CFOP por cenário”.