Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · Totais

vRetPrev: valor da retenção previdenciária na NF-e

<vRetPrev>total › retTrib › vRetPrev

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

retTrib/vRetPrev é o valor da retenção da Previdência Social na NF-e/NFC-e. O nome não significa “retenções anteriores”. A base previdenciária, quando representada, fica em vBCRetPrev.

O significado de Prev e o campo correspondente

XPath completo: /nfeProc/NFe/infNFe/total/retTrib/vRetPrev. Se o arquivo contém apenas a raiz NFe, retire /nfeProc do início. Em consultas XPath, associe um prefixo, por exemplo n, ao namespace http://www.portalfiscal.inf.br/nfe e use esse prefixo em cada elemento. Buscar apenas pelo nome da última tag pode misturar item e total ou grupos tributários diferentes.

O campo pertence às retenções federais da NF-e/NFC-e. Não é uma tag de NFS-e, nem um destaque de imposto próprio de item. Fonte: MOC 7 Anexo I — leiaute e regras de validação, grupo W02.

W30 é o valor de retenção da Previdência Social; W29/vBCRetPrev é a base. A distinção consta no MOC e na anotação do XSD. Não use vRetPrev para qualquer retenção antiga, para ICMS-ST retido anteriormente ou para total histórico do fornecedor. Fontes: MOC 7 Anexo I — leiaute e regras de validação, p.60; Schemas XML NF-e/NFC-e PL 010f.

Como conferir a retenção a partir da memória correta

O valor deve corresponder à memória previdenciária da operação. O grupo não contém uma alíquota de Previdência e não diz que sua base seja sempre igual a vNF ou vServ. Confirme serviço, documentos, partes, data, base, taxa e demais condições aplicáveis antes de reproduzir um cálculo.

Exemplo exclusivamente aritmético, com premissas hipotéticas que não recomendam retenção: base de R$ 800,00, taxa de 5%, sem outra parcela. 800 × 5/100 = 40, resultando em R$ 40,00. Fora dessas premissas, essa conta não determina o valor do caso do leitor.

Exemplo com base e valor separados

Fragmento completo do grupo informado, parcial em relação à nota, para as premissas anteriores:

<retTrib xmlns="http://www.portalfiscal.inf.br/nfe">
  <vBCRetPrev>800.00</vBCRetPrev>
  <vRetPrev>40.00</vRetPrev>
</retTrib>

Não some R$ 800,00 da base aos R$ 40,00 retidos; o valor de retenção é W30. A estrutura permite filhos opcionais, mas não substitui a documentação do cálculo. Fonte: Schemas XML NF-e/NFC-e PL 010f.

Como serializar e preservar zeros conhecidos

No PL 010f v1.04, o tipo TDec_1302Opc usa ponto como separador, sem R$, vírgula, espaço, sinal ou separador de milhar. Para valores com parte decimal, use duas casas, como 12.50. O padrão não aceita 0 ou 0.00: a ausência de uma tag opcional e o valor zero são estados diferentes. Preserve o zero conhecido na origem; a serialização deve seguir o tipo, sem inventar um valor positivo ou substituir informação desconhecida por zero. Fonte: Tipos básicos NF-e/NFC-e.

vRetPrev é o último filho de retTrib, depois de vBCRetPrev quando esta existir. Não troque um zero conhecido por um pequeno valor positivo para satisfazer o schema. Corrija a representação preservando o dado real na origem. Fonte: Schemas XML NF-e/NFC-e PL 010f.

Diagnóstico de rótulo ou valor incorreto

O MOC 7, Anexo I, p.123, informa que não há regras de validação para o grupo retTrib. Isso se refere às regras de negócio daquela edição; o XSD continua exigindo sequência, tipo e cardinalidade. Não invente um código de rejeição de soma para este campo. Compare documento de origem, memória de retenção, valores armazenados e XML final; investigue separadamente formato, mapeamento e mérito fiscal. Corrija somente a origem comprovada, preservando XML autorizado. Fonte: MOC 7 Anexo I — leiaute e regras de validação.

Se um relatório usa o rótulo retenções anteriores, confira o mapeamento para evitar misturar histórico com a retenção previdenciária da nota. Se o valor coincide com a base, procure troca W29/W30. O XML não comprova recolhimento, pagamento ou compensação dessa retenção.

A base previdenciária em vBCRetPrev completa a conferência do par W29/W30.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/total/retTrib/vRetPrev
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
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-9]{1}[1-9]{1}|0\.[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?
whiteSpace
preserve