infAdProd: informações adicionais do produto no XML
<infAdProd>det › infAdProdRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
infAdProd contém informações adicionais de um produto ou serviço específico da NF-e ou NFC-e. É texto livre vinculado ao item, usado para complementos e normas referenciadas, separado da descrição principal do produto e das informações gerais da nota.
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:
- Onde o texto fica e a quem ele pertence
- Diferença para infCpl e obsItem
- O que informar no caso de devolução
- Limites, espaços e caracteres especiais
- Exemplo de complemento do item
- Como investigar texto ausente ou inválido
Onde o texto fica e a quem ele pertence
O XPath é /nfeProc/NFe/infNFe/det/infAdProd, campo V01. A tag é irmã de prod, imposto e impostoDevol; não é filha de prod nem de imposto. O XSD a posiciona depois de impostoDevol, quando este existir, e antes de obsItem. Cada det pode conter no máximo um infAdProd.
Selecione o nItem correto ao ler ou gerar o complemento. Um texto do produto A não deve aparecer no produto B por reaproveitamento de estado ou de um campo único para toda a nota. A descrição principal continua em prod/xProd; infAdProd serve ao complemento daquele item.
Schemas NF-e/NFC-e PL_010f_v1.04 MOC 7.0 — Anexo I
Diferença para infCpl e obsItem
infAdic/infCpl pertence à nota inteira. Já infAdProd pertence a um item e não deve receber por padrão todos os textos gerais da operação. Se o leitor procura uma observação ausente, confira tanto o caminho quanto a associação ao item antes de concluir que houve perda.
obsItem oferece observações estruturadas em pares de identificador e conteúdo: obsCont ou obsFisco, com atributo xCampo e filho xTexto. infAdProd é um único texto, sem atributo xCampo. O limite de 500 caracteres de infAdProd não se transfere ao xTexto de obsItem, que tem limite próprio de 60. Mudar o texto de lugar altera seu contexto; não é uma solução automática para excesso de tamanho.
Schemas NF-e/NFC-e PL_010f_v1.04 MOC 7.0 — Anexo I NT 2021.004 — Regras de Validação e Novos Campos
O que informar no caso de devolução
A nota do grupo UA01 no MOC orienta informar o motivo da devolução em infAdProd. O motivo é um texto factual, distinto de pDevol e de IPI/vIPIDevol. Esses campos numéricos descrevem percentual e valor; uma frase não os substitui e o percentual não explica por que a mercadoria voltou.
Por exemplo, um complemento sintético pode registrar que quatro unidades do item original foram devolvidas por avaria. Esse texto precisa corresponder ao ocorrido e ao item relacionado; não determina finalidade, CFOP, crédito ou aplicação de IPI devolvido. Para uma exigência de texto normativo, confirme a norma e seu alcance com o responsável contábil, sem inventar uma referência legal.
MOC 7.0 — Anexo I Schemas NF-e/NFC-e PL_010f_v1.04
Limites, espaços e caracteres especiais
O campo é opcional no XSD, com uma a 500 posições quando informado, baseado em TString. Não gere uma tag vazia para representar ausência. A restrição TString preserva espaços e exige caracteres nas faixas documentadas, sem espaços nas extremidades; quebras de linha, controles e caracteres fora da faixa precisam ser tratados antes da geração. Português acentuado compatível com essa faixa pode ser conservado em UTF-8; não é necessário apagar acentos.
O comprimento é do conteúdo interpretado, não do tamanho do arquivo em bytes. Em XML, & representa um caractere & no texto. Use um serializador para escapar & e <, preservando o valor. Não trunque silenciosamente um complemento de 501 caracteres: revise o conteúdo com seu responsável para manter o significado necessário.
Schemas NF-e/NFC-e PL_010f_v1.04 Tipos básicos do leiaute NF-e
Exemplo de complemento do item
Trecho sintético de infAdProd, parcial em relação à nota inteira. Assume um motivo factual só para demonstrar a redação e o formato; não representa uma operação real nem define seu tratamento fiscal.
<infAdProd xmlns="http://www.portalfiscal.inf.br/nfe">Devolucao de 4 unidades do item original por avaria na embalagem.</infAdProd>
O elemento fica diretamente em det. O XML da NF-e completa exige seus demais grupos, assinatura e validações. A presença do texto não comprova sua impressão em um DANFE: isso depende da representação auxiliar gerada e deve ser conferido nela.
Schemas NF-e/NFC-e PL_010f_v1.04 MOC 7.0 — Anexo I
Como investigar texto ausente ou inválido
Se o texto sumiu, compare a origem do complemento com o XML gerado e o nItem; depois compare o XML com o documento auxiliar. Ausência no DANFE e ausência no XML são problemas diferentes. Se há erro de schema, confira localização, ocorrência única, tamanho e caracteres do valor final, após os mapeamentos.
Se o texto está em outro item ou em infCpl, corrija a origem da associação, não o XML assinado. Para conteúdo normativo ou motivo de devolução, conserve os documentos e a confirmação do responsável pelo dado. Validade estrutural verifica representação; não confirma que a frase atende a uma obrigação específica da empresa.
Schemas NF-e/NFC-e PL_010f_v1.04 MOC 7.0 — Anexo I
Leitura relacionada
Fontes oficiais
- Schemas NF-e/NFC-e PL_010f_v1.04, 010f v1.04, publicado em 31/08/2026 — /infNFe/det/infAdProd; sequência e cardinalidade dos ancestrais.
- MOC 7.0 — Anexo I, 7.00, novembro/2020 — MOC 7.0 p.57 nota UA01; p.58 V01; p.64 infAdic e grupos homônimos.
- NT 2021.004 — Regras de Validação e Novos Campos, 1.30, maio/2022; histórico do grupo VA, não última edição nacional — NT 2021.004 v1.30, seção 3.4, p.13 VA01–VA07; edição histórica confrontada com XSD atual, sem inferência de cronograma vigente.
- 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/infAdProd- 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
- inline:TString · TString
- 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.
- maxLength
500- minLength
1- pattern
[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}- whiteSpace
preserve