Rejeição 866 NF-e NFC-e

Ausência de troco quando o valor dos pagamentos informados for maior que o total da nota

4 min de leitura Atualizado em março de 2026

O que causa a Rejeição 866

Causa do erro

A Rejeição 866 ocorre quando uma NF-e (modelo 55) ou NFC-e (modelo 65) é emitida com o total de pagamentos superior ao valor total da nota, mas o campo de troco (<vTroco>) não é informado.

Sempre que a soma dos pagamentos (<vPag>) for maior que o valor da nota (<vNF>), é obrigatório informar o valor do troco.

Tags XML envolvidas

As seguintes tags do XML são relevantes para esta rejeição:

Tag XMLDescrição
<vPag>Valor do pagamento (ID: YA03)
<vNF>Valor total da nota (ID: W16)
<vTroco>Valor do troco (ID: YA09 — obrigatório quando vPag > vNF)
<pag>Grupo de dados de pagamento
<detPag>Detalhe do pagamento

Exemplo prático

O pagamento excede o valor da nota, mas o troco não foi informado:

XML com erro <total><ICMSTot> <vNF>8165.00</vNF> </ICMSTot></total> <pag><detPag> <tPag>01</tPag> <vPag>8170.00</vPag> <!-- Maior que vNF --> </detPag></pag> <!-- Falta: <vTroco>5.00</vTroco> -->
XML correto <pag> <detPag> <tPag>01</tPag> <vPag>8170.00</vPag> </detPag> <vTroco>5.00</vTroco> <!-- vTroco = vPag - vNF --> </pag>

Como resolver passo a passo

Solução

  1. Calcule o troco: vTroco = vPag - vNF. No exemplo: 8170.00 - 8165.00 = 5.00.
  2. Adicione a tag <vTroco> dentro do grupo <pag>.
  3. Reenvie o documento após a correção.

Como prevenir

🛡 Prevenção

  • Configure o cálculo automático de troco: o sistema deve calcular e preencher o troco sempre que o pagamento exceder o total.
  • Valide os valores antes do envio: compare vPag com vNF antes de transmitir.
  • Atenção em vendas em dinheiro: é a situação mais comum onde o pagamento excede o valor da nota.

Referência técnica

Documentação oficial

MOC 7.0 — Manual de Orientação do Contribuinte:
confaz.fazenda.gov.br/legislacao/arquivo-manuais/moc7-visao-geral.pdf

Portal Nacional da NF-e:
nfe.fazenda.gov.br

Perguntas frequentes

O que causa a Rejeição 866?

Ocorre quando a soma dos pagamentos é maior que o valor total da nota e o campo de troco (vTroco) não é informado.

Como resolver a Rejeição 866?

Informe o valor do troco usando a fórmula vTroco = vPag - vNF e adicione a tag vTroco dentro do grupo pag.

O campo vTroco é sempre obrigatório?

Apenas quando o valor dos pagamentos informados for superior ao valor total da nota fiscal.

Cansado de lidar com rejeições?

O Gálago valida os dados antes de transmitir, evitando a maioria das rejeições. Experimente grátis por 21 dias.

Teste Grátis