O ICMS é o tributo central na emissão de NF-e (Modelo 55). A declaração do grupo de ICMS é obrigatória em todos os itens do payload, mesmo em operações sem destaque de imposto (isenções, imunidades, não incidência ou diferimento).
A situação tributária informada define a regra de recolhimento perante a SEFAZ para cenários de vendas internas, interestaduais, substituição tributária (ICMS-ST), importações e devoluções.
Regra de Validação: A definição do código do ICMS deve ser estritamente compatível com o Regime Tributário (CRT) do emitente. O envio de combinações inválidas resultará em rejeição do documento pela SEFAZ
A estrutura dos campos no JSON varia de acordo com o regime tributário da empresa emitente (CRT):
- Regime Normal (Código de Situação Tributária - 2 dígitos).
| Código | Descrição |
|---|
| 00 | Tributada integralmente |
| 02 | Tributação monofásica própria sobre combustíveis |
| 10 | Tributada e com cobrança do ICMS por substituição tributária (ICMS-ST) |
| 15 | Tributação monofásica própria e com responsabilidade pela retenção sobre combustíveis |
| 20 | Tributada com redução de base de cálculo |
| 30 | Isenta ou não tributada e com cobrança do ICMS-ST |
| 40 | Isenta |
| 41 | Não tributada |
| 50 | Suspensão |
| 51 | Diferimento (regras de preenchimento variam por UF) |
| 53 | Tributação monofásica sobre combustíveis com recolhimento diferido |
| 60 | ICMS cobrado anteriormente por substituição tributária |
| 61 | Tributação monofásica sobre combustíveis cobrada anteriormente |
| 70 | Tributada com redução de base de cálculo e cobrança do ICMS-ST |
| 90 | Outras (Regime Normal) |
- Simples Nacional (Código de Situação da Operação no Simples Nacional - 3 dígitos)
| Código | Descrição |
|---|
| 101 | Tributada pelo Simples Nacional com permissão de crédito |
| 102 | Tributada pelo Simples Nacional sem permissão de crédito |
| 103 | Isenção do ICMS no Simples Nacional para faixa de receita bruta |
| 201 | Tributada pelo Simples Nacional com permissão de crédito e cobrança do ICMS-ST |
| 202 | Tributada pelo Simples Nacional sem permissão de crédito e cobrança do ICMS-ST |
| 203 | Isenção do ICMS no Simples Nacional para faixa de receita bruta e cobrança do ICMS-ST |
| 300 | Imune |
| 400 | Não tributada pelo Simples Nacional |
| 500 | ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação |
| 900 | Outras (Simples Nacional) |
A obrigatoriedade dos campos do grupo de ICMS varia de acordo com o código de situação tributária informado.
| Situação Tributária | Campo API | TAG XML |
|---|
| 00 – Tributada integralmente | icms_origem | orig |
| icms_modalidade_base_calculo | modBC |
| icms_situacao_tributaria | CST |
| icms_base_calculo | vBC |
| icms_aliquota | pICMS |
| icms_valor | vICMS |
| Situação Tributária | Campo API | TAG XML |
|---|
| 02 – Tributação monofásica própria sobre combustíveis | icms_origem | orig |
| icms_base_calculo_mono | qBCMono |
| icms_aliquota | adRemICMS |
| icms_valor_mono | vICMSMono |
| Situação Tributária | Campo API | TAG XML |
|---|
| 10 – Tributada e com cobrança do ICMS por substituição tributária. | icms_origem | orig |
| icms_situacao_tributaria | CST |
| icms_modalidade_base_calculo | modBC |
| icms_base_calculo | vBC |
| icms_aliquota | pICMS |
| icms_valor | vICMS |
| icms_modalidade_base_calculo_st | modBCST |
| icms_reducao_base_calculo_st | pRedBCST |
| icms_base_calculo_st | vBCST |
| icms_aliquota_st | pICMSST |
| icms_valor_st | vICMSST |
| Situação Tributária | Campo API | TAG XML |
|---|
| 15 – Tributação monofásica própria e com responsabilidade pela retenção sobre combustíveis | icms_origem | orig |
| icms_base_calculo_mono | qBCMono |
| icms_aliquota | adRemICMS |
| icms_valor_mono | vICMSMono |
| icms_base_calculo_mono_retencao | qBCMonoReten |
| icms_aliquota_retencao | adRemICMSReten |
| icms_valor_mono_retencao | vICMSMonoReten |
| icms_percentual_reducao | pRedAdRem |
| icms_motivo_reducao | motRedAdRem |
| Situação Tributária | Campo API | TAG XML |
|---|
| 20 – Tributada com redução de base de cálculo | icms_origem | orig |
| icms_situacao_tributaria | CST |
| icms_modalidade_base_calculo | modBC |
| icms_reducao_base_calculo | pRedBC |
| icms_base_calculo | vBC |
| icms_aliquota | pICMS |
| icms_valor | vICMS |
| Campos Opcionais* | |
| icms_valor_desonerado | vICMSDeson |
| icms_motivo_desoneracao | motDesICMS |
| Situação Tributária | Campo API | TAG XML |
|---|
| 30 – Isenta ou não tributada e com cobrança do ICMS por substituição tributária. | icms_origem | orig |
| icms_situacao_tributaria | CST |
| icms_modalidade_base_calculo_st | modBCST |
| icms_margem_valor_adicionado_st | pMVAST |
| icms_reducao_base_calculo_st | pRedBCST |
| icms_base_calculo_st | vBCST |
| icms_aliquota_st | pICMSST |
| icms_valor_st | vICMSST |
| Campos Opcionais* | |
| icms_valor_desonerado | vICMSDeson |
| icms_motivo_desoneracao | motDesICMS |
| Situação Tributária | Campo API | TAG XML |
|---|
40 – Isenta;
41 – Não tributada;
50 – Suspensão. | icms_origem | orig |
| icms_situacao_tributaria | CST |
| Campos Opcionais* | |
| icms_valor_desonerado | vICMSDeson |
| icms_motivo_desoneracao | motDesICMS |
| Situação Tributária | Campo API | TAG XML |
|---|
| 51 – Diferimento (a exigência do preenchimento das informações do ICMS diferido fica a critério de cada UF). | icms_origem | orig |
| icms_situacao_tributaria | CST |
| icms_modalidade_base_calculo | modBC |
| icms_reducao_base_calculo | pRedBC |
| icms_base_calculo | vBC |
| icms_aliquota | pICMS |
| icms_valor_operacao | vICMSOp |
| icms_percentual_diferimento | pDif |
| icms_valor_diferido | vICMSDif |
| icms_valor | vICMS |
| Situação Tributária | Campo API | TAG XML |
|---|
53 – Tributação monofásica sobre combustíveis com
recolhimento diferido | icms_origem | orig |
| icms_base_calculo_mono | qBCMono |
| icms_aliquota | adRemICMS |
| icms_valor_mono_operacao | vICMSMonoOp |
| icms_percentual_diferimento | pDif |
| icms_valor_mono_diferido | vICMSMonoDif |
| icms_valor_mono | vICMSMono |
| Situação Tributária | Campo API | TAG XML |
|---|
| 60 – Cobrado anteriormente por substituição tributária. | icms_origem | orig |
| icms_situacao_tributaria | CST |
| Campos Opcionais* | |
| icms_base_calculo_retido_st | vBCSTRet |
| icms_valor_retido_st | vICMSSTRet |
| icms_valor_substituto | vICMSSubstituto |
| icms_aliquota_final | pST |
| Situação Tributária | Campo API | TAG XML |
|---|
| 61 – Tributação monofásica sobre combustíveis cobrada anteriormente | icms_origem | orig |
| icms_base_calculo_mono_retido | qBCMonoRet |
| icms_aliquota_retido | adRemICMSRet |
| icms_valor_mono_retido | vICMSMonoRet |
| Situação Tributária | Campo API | TAG XML |
|---|
| 70: Tributada com redução de base de cálculo e com cobrança do ICMS por substituição tributária. | icms_origem | orig |
| icms_situacao_tributaria | CST |
| icms_modalidade_base_calculo | modBC |
| icms_reducao_base_calculo | pRedBC |
| icms_base_calculo | vBC |
| icms_aliquota | pICMS |
| icms_valor | vICMS |
| icms_modalidade_base_calculo_st | modBCST |
| icms_margem_valor_adicionado_st | pMVAST |
| icms_reducao_base_calculo_st | pRedBCST |
| icms_base_calculo_st | vBCST |
| icms_aliquota_st | pICMSST |
| icms_valor_st | vICMSST |
| Campos Opcionais* | |
| icms_valor_desonerado | vICMSDeson |
| icms_motivo_desoneracao | motDesICMS |
| Situação Tributária | Campo API | TAG XML |
|---|
| 90 – Outras (regime Normal). | icms_origem | orig |
| icms_situacao_tributaria | CST |
| Campos Opcionais 1* | |
| icms_modalidade_base_calculo | modBC |
| icms_base_calculo | vBC |
| icms_reducao_base_calculo | pRedBC |
| icms_aliquota | pICMS |
| icms_valor | vICMS |
| Campos Opcionais 2* | |
| icms_modalidade_base_calculo_st | modBCST |
| icms_margem_valor_adicionado_st | pMVAST |
| icms_reducao_base_calculo_st | pRedBCST |
| icms_base_calculo_st | vBCST |
| icms_aliquota_st | pICMSST |
| icms_valor_st | vICMSST |
| Campos Opcionais* | |
| icms_valor_desonerado | vICMSDeson |
| icms_motivo_desoneracao | motDesICMS |
| Situação Tributária | Campo API | TAG XML |
|---|
| 101 – Tributada pelo Simples Nacional com permissão de crédito. | icms_origem | orig |
| icms_situacao_tributaria | CSOSN |
| icms_aliquota_credito_simples | pCredSN |
| icms_valor_credito_simples | vCredICMSSN |
| Situação Tributária | Campo API | TAG XML |
|---|
102 – Tributada pelo Simples Nacional sem permissão de crédito;
103 – Isenção do ICMS no Simples Nacional para faixa de receita bruta;
300 – Imune;
400 – Não tributada pelo Simples Nacional; | icms_origem | orig |
| icms_situacao_tributaria | CSOSN |
| Situação Tributária | Campo API | TAG XML |
|---|
| 201 – Tributada pelo Simples Nacional com permissão de crédito e com cobrança do ICMS por substituição tributária. | icms_origem | orig |
| icms_situacao_tributaria | CSOSN |
| icms_modalidade_base_calculo_st | modBCST |
| icms_margem_valor_adicionado_st | pMVAST |
| icms_reducao_base_calculo_st | pRedBCST |
| icms_base_calculo_st | vBCST |
| icms_aliquota_st | pICMSST |
| icms_valor_st | vICMSST |
| icms_aliquota_credito_simples | pCredSN |
| icms_valor_credito_simples | vCredICMSSN |
| Situação Tributária | Campo API | TAG XML |
|---|
202 – Tributada pelo Simples Nacional sem permissão de crédito e com cobrança do ICMS por substituição tributária;
203 – Isenção do ICMS nos Simples Nacional para faixa de receita bruta e com cobrança do ICMS por substituição tributária; | icms_origem | orig |
| icms_situacao_tributaria | CSOSN |
| icms_modalidade_base_calculo_st | modBCST |
| icms_margem_valor_adicionado_st | pMVAST |
| icms_reducao_base_calculo_st | pRedBCST |
| icms_base_calculo_st | vBCST |
| icms_aliquota_st | pICMSST |
| icms_valor_st | vICMSST |
| Situação Tributária | Campo API | TAG XML |
|---|
| 500 – ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação. | icms_origem | orig |
| icms_situacao_tributaria | CSOSN |
| Campos Opcionais* | |
| icms_base_calculo_retido_st | vBCSTRet |
| icms_valor_retido_st | vICMSSTRet |
| icms_aliquota_final | pST |
| icms_valor_substituto | vICMSSubstituto |
| Situação Tributária | Campo API | TAG XML |
|---|
| 900 – Outras (regime Simples Nacional). | icms_origem | orig |
| icms_situacao_tributaria | CSOSN |
| Campos Opcionais 1* | |
| icms_modalidade_base_calculo | modBC |
| icms_base_calculo | vBC |
| icms_reducao_base_calculo | pRedBC |
| icms_aliquota | pICMS |
| icms_valor | vICMS |
| Campos Opcionais 2* | |
| icms_modalidade_base_calculo_st | modBCST |
| icms_margem_valor_adicionado_st | pMVAST |
| icms_reducao_base_calculo_st | pRedBCST |
| icms_base_calculo_st | vBCST |
| icms_aliquota_st | pICMSST |
| icms_valor_st | vICMSST |
| Campos Opcionais* | |
| icms_aliquota_credito_simples | pCredSN |
| icms_valor_credito_simples | vCredICMSSN |
⚠️Caso opte por enviar um grupo de campos opcionais no payload, todos os campos pertencentes àquele grupo específico devem ser informados. O preenchimento parcial de um grupo opcional resultará em erro de validação de schema pela API.
📘 Quando usado o código "90" ou "900" deve ser escolhido um dos dois grupos de campos opcionais (1 ou 2) possíveis.