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 XML | CST | Descrição | Quando usar |
|---|---|---|---|
ICMS00 | 00 | Tributada integralmente | Operação com ICMS normal sem redução nem isenção |
ICMS10 | 10 | Tributada com cobrança de ST | Quando há substituição tributária |
ICMS20 | 20 | Tributada com redução de base de cálculo | Aplica-se redução sobre a base do ICMS |
ICMS30 | 30 | Isenta com cobrança de ST | Produto isento do ICMS próprio, mas com ST na entrada |
ICMS40 | 40 | Isenta | Isenção sem ST |
ICMS41 | 41 | Não tributada | Produto não tributado por convênio ou legislação estadual |
ICMS50 | 50 | Suspensão | Suspenso por legislação específica |
ICMS51 | 51 | Diferimento | O ICMS é postergado para outra etapa |
ICMS60 | 60 | ICMS cobrado anteriormente por ST | ICMS-ST já recolhido na cadeia anterior |
ICMS70 | 70 | Redução e ST | Tem redução de base e também ST |
ICMS90 | 90 | Outros | Qualquer outro caso não previsto acima |
ICMSPart | 10 | ST com partilha do imposto (DIFAL) | Para operações interestaduais com partilha (ver DIFAL) |
ICMSST | 60 | Apenas 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 XML | CSOSN | Descrição | Quando usar |
|---|---|---|---|
ICMSSN101 | 101 | Tributada com crédito | Quando há aproveitamento de crédito pelo Simples |
ICMSSN102 | 102 | Imune ou não tributada | Operações isentas ou não tributadas |
ICMSSN103 | 103 | Isenção do ICMS | Situações de isenção explícita |
ICMSSN201 | 201 | Com ST e crédito | Operações com substituição e crédito |
ICMSSN202 | 202 | Com ST sem crédito | ST sem direito a crédito |
ICMSSN203 | 203 | Com ST e isenção | ST com isenção do ICMS próprio |
ICMSSN300 | 300 | Imune | Usado em casos de imunidade constitucional |
ICMSSN400 | 400 | Não tributada | Casos não sujeitos a tributação |
ICMSSN500 | 500 | ST recolhida anteriormente | Apenas para ST retida em etapas anteriores |
ICMSSN900 | 900 | Outros | Para demais situações não previstas |
📚 Tabela de campos comuns ao ICMS
| Campo | Tipo/Formato | Exemplo | Obrigatório? | Observações |
|---|---|---|---|---|
orig | Número (0-8) | 0 | Sim | Origem da mercadoria (tabela abaixo) |
CST | Texto (2) | 00 | Sim (regime normal) | Código da situação tributária |
CSOSN | Texto (3) | 102 | Sim (SN) | Código específico do Simples Nacional |
modBC | Número | 3 | Depende | Modalidade de cálculo da base do ICMS (ver tabela abaixo) |
vBC | Decimal | 100.00 | Depende | Valor da base de cálculo do ICMS |
pICMS | Decimal (%) | 18.00 | Depende | Alíquota ICMS |
vICMS | Decimal | 18.00 | Depende | Valor calculado do ICMS |
modBCST | Número | 4 | Depende | Modalidade da base da ST (ver tabela) |
pMVAST | Decimal (%) | 40.00 | Condicional | Margem de valor agregado ST |
pRedBCST | Decimal (%) | 0.00 | Condicional | Percentual de redução da base ST |
vBCST | Decimal | 140.00 | Condicional | Base de cálculo da ST |
pICMSST | Decimal (%) | 18.00 | Condicional | Alíquota do ICMS ST |
vICMSST | Decimal | 25.20 | Condicional | Valor do ICMS ST |
🌎 Tabela de orig – Origem da Mercadoria
| Valor | Descrição |
|---|---|
| 0 | Nacional – exceto as indicadas nos códigos 3, 4, 5 e 8 |
| 1 | Estrangeira – Importação direta |
| 2 | Estrangeira – Adquirida no mercado interno |
| 3 | Nacional – Conteúdo de importação > 40% |
| 4 | Nacional – Produzida conforme processos básicos |
| 5 | Nacional – Conteúdo de importação ≤ 40% |
| 6 | Estrangeira – Importação direta sem similar |
| 7 | Estrangeira – Interna sem similar nacional |
| 8 | Nacional – Conteúdo importação > 70% |
🧮 Tabela de modBC e modBCST (Modalidade de base de cálculo)
| Valor | Descrição |
|---|---|
| 0 | Margem de valor agregado (%) |
| 1 | Pauta (valor fixo por unidade) |
| 2 | Preço tabelado pelo governo |
| 3 | Valor da operação |
| 4 | Preç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
indTotdo produto deve ser1se o item contribuir para o total da nota, mesmo quando isento. - Ao usar
CST 60ouCSOSN 500, os valores do ICMS ST retido anteriormente podem ser preenchidos comvBCSTRet,vICMSSTRet.