vFrete no item da NF-e: valor, rateio e rejeição 535
<vFrete>det › prod › vFreteRevisão editorial em 26 de set. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
vFrete em /nfeProc/NFe/infNFe/det/prod/vFrete registra o valor de frete associado ao item. É um valor monetário opcional. Não identifica transportador, modalidade de responsabilidade ou imposto retido; esses dados possuem campos próprios em outros grupos.
Valor do frete e modalidade são informações diferentes
transp/modFrete descreve a modalidade de responsabilidade pelo frete. Seu código não é uma quantia em reais. O valor do produto em vProd continua sendo o bruto do item; o frete destacado é representado separadamente. A existência de transportador ou veículo não determina, por si só, qual valor deve ser declarado no item.
transp/retTransp/vServ representa o valor do serviço de transporte no grupo de retenção de ICMS. Não é automaticamente o total de prod/vFrete, e seus valores e condições dependem do serviço documentado. O valor de um CT-e também não deve ser copiado por uma correspondência de nomes sem verificar a operação e como o custo foi representado na NF-e.
Distribuição entre itens e centavos
Quando o documento possui um valor global de frete a distribuir, o critério precisa estar definido e documentado na origem. Peso, volume, valor ou outro critério podem resultar em distribuições diferentes; a tag não escolhe um deles. Depois de confirmada a distribuição, os centavos de cada item precisam somar o total efetivo.
Considere somente um exercício aritmético com frete total de R$ 10,00 distribuído igualmente entre três linhas. Arredondar cada parcela para 3.33 produz 9.99. Uma distribuição documentada de 3.33, 3.33 e 3.34 conserva 10.00. O exemplo mostra o resíduo de arredondamento; não define qual linha deve recebê-lo numa operação real.
Total do frete e rejeição 535
W08-10, de aplicação facultativa nos modelos 55/65, compara total/ICMSTot/vFrete ao somatório de det/prod/vFrete. A divergência gera 535. A regra publicada não manda filtrar essa soma por indTot como faz W07-10 para o bruto dos produtos. Não transfira o filtro de outra regra sem verificar a condição específica. MOC, W08-10.
O frete contribui para a composição de valores da nota no contexto de totalização aplicável. Isso não define a incidência ou a base dos tributos do item. Uma soma correta pode coexistir com um parâmetro fiscal não confirmado, que exige análise própria da operação.
Formato e exemplo de posição
O tipo do item TDec_1302Opc aceita valor positivo com até treze dígitos inteiros e duas casas quando decimal, sem zero. Quando não existe frete a informar no item, a tag pode ser omitida. O total de frete tem outra ocorrência e seu tipo admite 0.00; não se aplica automaticamente ao campo opcional do item.
Fragmento sintético e parcial de uma das parcelas do exercício. Não está pronto para transmissão.
<prod xmlns="http://www.portalfiscal.inf.br/nfe">
<!-- Campos anteriores, inclusive vUnTrib, omitidos -->
<vFrete>3.33</vFrete>
<indTot>1</indTot>
</prod>
Como investigar soma diferente
Preserve XML, retorno e documento de origem. Some os fretes efetivamente serializados, confira o total e compare à distribuição documentada. Veja se uma parcela foi omitida, duplicada ou arredondada em etapa diferente, ou se o total recebeu valor do grupo de transporte em vez da soma dos itens.
Quando há erro de mapeamento ou cálculo demonstrável, corrija a origem e confira novamente todas as parcelas. Se falta valor ou critério confirmado, obtenha esse dado; não altere modFrete, tributação ou uma quantia verdadeira para contornar a rejeição. Não edite XML assinado.
Fontes oficiais
- MOC 7.0 — Anexo I — 7.00; p.19 I15; p.121 W08-10; grupo X modFrete/retTransp.
- Schemas NF-e/NFC-e — PL_010c_NT2022_002v1.30; prod/vFrete TDec_1302Opc e ICMSTot/vFrete.
Leitura relacionada
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/prod/vFrete- Namespace
http://www.portalfiscal.inf.br/nfe- Leiaute
- 4.00 · PL_010e_v1.02
- Ocorrências no XSD
- 0–1 no contexto do elemento pai
- Tipo
- TDec_1302Opc · string
- Preenchimento no catálogo
- Opcional
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-9]{1}[1-9]{1}|0\.[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?- whiteSpace
preserve