vFor na NF-e de cana: valor dos fornecimentos antes das deduções
<vFor>cana › vForRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
vFor registra o valor dos fornecimentos no grupo de aquisição de cana. Seu caminho é /nfeProc/NFe/infNFe/cana/vFor; em XML sem o envelope de processamento, começa em NFe/infNFe. Ele permite comparar o valor informado na NF-e com o demonstrativo de fornecimento, antes de interpretar as deduções e o valor líquido.
Qual valor pertence a vFor?
No MOC, ZC13 é o valor dos fornecimentos; ZC14 (vTotDed) é o total das deduções e ZC15 (vLiqFor) é o líquido. Portanto, um acerto com fornecimento de R$ 8.000,00 e deduções de R$ 250,00 não usa R$ 7.750,00 como valor bruto: esse resultado pertence ao líquido no cenário descrito.
A quantidade é outra informação. forDia/qtde, qTotMes, qTotAnt e qTotGer representam quantidades; não são valores a copiar em vFor. O leiaute não estabelece neste campo um preço universal por quilograma nem uma fórmula de remuneração da cana. Para reconciliar o valor, reúna o demonstrativo, o período ref, a safra e os critérios comerciais efetivamente documentados. A nota de um período não pode herdar o valor de outro fornecedor ou acerto.
Também não há identidade automática entre vFor e total/ICMSTot/vNF. O primeiro pertence ao registro específico de cana; o segundo integra os totais da nota, com composição própria. Uma igualdade eventual precisa ser explicada pela operação, não pelo nome “valor”.
Quando o campo aparece e como é escrito?
O grupo cana ocorre zero ou uma vez; dentro dele, vFor ocorre exatamente uma vez e fica depois das deduções, antes de vTotDed e vLiqFor. Isso não torna o grupo obrigatório em qualquer venda agrícola. Para NFC-e, o MOC prevê rejeição 763 quando há dados de aquisição de cana, mesmo que o XSD comum contenha a estrutura.
O tipo TDec_1302 admite valor não negativo, até 13 posições inteiras e duas casas decimais quando a fração é usada. Não inclua símbolo de moeda, vírgula decimal ou separador de milhar. A escrita 8000.00 é a representação monetária do exemplo, não 8.000,00.
Exemplo de conferência do acerto
Hipótese sintética: o demonstrativo do período registra R$ 8.000,00 em fornecimentos, duas deduções documentadas de R$ 150,00 e R$ 100,00 e líquido de R$ 7.750,00. A soma das deduções é R$ 250,00; a subtração 8000,00 − 250,00 confirma o líquido do exemplo. Essas parcelas assumidas não recomendam deduções nem estabelecem método de remuneração.
Fragmento sintético do campo, parcial em relação ao grupo e à NF-e, sem dados reais e sem condição de transmissão:
<vFor xmlns="http://www.portalfiscal.inf.br/nfe">8000.00</vFor>
Na mesma conferência, procure vTotDed=250.00 e vLiqFor=7750.00. O trecho isolado não demonstra que o restante do grupo esteja completo ou que a nota tenha sido autorizada.
Por onde investigar um valor divergente?
Compare primeiro o acerto de origem, a referência e a safra com o XML efetivamente gerado. Se o demonstrativo estiver correto e o XML trouxer o líquido em vFor, investigue o mapeamento do emissor. Se ambos trouxerem o mesmo bruto, mas o pagamento divergir, confira as deduções e o documento financeiro correspondente; não altere o bruto apenas para fazê-lo coincidir com o crédito bancário.
Confirme critérios comerciais e a natureza das parcelas com os responsáveis pela operação e pela escrituração. A correção deve ocorrer na origem comprovadamente errada. Não edite XML já assinado nem atribua uma rejeição de soma a esse campo sem examinar a mensagem e a regra efetivamente retornadas.
Fontes técnicas
MOC 7.0 — Anexo I — 7.0: p. 65, ZC13–ZC15; p. 128, ZC01-10/763.
XSD NF-e/NFC-e — PL_010f_v1.04: linhas 6363–6477, cana e seus filhos.
Tipos básicos NF-e/NFC-e — PL_010f_v1.04: linhas 301–309, TDec_1302.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/cana/vFor- Namespace
http://www.portalfiscal.inf.br/nfe- Leiaute
- 4.00 · PL_010e_v1.02
- Ocorrências no XSD
- 1–1 no contexto do elemento pai
- Tipo
- TDec_1302 · string
- Preenchimento no catálogo
- Condicional
A ocorrência vale dentro da estrutura XML: um campo obrigatório em um grupo opcional não torna esse grupo obrigatório. A aplicação fiscal depende da operação e da versão da regra.
- pattern
0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?- whiteSpace
preserve