vRetCSLL de retTrib: valor de CSLL retido na NF-e
<vRetCSLL>total › retTrib › vRetCSLLRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
retTrib/vRetCSLL registra o valor retido de Contribuição Social sobre o Lucro Líquido (CSLL) na NF-e/NFC-e. É uma retenção declarada no total da nota; não é a base de cálculo nem a apuração de lucro da empresa.
O que a tag informa e o que não contém
XPath completo: /nfeProc/NFe/infNFe/total/retTrib/vRetCSLL. 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 W26 como valor retido de CSLL. O grupo não tem uma tag de base ou alíquota de CSLL. Também não possui um campo único para juntar CSLL, PIS e COFINS: cada retenção tem seu filho próprio. Fonte: MOC 7 Anexo I — leiaute e regras de validação, pp.59–60.
Como conferir o montante sem deduzir o tratamento
Compare o valor com a memória de retenção da operação. Não calcule a CSLL retida aplicando uma taxa presumida sobre vNF nem deduza a incidência apenas porque existem PIS e COFINS retidos. Para definir o valor, confirme natureza do pagamento, documentação, partes, data e fundamento com o responsável contábil.
Hipótese técnica: duas parcelas confirmadas de CSLL retida de R$ 1,00 e R$ 2,00, pertencentes à mesma nota, produzem R$ 3,00. Esse valor não inclui as parcelas de PIS e COFINS que eventualmente existam; elas permanecem separadas. Não há sugestão de percentual neste cenário.
Exemplo de representação da CSLL
Fragmento completo do grupo informado, parcial em relação à nota:
<retTrib xmlns="http://www.portalfiscal.inf.br/nfe">
<vRetCSLL>3.00</vRetCSLL>
</retTrib>
A tag armazena o valor retido, não um percentual. Informar 1.00 significa um real, não um por cento. Fonte: Schemas XML NF-e/NFC-e PL 010f.
Formato e posição no grupo
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.
vRetCSLL é opcional, depois de vRetCOFINS e antes de vBCIRRF quando presentes. O total de retenções exibido por um financeiro não deve ser colocado inteiro nesta tag se contiver outros tributos. Fonte: Schemas XML NF-e/NFC-e PL 010f.
Como diagnosticar o campo 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.
Confira especialmente se a integração agrupou várias contribuições em W26 ou importou um percentual como valor monetário. Uma soma correta de retenções não comprova regularidade da apuração, pagamento ou recolhimento de CSLL.
O grupo retTrib completo mostra a CSLL ao lado das outras retenções e das duas bases.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/total/retTrib/vRetCSLL- 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