Grupos de Impostos na NFC-e
Abaixo estão listados os grupos de impostos que podem ser utilizados dentro do bloco <imposto> da NFC-e, com seus respectivos campos obrigatórios e regras de preenchimento.
⚠️ Importante: Alguns impostos como IPI e ISSQN são raramente usados em NFC-e, e normalmente aplicáveis apenas em NFe modelo 55. Ainda assim, eles estão documentados para fins de referência e interoperabilidade.
📦 Grupo: ICMS
Principais grupos de CST
| CST | Descrição | Quando usar? |
|---|---|---|
| 00 | Tributada integralmente | Operações normais com ICMS |
| 10 | Tributada com cobrança de ST | Quando há substituição tributária |
| 20 | Com redução de base de cálculo | Operações com benefício de base reduzida |
| 30 | Isenta ou não tributada com ST | Quando a isenção ocorre mas com ST aplicável |
| 40 | Isenta | Produtos com isenção total |
| 41 | Não tributada | Produtos não sujeitos ao ICMS |
| 50 | Suspensão | Situações especiais (ex: zonas francas) |
| 51 | Diferimento | Quando o imposto é postergado para outro elo |
| 60 | ICMS cobrado anteriormente por ST | Recolhido na origem (ex: monofásico ou substituição) |
| 70 | Redução base + ST | Benefício com substituição tributária |
| 90 | Outros | Situações não contempladas nas demais |
Grupo CSOSN (Simples Nacional)
| CSOSN | Descrição |
|---|---|
| 101 | Tributada com crédito de ICMS (alíquota definida pela empresa) |
| 102 | Isenta ou não tributada |
| 103 | Imune |
| 201 | Tributada com ST |
| 202 | Isenta ou não tributada com ST |
| 203 | Imune com ST |
| 300 | ICMS cobrado anteriormente (substituição tributária) |
| 400 | Não tributada pelo Simples Nacional |
| 500 | ICMS cobrado anteriormente por ST (monofásico ou substituição) |
| 900 | Outros |
Campos por grupo ICMS
| Campo | Formato | Obrigatório | Observações |
|---|---|---|---|
orig | Numérico (0-8) | Sim | Origem da mercadoria (0 = nacional, 1 = estrangeira, etc.) |
CST ou CSOSN | Texto | Sim | Depende do regime tributário |
modBC | Numérico | Sim (em CSTs com BC) | Modalidade de determinação da base (0 = Margem, 3 = Valor da operação) |
vBC | Decimal | Sim | Valor da base de cálculo do ICMS |
pICMS | Decimal | Sim | Alíquota do ICMS (%) |
vICMS | Decimal | Sim | Valor do ICMS |
modBCST, pMVAST, pRedBCST, vBCST, pICMSST, vICMSST | — | Somente para grupos com ST |
🧪 Exemplo XML ICMS00
<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>
🧾 Grupo: IPI (não se aplica à NFC-e, exceto para interoperabilidade)
| Campo | Formato | Obrigatório | Observações |
|---|---|---|---|
CNPJProd | Texto (14) | Opcional | CNPJ do fabricante |
cSelo | Texto | Opcional | Código do selo de controle |
qSelo | Numérico | Opcional | Quantidade de selos |
cEnq | Texto | Sim | Código de enquadramento legal |
CST | Texto | Sim | Situação tributária do IPI |
vBC | Decimal | Se tributado | Valor da base de cálculo |
pIPI | Decimal | Se percentual | Alíquota do IPI (%) |
vIPI | Decimal | Sim | Valor do IPI |
🧮 Grupo: PIS
| Campo | Formato | Obrigatório | Observações |
|---|---|---|---|
CST | Texto (2) | Sim | Situação tributária |
vBC | Decimal | Se aplicável | Base de cálculo (CST 01 e 02) |
pPIS | Decimal | Se aplicável | Alíquota (%) |
vPIS | Decimal | Sim | Valor do PIS |
CSTs mais comuns
| CST | Descrição |
|---|---|
| 01 | Operação tributável (alíquota normal) |
| 02 | Operação tributável (alíquota diferenciada) |
| 03 | Operação com base por Qtde (R$ / unidade) |
| 04 | Isenta |
| 05 | Suspensão |
| 06 | Alíquota zero |
| 07 | Não tributada |
| 08 | Sem incidência de contribuição |
| 09 | Outras |
💸 Grupo: COFINS
| Campo | Formato | Obrigatório | Observações |
|---|---|---|---|
CST | Texto (2) | Sim | Situação tributária |
vBC | Decimal | Se aplicável | Base de cálculo |
pCOFINS | Decimal | Se aplicável | Alíquota (%) |
vCOFINS | Decimal | Sim | Valor do COFINS |
⚠️ A estrutura de CST e regras do COFINS são idênticas às do PIS.
💼 Grupo: ISSQN (raramente usado em NFC-e)
Usado apenas se a nota for emitida por prestador de serviço que está fora do padrão da NFS-e.
| Campo | Formato | Obrigatório | Observações |
|---|---|---|---|
vBC | Decimal | Sim | Base de cálculo |
vISSQN | Decimal | Sim | Valor do ISSQN |
cMunFG | Numérico (7) | Sim | Código IBGE do município da prestação |
cListServ | Texto | Sim | Código da lista de serviço (LC 116/2003) |
indISS | 1 caracter | Sim | 1 = sim, 2 = não (se incide ISS) |
cServico | Texto | Opcional | Código do serviço municipal |
vDeducoes | Decimal | Opcional | Valor das deduções |
⚠️ Observações Gerais
- A escolha do grupo e CST/CSOSN deve ser coerente com o regime tributário do emissor e a operação realizada.
- Não misture grupos dentro do mesmo item: por exemplo, ICMS00 não deve ter campos de ICMS10 ou ICMS60 juntos.
- Substituição tributária deve sempre conter o bloco completo de ST com campos como
modBCST,vBCST,pICMSST,vICMSST.
🧪 Exemplo completo do bloco <imposto>
<imposto>
<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>
<PIS>
<PISAliq>
<CST>01</CST>
<vBC>100.00</vBC>
<pPIS>1.65</pPIS>
<vPIS>1.65</vPIS>
</PISAliq>
</PIS>
<COFINS>
<COFINSAliq>
<CST>01</CST>
<vBC>100.00</vBC>
<pCOFINS>7.60</pCOFINS>
<vCOFINS>7.60</vCOFINS>
</COFINSAliq>
</COFINS>
</imposto>
📦 Blocos de Retirada e Entrega
Estes grupos não são exatamente impostos, mas estão relacionados à logística fiscal do documento. São opcionais, mas úteis para documentar operações com local de entrega diferente do endereço do destinatário.
🔁 <retirada>
Usado quando o produto será retirado em local diferente do emitente.
| Campo | Tipo/Formato | Exemplo | Obrigatório | Observações |
|---|---|---|---|---|
CNPJ | Texto (14) | 12345678000199 | Sim | Identificação do local |
xLgr | Texto | Av. das Américas | Sim | Logradouro |
nro | Texto | 500 | Sim | Número |
xBairro | Texto | Centro | Sim | Bairro |
cMun | Numérico(7) | 2408100 | Sim | Código do município |
xMun | Texto | Natal | Sim | Nome do município |
UF | Texto (2) | RN | Sim | Estado |
📥 <entrega>
Usado quando o produto será entregue em local diferente do destinatário.
Campos iguais ao bloco de
retirada.
💡 Exemplo
<retirada>
<CNPJ>12345678000199</CNPJ>
<xLgr>Av. das Américas</xLgr>
<nro>500</nro>
<xBairro>Centro</xBairro>
<cMun>2408100</cMun>
<xMun>Natal</xMun>
<UF>RN</UF>
</retirada>