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

vBCRetPrev: base da retenção previdenciária, não anterior

<vBCRetPrev>total › retTrib › vBCRetPrev

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/vBCRetPrev é a base de cálculo da retenção da Previdência Social na NF-e/NFC-e. O sufixo Prev significa Previdência. Não descreve uma base de retenções anteriores nem valores de uma nota passada.

Qual é o significado documentado

XPath completo: /nfeProc/NFe/infNFe/total/retTrib/vBCRetPrev. 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.

O MOC identifica W29 como base de cálculo da retenção da Previdência Social e W30/vRetPrev como seu valor retido. A anotação do XSD confirma essa natureza. Não confunda com ICMS-ST retido anteriormente ou com um histórico de retenções. Fontes: MOC 7 Anexo I — leiaute e regras de validação, p.60; Schemas XML NF-e/NFC-e PL 010f.

Por que a base não pode ser copiada automaticamente

O leiaute separa vBCRetPrev de vBCIRRF e dos valores brutos da nota. Não define uma igualdade universal entre essas bases e vNF, vServ ou vProd. A base previdenciária deve vir de memória própria, com a natureza do serviço, documentos, partes, data e fundamento da retenção já confirmados.

Se a informação disponível é apenas o valor retido, o XSD não permite deduzir a base por uma alíquota padrão: o grupo não contém essa alíquota. Identifique o parâmetro e documento faltantes antes de calcular, sem converter desconhecimento em zero.

Exemplo de base previdenciária e retenção

Hipótese técnica: base confirmada de R$ 800,00 e retenção previdenciária confirmada de R$ 40,00, sem recomendação de alíquota. Fragmento completo do grupo informado, parcial em relação à nota:

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

R$ 800,00 é a referência de cálculo; R$ 40,00 é o valor retido. Não represente R$ 840,00 como retenção nem transfira os R$ 800,00 para vRetPrev. Fonte: Schemas XML NF-e/NFC-e PL 010f.

Como representar o campo opcional

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.

vBCRetPrev aparece depois de vIRRF e antes de vRetPrev, quando esses campos existem. Não use tag vazia nem descrição livre como “base anterior”. Fonte: Schemas XML NF-e/NFC-e PL 010f.

Como conferir uma integração existente

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 uma tela ou relatório chama o campo de retenção anterior, rastreie o nome no mapper e confira o conteúdo real. A correção do rótulo não autoriza modificar bases ou retenções históricas. Compare a memória previdenciária com W29 e W30 separadamente.

O valor previdenciário retido em vRetPrev aprofunda a distinção entre base e retenção.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/total/retTrib/vBCRetPrev
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