vOutro em ICMSTot: despesas acessórias e rejeição 604
<vOutro>total › ICMSTot › vOutroRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
ICMSTot/vOutro é o total de outras despesas acessórias dos itens. Seu nome coincide com ISSQNtot/vOutro, mas os significados são diferentes: no grupo ISSQNtot, vOutro informa outras retenções.
Qual caminho distingue despesa de retenção
XPath completo: /nfeProc/NFe/infNFe/total/ICMSTot/vOutro. 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.
A origem para W15 é det/prod/vOutro (I17a), e não det/imposto/ISSQN/vOutro (U08). Um extrator que agrupa apenas pela última tag poderá somar despesas e retenções. Mantenha os ancestrais na consulta e no mapeamento. Fonte: MOC 7 Anexo I — leiaute e regras de validação, pp.59 e 123.
Como conferir as despesas acessórias
W15-10 compara W15 com a soma de I17a dos itens. O MOC não transfere para essa regra o filtro indTot=1 de W07-10. Faça o rateio antes de totalizar, de acordo com os dados documentados; não distribua um valor desconhecido só para fechar o XML.
Hipótese sintética: despesas já atribuídas de R$ 18,40 e R$ 11,60 somam R$ 30,00. Se o total foi escrito como R$ 35,00, a diferença de R$ 5,00 deve ser rastreada à origem; não basta acrescentá-la a um item arbitrário. Fonte: MOC 7 Anexo I — leiaute e regras de validação, p.121.
Como a parcela se relaciona com vNF
A composição W16-10 inclui vOutro de ICMSTot como acréscimo. Isso não significa que qualquer custo, retenção ou imposto possa ser transferido para esse campo. Frete, seguro, IPI e II têm campos próprios; as outras retenções de ISSQNtot são outro conceito. A NT 2023.004 v1.20 atualiza a composição e suas exceções. A classificação material da despesa deve estar definida antes da serialização. Fontes: MOC 7 Anexo I — leiaute e regras de validação; NT 2023.004 — Informações de Pagamentos e Outros, pp.15–16.
Formato do campo total
No PL 010f v1.04, o tipo TDec_1302 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 aceita 0.00. Zero só representa um total conhecido igual a zero; não é substituto de valor ainda não apurado. Fonte: Tipos básicos NF-e/NFC-e.
Projeção parcial de ICMSTot para o exemplo de R$ 30,00:
<vOutro xmlns="http://www.portalfiscal.inf.br/nfe">30.00</vOutro>
O campo é obrigatório, após vCOFINS e antes de vNF. Não use <vOutro/> para representar ausência, nem 30,00 no conteúdo XML. Fonte: Schemas XML NF-e/NFC-e PL 010f.
Diagnóstico da rejeição 604
A regra W15-10 compara o total com os campos det/prod/vOutro dos itens; a divergência corresponde à rejeição 604, nas condições documentadas. Leia o código e a mensagem do retorno real antes de atribuir a causa. Liste os itens participantes, preserve os valores efetivamente serializados e some-os com aritmética decimal. Compare esse resultado com a tag de total, procurando item omitido, soma duplicada, ancestral errado ou alteração posterior ao cálculo.
Corrija a origem comprovada do erro no cálculo ou no mapeamento; depois gere uma nova prévia e valide novamente o campo, os itens e o XSD aplicável. Não edite XML já assinado ou autorizado para acertar a soma. No MOC a aplicação é facultativa, modelos 55/65. Para outras retenções do ISS, a regra correspondente é W22c-10/365, e não 604. A aceitação pelo XSD demonstra estrutura, não autorização nem tratamento fiscal correto. Fonte: MOC 7 Anexo I — leiaute e regras de validação.
O outro contexto está detalhado em vOutro de ISSQNtot, outras retenções.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/total/ICMSTot/vOutro- Namespace
http://www.portalfiscal.inf.br/nfe- Leiaute
- 4.00 · PL_010e_v1.02
- Ocorrências no XSD
- 1–1 no contexto do elemento pai
- Tipo
- TDec_1302 · string
- Preenchimento no catálogo
- Obrigatório
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\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?- whiteSpace
preserve