Pular para o conteúdo principal

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çãoCFOP SugeridoCST RecomendadoObservações técnicas
Venda no estado510200, 20, 40CFOP comum de venda. Se isento, use CST=40.
Venda com ICMS-ST540560CST 60 obriga informar <vICMSST> e não usar <vICMS> ou <pICMS>.
Venda para fora do estado610200, 20, 60Se CST=60, segue regra de ST com <vICMSST>.
Venda isenta de ICMS510340, 41, 50Para isenções: não preencher <vICMS>, <pICMS> ou <modBC>.
Bonificação (sem valor)591041Definir <vProd> = 0.00. Tag <indTot> deve ser 0 para não somar no total da NF.
Devolução5201, 5202Igual nota origemDeve 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!
<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!
<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: 5201 ou 5202
  • 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

🧾 Tabela resumida de CFOPs comuns na NFC-e

CFOPDescriçãoTipo de operação
5101Venda produção própriaInterna (com ICMS)
5102Venda de terceirosInterna (com ICMS)
5103Venda isenta ou não tributadaInterna (sem ICMS)
5405Venda com substituição tributáriaICMS-ST
5201Devolução de produto próprioDevolução
5202Devolução de produto de terceirosDevolução
5910Bonificação sem cobrançaSem valor
6101Venda produção própria para outro estadoInterestadual
6102Venda de terceiros para outro estadoInterestadual
6404Venda com ST para outro estadoST + 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 40 e elimine tags de ICMS.
  • O campo <indTot> deve ser 0 para bonificações ou brindes.
  • A ordem das tags dentro do XML é obrigatória — siga os blocos conforme os arquivos XSD.