Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · Produtos e serviços

vProd no item da NF-e: bruto e rejeições 629, 630 e 564

<vProd>det › prod › vProd

Revisão editorial em 26 de set. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.

vProd em /nfeProc/NFe/infNFe/det/prod/vProd representa o valor bruto do produto ou serviço daquele item. É obrigatório e monetário. O desconto, frete, seguro e outras despesas destacados possuem campos próprios; o valor do item não é automaticamente o líquido do pedido nem o total final da nota.

Duas multiplicações devem representar o mesmo bruto

O conjunto comercial usa qCom e vUnCom. O conjunto tributável usa qTrib e vUnTrib. As unidades podem diferir, mas seus valores devem representar o mesmo bruto quando a conversão documental correspondente se aplica. Num exercício de duas caixas de doze unidades a R$ 120,00 por caixa, o bruto comercial é R$ 240,00. Com quantidade tributável 24 e preço tributável R$ 10,00, o outro produto também é R$ 240,00.

Usar 24 unidades com o preço de R$ 120,00 da caixa produziria R$ 2.880,00. Essa diferença sugere unidade/preço misturados; não se resolve elevando vProd para o número maior sem examinar a documentação. NCM ou GTIN não fornecem automaticamente o fator de conversão do produto.

Rejeições 629 e 630: escopo e arredondamento

I11-10/629 compara vProd a qCom×vUnCom; I11-20/630 compara vProd a qTrib×vUnTrib. O MOC as descreve como facultativas, modelos 55/65, para NF-e normal (finNFe=1). A nota(*4) orienta arredondar o produto da multiplicação para duas casas e considerar a tolerância de R$ 0,01 para mais ou menos nessa comparação. A condição não é uma autorização para mudar preços ou uma tolerância universal de todos os totais. MOC, I11 e nota(*4).

Preço unitário admite precisão maior que vProd. Por exemplo, 3×0.3333333333 resulta 0.9999999999 e arredonda para 1.00 no exercício monetário. Não arredonde o preço antes da multiplicação sem verificar a consequência: o diagnóstico deve usar os valores realmente serializados no XML.

Desconto separado e total de produtos

Com vProd 240.00 e desconto documentado 24.00, o líquido comercial simples é 216.00; o bruto continua 240.00. Colocar 216.00 em vProd e ainda 24.00 em vDesc duplica a redução nessa representação. I17-10/483 impede desconto maior que o bruto do mesmo item.

total/ICMSTot/vProd é outra ocorrência. O MOC base descrevia W07-10/564 para itens sujeitos ao ICMS com indTot=1. Na NT 2025.002 v1.51, W07-10 inclui itens sujeitos ao ICMS ou IBS/CBS/IS, mantém indTot=1 e marca a validação obrigatória. A alteração W07 está na linha 1.40 com homologação até 01/07/2026 e produção 03/08/2026, sem o adiamento de outras regras. As ressalvas do cronograma para validações específicas dos novos tributos dependem da presença dos respectivos campos no documento. NT RTC, pp.5–6 e 72.

Itens de ISSQN possuem contexto próprio de totalização, mas isso não permite excluir um item abrangido pelo conjunto atual de W07. Não some toda tag chamada vProd de qualquer contexto; identifique grupos tributários efetivos e indTot antes de comparar. A ampliação do conjunto não define a incidência de um item concreto. O indicador indTot possui restrições próprias, incluindo a regra 774 nas condições documentadas.

Num exercício apenas de seleção do somatório, numa NF-e modelo 55, suponha três linhas documentalmente confirmadas: R$ 100,00 de uma linha sujeita ao ICMS com indTot=1, R$ 20,00 de uma linha sujeita a IBS/CBS com indTot=1 e R$ 50,00 de uma linha com indTot=0. O conjunto de W07 contém 100+20=120, sem os 50 da terceira linha. Esse exercício ilustra o conjunto depois de conhecidos os grupos e o indicador; não decide quais grupos ou indicador devem ser preenchidos pelo leitor. Na NFC-e, indTot=0 tem a restrição própria de I17b-10/774 e não deve ser adotado a partir desse exercício de modelo 55.

Representação no XML

O tipo TDec_1302 admite zero ou valor positivo, até treze dígitos inteiros e duas casas quando decimal. Não aceita número negativo, símbolo monetário ou vírgula decimal. A aceitação lexical de zero não substitui um preço ou quantidade desconhecidos.

Fragmento sintético e parcial do exercício de conversão, com identificação e classificação omitidas. Não está pronto para transmissão.

<prod xmlns="http://www.portalfiscal.inf.br/nfe">
  <!-- Campos anteriores omitidos -->
  <uCom>CX</uCom><qCom>2.0000</qCom><vUnCom>120.00</vUnCom>
  <vProd>240.00</vProd><cEANTrib>SEM GTIN</cEANTrib>
  <uTrib>UN</uTrib><qTrib>24.0000</qTrib><vUnTrib>10.00</vUnTrib>
  <vDesc>24.00</vDesc><indTot>1</indTot>
</prod>

Conferência orientada pelo retorno

Para 629 ou 630, identifique o item e calcule a multiplicação indicada com os números efetivos, preservando precisão e unidades. Confira fator da embalagem, líquido copiado como bruto e desconto em duplicidade. Para 564, confira o conjunto de itens e indTot antes do somatório.

Se a causa é cálculo ou transferência comprovadamente incorretos, corrija a origem e confira o novo XML. Se falta apresentação, preço ou parâmetro fiscal, obtenha esse dado específico. Não altere uma quantidade verdadeira ou o bruto para forçar fechamento e não edite documento assinado.

Fontes oficiais

Leitura relacionada

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/det/prod/vProd
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
Obrigatório

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