vIPIDevol do item: valor do IPI devolvido e soma do total
<vIPIDevol>det › impostoDevol › IPI › vIPIDevolRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
vIPIDevol em impostoDevol/IPI é o valor monetário de IPI devolvido de um item da NF-e. A tag expressa o resultado atribuído à devolução, e não uma alíquota, o percentual da mercadoria ou o IPI de todas as notas envolvidas.
A estrutura descrita usa o pacote oficial PL_010f_v1.04, publicado em 31/08/2026. Esse pacote não altera a versão selecionada de um XML histórico na consulta; para arquivos de outra versão, confira a declaração correspondente e as regras vigentes na data e no ambiente do documento.
Neste artigo:
- Qual vIPIDevol está no item
- Como obter e conferir o valor da devolução
- Formato monetário e dependências do grupo
- Exemplo do valor com o percentual correspondente
- Como resolver uma divergência do total ou da finalidade
Qual vIPIDevol está no item
O XPath é /nfeProc/NFe/infNFe/det/impostoDevol/IPI/vIPIDevol, UA04. Existe também total/ICMSTot/vIPIDevol, W12a. A tag UA04 corresponde a cada item; W12a agrega esses valores. Em uma nota com mais de um det, selecione o nItem para não usar o total como se fosse o valor daquele produto.
O vIPI em det/imposto/IPI/IPITrib é outro campo. O valor devolvido não deve ser copiado automaticamente para vIPI, nem seu total confundido com total/ICMSTot/vIPI. As fontes descrevem grandezas e caminhos separados.
Schemas NF-e/NFC-e PL_010f_v1.04 MOC 7.0 — Anexo I
Como obter e conferir o valor da devolução
O leiaute identifica o campo, mas não dispensa o XML original e a correspondência entre mercadoria original e devolvida. Reúna IPI de origem atribuível ao item, quantidade original, quantidade devolvida e unidades. Se as unidades diferem, a conversão deve estar documentada antes de usar uma razão.
Exemplo sintético: dez unidades homogêneas têm R$ 50,00 de IPI atribuível; quatro são devolvidas. Com proporcionalidade confirmada, 4 ÷ 10 = 40%, e R$ 50,00 × 40% = R$ 20,00. Esse resultado é o vIPIDevol; pDevol recebe 40.00. Não são a mesma informação em formatos diferentes.
Em devolução total desse mesmo item, o percentual seria 100% e o valor proporcional R$ 50,00. Os exemplos assumem a pertinência e atribuição do imposto; não escolhem tratamento nem estabelecem método universal para operações com múltiplas origens ou composição diferente. Confira o critério com o responsável contábil antes da geração.
MOC 7.0 — Anexo I Schemas NF-e/NFC-e PL_010f_v1.04
Formato monetário e dependências do grupo
vIPIDevol usa TDec_1302: até 13 dígitos inteiros, admitindo inteiros ou exatamente duas casas decimais quando há fração, sem sinal negativo. R$ 20,00 fica 20.00; não use 20,00, R$ 20.00 ou símbolo de porcentagem. O zero é admitido pelo tipo, mas só deve representar um zero conhecido e documentado.
O campo é obrigatório quando o grupo IPI de impostoDevol existe. O pai impostoDevol exige pDevol antes de IPI. Não basta gerar a tag isolada em det, nem usar um IPI sem vIPIDevol. O XML bem formado pode continuar inválido no schema por pai, ordem ou filhos incorretos.
Schemas NF-e/NFC-e PL_010f_v1.04 Tipos básicos do leiaute NF-e
Exemplo do valor com o percentual correspondente
Fragmento sintético completo do grupo, parcial em relação à NF-e, para a devolução de 40% e valor atribuível de R$ 20,00. Não contém os demais dados exigidos para uma nota real.
<impostoDevol xmlns="http://www.portalfiscal.inf.br/nfe">
<pDevol>40.00</pDevol>
<IPI>
<vIPIDevol>20.00</vIPIDevol>
</IPI>
</impostoDevol>
O motivo da devolução é explicado em infAdProd conforme a nota UA01 do MOC. Ele não é representado pelo valor monetário nem pode ser deduzido do percentual.
Schemas NF-e/NFC-e PL_010f_v1.04 MOC 7.0 — Anexo I
Como resolver uma divergência do total ou da finalidade
A regra W12a-10, modelo 55, descreve a rejeição 863 quando o total W12a difere da soma dos itens UA04. Está marcada como facultativa no MOC. Some os valores serializados dos itens: R$ 20,00 + R$ 5,35 = R$ 25,35. Se o total estiver em R$ 25,00, confira o agregador e o tratamento dos centavos, sem alterar os itens corretos para se adequarem ao total errado.
Não some pDevol e não substitua o total por vIPI. A integração também precisa considerar a composição de vNF segundo suas regras específicas e exceções; duplicar o valor em vOutro não é uma correção genérica.
UA01-10/354 trata finalidade incompatível em NF-e, e UA01-20/390 trata impostoDevol em NFC-e. Nesse caso, reveja modelo e finalidade reais, sem mudar o valor para contornar o retorno. Guarde XML original, memória de atribuição, quantidades, finalidade, nItem e retorno integral para confirmar a causa e conferir a geração corrigida.
MOC 7.0 — Anexo I Schemas NF-e/NFC-e PL_010f_v1.04
Leitura relacionada
Fontes oficiais
- Schemas NF-e/NFC-e PL_010f_v1.04, 010f v1.04, publicado em 31/08/2026 — /infNFe/det/impostoDevol/IPI/vIPIDevol; sequência e cardinalidade dos ancestrais.
- MOC 7.0 — Anexo I, 7.00, novembro/2020 — MOC 7.0 p.57 UA01–UA04; p.58 W12a; p.119 UA01-10/354; p.120 UA01-20/390; p.121 W12a-10/863; p.122 W16-10 e exceções.
- Tipos básicos do leiaute NF-e, PL_010f_v1.04 — TString; TDec_1302; TDec_0302Max100 conforme o campo.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/impostoDevol/IPI/vIPIDevol- 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
- 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\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?- whiteSpace
preserve