vRetCOFINS de retTrib: COFINS retida na NF-e
<vRetCOFINS>total › retTrib › vRetCOFINSRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
retTrib/vRetCOFINS informa o valor de COFINS retido na operação representada pela NF-e/NFC-e. Não é o total de COFINS dos itens em ICMSTot ou ISSQNtot, nem o valor de COFINS por substituição tributária.
Onde a retenção se distingue do imposto dos itens
XPath completo: /nfeProc/NFe/infNFe/total/retTrib/vRetCOFINS. 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.
W25 é a retenção. ICMSTot/vCOFINS usa um recorte de itens com ICMS, ISSQNtot/vCOFINS usa serviços sujeitos ao ISSQN e COFINSST/vCOFINS é outro grupo de item. Não some ou compense essas colunas automaticamente. Fonte: MOC 7 Anexo I — leiaute e regras de validação, pp.59–60 e 121–123.
Como obter e conferir o valor retido
O grupo retTrib não tem base ou alíquota de COFINS. Por isso não fornece uma fórmula universal para extrair vRetCOFINS de vNF, de vServ ou da COFINS própria. Use a memória de retenção, com natureza do pagamento, documentos, partes, regime, data e fundamento confirmados.
Hipótese técnica: duas parcelas documentadas de COFINS retida, R$ 4,00 e R$ 2,00, referem-se à mesma nota e produzem R$ 6,00. O exemplo começa nos valores confirmados e não define taxa ou incidência. Não some retenções de documentos ou empresas diferentes.
Exemplo de XML da retenção
Fragmento completo de retTrib para a hipótese, parcial em relação à nota:
<retTrib xmlns="http://www.portalfiscal.inf.br/nfe">
<vRetCOFINS>6.00</vRetCOFINS>
</retTrib>
O exemplo contém somente COFINS retida. A cardinalidade não obriga informar PIS e CSLL junto com ela; a combinação material deve corresponder ao caso documentado. Fonte: Schemas XML NF-e/NFC-e PL 010f.
Formato, ausência e posição
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.
vRetCOFINS é opcional e vem depois de vRetPIS e antes de vRetCSLL quando esses campos estiverem presentes. Uma tag retTrib/vCOFINS, sem Ret no nome, não é esse campo. Fonte: Schemas XML NF-e/NFC-e PL 010f.
Como investigar erro ou divergência
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.
Procure cópia indevida do total de COFINS própria, soma duplicada ou valor atualizado apenas no financeiro. A informação no XML não comprova recolhimento e não autoriza afirmar que a retenção tenha sido abatida do valor a receber.
A COFINS dos serviços em ISSQNtot apresenta um total de imposto próprio, distinto de COFINS retida.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/total/retTrib/vRetCOFINS- 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