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

retTrib na NF-e: retenções federais, bases e valores

<retTrib>total › retTrib

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 reúne valores de retenções de tributos federais no total da NF-e/NFC-e. Contém PIS, COFINS, CSLL, IRRF e Previdência Social; as bases de IRRF e Previdência são campos separados dos valores retidos.

Nesta página:

Onde fica o grupo e o que a estrutura exige

XPath completo: /nfeProc/NFe/infNFe/total/retTrib. 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 grupo é opcional, no máximo uma ocorrência, depois de ISSQNtot e antes de ISTot quando esses irmãos existirem. Seus sete filhos são opcionais, mas têm ordem definida. A estrutura não exige que todos os tributos sejam informados juntos e não determina quando a operação está sujeita à retenção. Fonte: Schemas XML NF-e/NFC-e PL 010f.

Quais são os campos e o que cada um significa

Ordem Campo Significado
1 vRetPIS Valor retido de PIS.
2 vRetCOFINS Valor retido de COFINS.
3 vRetCSLL Valor retido de CSLL.
4 vBCIRRF Base de cálculo do IRRF.
5 vIRRF Valor retido de IRRF.
6 vBCRetPrev Base de cálculo da retenção da Previdência Social.
7 vRetPrev Valor da retenção da Previdência Social.

Prev significa Previdência, não “anterior”. O grupo não contém uma base única para PIS, COFINS e CSLL, nem suas alíquotas. Não tente recuperar uma base fiscal dividindo qualquer total por uma taxa presumida. Fonte: MOC 7 Anexo I — leiaute e regras de validação, pp.59–60.

Como distinguir retenção de outros totais

ICMSTot/vPIS e vCOFINS totalizam impostos de itens no recorte ICMS; os campos de ISSQNtot usam o recorte de serviços. retTrib/vRetPIS e vRetCOFINS representam retenções. Uma contribuição apurada e sua retenção não são a mesma coluna.

ISS retido fica em ISSQNtot/vISSRet, e outras retenções de serviços em ISSQNtot/vOutro. O leiaute não manda agregar esses valores dentro de retTrib, nem usar vRetPrev para uma retenção histórica de ICMS-ST. Fonte: MOC 7 Anexo I — leiaute e regras de validação, pp.58–60.

Exemplo de representação com premissas declaradas

Hipótese exclusivamente técnica: a memória de retenções já confirma PIS de R$ 2,00, COFINS de R$ 6,00, CSLL de R$ 3,00, base de IRRF de R$ 1.000,00 e IRRF de R$ 12,00, base previdenciária de R$ 800,00 e retenção previdenciária de R$ 40,00. Esses valores são premissas independentes, sem recomendação de incidência, base ou percentual.

Fragmento completo de retTrib, parcial em relação à nota:

<retTrib xmlns="http://www.portalfiscal.inf.br/nfe">
  <vRetPIS>2.00</vRetPIS>
  <vRetCOFINS>6.00</vRetCOFINS>
  <vRetCSLL>3.00</vRetCSLL>
  <vBCIRRF>1000.00</vBCIRRF>
  <vIRRF>12.00</vIRRF>
  <vBCRetPrev>800.00</vBCRetPrev>
  <vRetPrev>40.00</vRetPrev>
</retTrib>

Não some bases aos valores retidos: R$ 1.000,00 e R$ 800,00 são referências de cálculo, não montantes retidos. O exemplo não demonstra recolhimento ou pagamento. Fonte estrutural: Schemas XML NF-e/NFC-e PL 010f.

Formato, ausência e zero dos filhos

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.

Assim, vIRRF=0.00 pode falhar no schema mesmo que o campo seja opcional. Preserve a informação real na origem e represente o XML conforme o tipo; nunca substitua zero por R$ 0,01 para obter aceitação. Uma ausência de parâmetro fiscal também não pode ser convertida em zero.

retTrib define alíquota ou reduz automaticamente vNF?

O grupo não contém alíquotas e não fornece uma regra geral para escolher base ou retenção. A composição de vNF em W16-10, atualizada pela NT 2023.004, não traz uma subtração genérica de todos os filhos de retTrib; bases de retenção não são parcelas de preço. Não transforme o valor fiscal da nota em líquido a receber por uma fórmula presumida. Para definir incidência, valores e reflexos financeiros, reúna contrato, natureza do pagamento, documentos, partes, regime e data com o responsável contábil. Fontes: MOC 7 Anexo I — leiaute e regras de validação, pp.59–60 e 122; NT 2023.004 — Informações de Pagamentos e Outros, pp.15–16.

Como investigar divergência ou erro de integração

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.

Uma conferência útil usa colunas separadas para as duas bases e para cada retenção, vinculadas à mesma nota/empresa. Compare cada campo com sua memória específica; não some todas as tags cujo nome contém Ret ou Prev. A autorização do XML não comprova recolhimento das retenções.

A base de retenção da Previdência em vBCRetPrev esclarece o sufixo Prev e sua diferença para retenções históricas.

Referência técnica para integração

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