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

vIRRF de retTrib: valor retido de Imposto de Renda na NF-e

<vIRRF>total › retTrib › vIRRF

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/vIRRF registra o valor retido de Imposto de Renda na Fonte. Ele é um montante monetário; a base de cálculo correspondente é vBCIRRF, e o grupo não contém um campo de alíquota de IRRF.

Qual campo representa a retenção efetiva

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

W28 é o valor retido; W27/vBCIRRF é base. Não copie a base para o imposto, não use PIS ou CSLL retidos no lugar de IRRF e não trate uma tag declarada como comprovante de recolhimento. Fonte: MOC 7 Anexo I — leiaute e regras de validação, p.60.

Como conferir o cálculo sem inventar uma taxa

Compare vIRRF com a memória específica de retenção, já definida para a operação. Se a tarefa for reproduzir uma conta, obtenha base, taxa e demais condições documentadas; a tag não informa todos esses parâmetros. Não adote uma alíquota padrão a partir do nome do serviço ou de um valor de exemplo.

Para uma verificação puramente aritmética, seria possível assumir explicitamente base de R$ 1.000,00 e taxa hipotética de 1,2%, sem qualquer outra parcela: 1000 × 1,2/100 = 12. O resultado seria R$ 12,00 somente sob essas premissas; não é regra de retenção para o leitor.

Exemplo de representação do valor retido

Fragmento completo do grupo informado, parcial em relação à nota, para a hipótese aritmética anterior:

<retTrib xmlns="http://www.portalfiscal.inf.br/nfe">
  <vBCIRRF>1000.00</vBCIRRF>
  <vIRRF>12.00</vIRRF>
</retTrib>

O XSD não exige que a base e o imposto sempre apareçam juntos por cardinalidade, pois ambos são opcionais. Isso não substitui a necessidade de suporte documental para o valor informado. Fonte: Schemas XML NF-e/NFC-e PL 010f.

Formato e posição de vIRRF

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.

vIRRF vem depois de vBCIRRF e antes de vBCRetPrev, quando presentes. Não subtraia esse valor indiscriminadamente de vNF: representação fiscal da nota e valor líquido financeiro precisam ser conferidos segundo seus próprios contratos. Fonte: Schemas XML NF-e/NFC-e PL 010f.

Diagnóstico técnico do valor informado

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 o XML mostra R$ 1.000,00 no imposto quando a memória confirma R$ 12,00, há indício de troca base/valor a confirmar no mapper. Se memória e XML coincidem mas a retenção é questionada, identifique o parâmetro fiscal em dúvida antes de alterar a nota.

A base do IRRF em vBCIRRF completa a conferência dos dois valores sem presumir alíquota.

Referência técnica para integração

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