Pular para o conteúdo principal

ICMS

O grupo ICMS é utilizado para declarar as informações de tributação estadual dos produtos ou serviços vendidos na NFC-e. Ele está presente dentro do bloco <imposto> de cada item (<det>).

Existem diferentes subgrupos de ICMS, dependendo do regime tributário do emitente e da situação tributária do item:

  • Para empresas do regime normal, deve-se usar CST (Código de Situação Tributária).
  • Para empresas do Simples Nacional, usa-se CSOSN (Código de Situação da Operação no SN).

A seguir, explicamos todos os grupos disponíveis e as regras de uso para cada um deles.


🧩 Tabela de grupos ICMS por CST

Grupo XMLCSTDescriçãoQuando usar
ICMS0000Tributada integralmenteOperação com ICMS normal sem redução nem isenção
ICMS1010Tributada com cobrança de STQuando há substituição tributária
ICMS2020Tributada com redução de base de cálculoAplica-se redução sobre a base do ICMS
ICMS3030Isenta com cobrança de STProduto isento do ICMS próprio, mas com ST na entrada
ICMS4040IsentaIsenção sem ST
ICMS4141Não tributadaProduto não tributado por convênio ou legislação estadual
ICMS5050SuspensãoSuspenso por legislação específica
ICMS5151DiferimentoO ICMS é postergado para outra etapa
ICMS6060ICMS cobrado anteriormente por STICMS-ST já recolhido na cadeia anterior
ICMS7070Redução e STTem redução de base e também ST
ICMS9090OutrosQualquer outro caso não previsto acima
ICMSPart10ST com partilha do imposto (DIFAL)Para operações interestaduais com partilha (ver DIFAL)
ICMSST60Apenas ST (recolhido anteriormente)Situação específica de nota referenciada, geralmente entrada

📌 A tag orig (origem da mercadoria) também é obrigatória em todos os grupos ICMS. Ver valores abaixo.


🧩 Tabela de grupos ICMS por CSOSN (Simples Nacional)

Grupo XMLCSOSNDescriçãoQuando usar
ICMSSN101101Tributada com créditoQuando há aproveitamento de crédito pelo Simples
ICMSSN102102Imune ou não tributadaOperações isentas ou não tributadas
ICMSSN103103Isenção do ICMSSituações de isenção explícita
ICMSSN201201Com ST e créditoOperações com substituição e crédito
ICMSSN202202Com ST sem créditoST sem direito a crédito
ICMSSN203203Com ST e isençãoST com isenção do ICMS próprio
ICMSSN300300ImuneUsado em casos de imunidade constitucional
ICMSSN400400Não tributadaCasos não sujeitos a tributação
ICMSSN500500ST recolhida anteriormenteApenas para ST retida em etapas anteriores
ICMSSN900900OutrosPara demais situações não previstas

📚 Tabela de campos comuns ao ICMS

CampoTipo/FormatoExemploObrigatório?Observações
origNúmero (0-8)0SimOrigem da mercadoria (tabela abaixo)
CSTTexto (2)00Sim (regime normal)Código da situação tributária
CSOSNTexto (3)102Sim (SN)Código específico do Simples Nacional
modBCNúmero3DependeModalidade de cálculo da base do ICMS (ver tabela abaixo)
vBCDecimal100.00DependeValor da base de cálculo do ICMS
pICMSDecimal (%)18.00DependeAlíquota ICMS
vICMSDecimal18.00DependeValor calculado do ICMS
modBCSTNúmero4DependeModalidade da base da ST (ver tabela)
pMVASTDecimal (%)40.00CondicionalMargem de valor agregado ST
pRedBCSTDecimal (%)0.00CondicionalPercentual de redução da base ST
vBCSTDecimal140.00CondicionalBase de cálculo da ST
pICMSSTDecimal (%)18.00CondicionalAlíquota do ICMS ST
vICMSSTDecimal25.20CondicionalValor do ICMS ST

🌎 Tabela de orig – Origem da Mercadoria

ValorDescrição
0Nacional – exceto as indicadas nos códigos 3, 4, 5 e 8
1Estrangeira – Importação direta
2Estrangeira – Adquirida no mercado interno
3Nacional – Conteúdo de importação > 40%
4Nacional – Produzida conforme processos básicos
5Nacional – Conteúdo de importação ≤ 40%
6Estrangeira – Importação direta sem similar
7Estrangeira – Interna sem similar nacional
8Nacional – Conteúdo importação > 70%

🧮 Tabela de modBC e modBCST (Modalidade de base de cálculo)

ValorDescrição
0Margem de valor agregado (%)
1Pauta (valor fixo por unidade)
2Preço tabelado pelo governo
3Valor da operação
4Preço praticado (usado em ST por substituído)

💡 Exemplos de preenchimento

✅ Exemplo ICMS00 (Tributada integralmente):

<ICMS>
<ICMS00>
<orig>0</orig>
<CST>00</CST>
<modBC>3</modBC>
<vBC>100.00</vBC>
<pICMS>18.00</pICMS>
<vICMS>18.00</vICMS>
</ICMS00>
</ICMS>

✅ Exemplo ICMS60 (ST já recolhido anteriormente):

<ICMS>
<ICMS60>
<orig>0</orig>
<CST>60</CST>
<vBCSTRet>100.00</vBCSTRet>
<vICMSSTRet>18.00</vICMSSTRet>
</ICMS60>
</ICMS>

✅ Exemplo ICMSSN102 (Simples Nacional – Isento):

<ICMS>
<ICMSSN102>
<orig>0</orig>
<CSOSN>102</CSOSN>
</ICMSSN102>
</ICMS>

✅ Exemplo ICMSSN500 (ST recolhida anteriormente):

<ICMS>
<ICMSSN500>
<orig>0</orig>
<CSOSN>500</CSOSN>
</ICMSSN500>
</ICMS>

🔎 Observações importantes

  • É obrigatório que o CST ou CSOSN esteja de acordo com o regime tributário cadastrado do emitente.
  • Quando houver substituição tributária (ST), o grupo correto deve ser usado mesmo que o ICMS já tenha sido recolhido.
  • Em casos de isenção (ex: CST 40, CSOSN 102), não deve haver valores de base ou alíquota preenchidos.
  • O campo indTot do produto deve ser 1 se o item contribuir para o total da nota, mesmo quando isento.
  • Ao usar CST 60 ou CSOSN 500, os valores do ICMS ST retido anteriormente podem ser preenchidos com vBCSTRet, vICMSSTRet.