CFOP
O CFOP (Código Fiscal de Operações e Prestações) define a natureza da operação de cada item vendido e impacta diretamente na tributação, no preenchimento dos blocos de imposto e nas validações da NFC-e. Seu uso incorreto pode levar à rejeição da nota pela SEFAZ.
✅ Onde é informado no XML
O CFOP é definido dentro do bloco <prod> de cada item da nota:
<det nItem="1">
<prod>
...
<CFOP>5102</CFOP>
...
</prod>
</det>
📘 Regras Gerais para NFC-e
| Situação | CFOP Sugerido | CST Recomendado | Observações técnicas |
|---|---|---|---|
| Venda no estado | 5102 | 00, 20, 40 | CFOP comum de venda. Se isento, use CST=40. |
| Venda com ICMS-ST | 5405 | 60 | CST 60 obriga informar <vICMSST> e não usar <vICMS> ou <pICMS>. |
| Venda para fora do estado | 6102 | 00, 20, 60 | Se CST=60, segue regra de ST com <vICMSST>. |
| Venda isenta de ICMS | 5103 | 40, 41, 50 | Para isenções: não preencher <vICMS>, <pICMS> ou <modBC>. |
| Bonificação (sem valor) | 5910 | 41 | Definir <vProd> = 0.00. Tag <indTot> deve ser 0 para não somar no total da NF. |
| Devolução | 5201, 5202 | Igual nota origem | Deve replicar o CFOP e CST da nota original devolvida. |
🧪 Regras técnicas por cenário
✅ Venda comum (tributada)
- CFOP:
5102 - CST:
00(tributado integral) - Tags obrigatórias:
<modBC>:3(valor da operação)<vBC>,<pICMS>,<vICMS>: preenchidos normalmente
✅ Venda com ICMS-ST
- CFOP:
5405 - CST:
60 - Tags obrigatórias:
- Preencher
<vICMSST>(valor do ICMS retido) - Não preencher
<modBC>,<vICMS>,<pICMS>→ causa rejeição!
- Preencher
<ICMS>
<ICMS60>
<orig>0</orig>
<CST>60</CST>
<vICMSSubstituto>0.00</vICMSSubstituto>
<vICMSST>5.38</vICMSST>
</ICMS60>
</ICMS>
✅ Produto isento
- CFOP:
5103 - CST:
40,41,50 - Tags obrigatórias:
- Informar
<orig>e<CST> - Não preencher
<modBC>,<vBC>,<pICMS>,<vICMS>→ causa rejeição!
- Informar
<ICMS>
<ICMS40>
<orig>0</orig>
<CST>40</CST>
</ICMS40>
</ICMS>
✅ Bonificação ou brinde
- CFOP:
5910 - CST:
41 - Outros detalhes:
<vProd>=0.00<indTot>=0(para não somar no total da NF)
✅ Devolução de mercadoria
- CFOP:
5201ou5202 - CST: mesmo da nota original
- Outros cuidados:
- Preencher também o campo
<xPed>com o número da nota de origem - Preencher
<nItemPed>com o item devolvido
- Preencher também o campo
🧾 Tabela resumida de CFOPs comuns na NFC-e
| CFOP | Descrição | Tipo de operação |
|---|---|---|
| 5101 | Venda produção própria | Interna (com ICMS) |
| 5102 | Venda de terceiros | Interna (com ICMS) |
| 5103 | Venda isenta ou não tributada | Interna (sem ICMS) |
| 5405 | Venda com substituição tributária | ICMS-ST |
| 5201 | Devolução de produto próprio | Devolução |
| 5202 | Devolução de produto de terceiros | Devolução |
| 5910 | Bonificação sem cobrança | Sem valor |
| 6101 | Venda produção própria para outro estado | Interestadual |
| 6102 | Venda de terceiros para outro estado | Interestadual |
| 6404 | Venda com ST para outro estado | ST + interestadual |
🧪 Exemplo XML – Venda isenta com CFOP 5103
<det nItem="1">
<prod>
...
<CFOP>5103</CFOP>
...
</prod>
<imposto>
<ICMS>
<ICMS40>
<orig>0</orig>
<CST>40</CST>
</ICMS40>
</ICMS>
</imposto>
</det>
🧠 Dicas para evitar rejeições
- Sempre alinhe CFOP ↔ CST ↔ Tags obrigatórias de cada tipo de operação.
- ST exige obrigatoriamente
<vICMSST>e proíbe outros campos de ICMS. - Se for produto isento, use
CST 40e elimine tags de ICMS. - O campo
<indTot>deve ser0para bonificações ou brindes. - A ordem das tags dentro do XML é obrigatória — siga os blocos conforme os arquivos XSD.