xProd: descrição do produto ou serviço na NF-e e NFC-e
<xProd>det › prod › xProdRevisão editorial em 26 de set. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
xProd é o texto que identifica o produto ou serviço de cada item da NF-e ou NFC-e. A descrição deve corresponder ao que foi efetivamente faturado. O campo é obrigatório, fica em det/prod e admite de 1 a 120 caracteres, conforme o MOC 7.0, Anexo I, campo I04, página 17.
Nesta página: origem, homologação, campos distintos, formato, diagnóstico.
De onde vem a descrição
Confira a descrição selecionada no cadastro ou informada na emissão com o pedido e o item vendido. Quando houver características que distinguem a mercadoria, como tamanho ou embalagem, inclua-as de forma clara. Por exemplo: “Camiseta de algodão, tamanho M, azul”. A descrição ajuda a reconhecer o item, mas não define sua classificação nem substitui os campos de código do produto, NCM ou CFOP.
Este fragmento sintético é bem formado e mostra apenas o campo; não constitui uma nota pronta para transmissão:
<xProd xmlns="http://www.portalfiscal.inf.br/nfe">Camiseta de algodão, tamanho M, azul</xProd>
Abra o XML em um editor de texto e pesquise <xProd>; confira o item det correspondente. Em uma nota processada, o caminho é nfeProc/NFe/infNFe/det/prod/xProd. Há uma descrição por item; confira todas as ocorrências, e não somente a primeira.
A exceção nos testes de homologação
Em homologação (tpAmb=2), a regra I04-10 exige uma descrição padronizada no primeiro item quando o documento é NFC-e, modelo 65, ou NF-e, modelo 55, com DANFE Simplificado Tipo 2 (tpImp=6):
NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL
Copie a frase exatamente, inclusive “HOMOLOGACAO” sem acento. Essa condição está na NT 2026.002 v1.10a, páginas 11–12, regra I04-10. O cronograma da página 3 estabelece 03/08/2026 para a ampliação ao DANFE Simplificado Tipo 2. A regra não manda substituir a descrição real dos itens em produção nem padronizar todos os itens de uma nota de teste.
Se houver rejeição 373, compare o ambiente, o modelo, o tipo de impressão e o xProd do primeiro item no XML efetivamente enviado. Ajuste a geração do documento de teste quando essa condição estiver comprovada; a descrição do cadastro comercial não precisa ser substituída pela frase de homologação.
Código, descrição e classificação respondem a perguntas diferentes
O código cProd identifica o item segundo a codificação do emitente; xProd permite a uma pessoa reconhecer o que está sendo faturado. Dois fornecedores podem usar códigos diferentes para a mesma mercadoria. Por isso, uma integração não deve tratar a descrição como identificador único: compare emitente, código, características e unidade. NCM classifica a mercadoria e CFOP identifica a operação; nenhum desses campos substitui o nome legível do item.
Uma descrição como “Camiseta” pode não permitir distinguir tamanho e cor em uma conferência. “Camiseta de algodão, tamanho M, azul” explicita essas diferenças sem tentar decidir NCM ou tributação. Se o pedido contém duas variantes e o XML repete a descrição de uma delas, confira o vínculo do item ao cadastro, em vez de trocar a descrição de toda a nota. O mesmo produto pode aparecer em vários det; o atributo nItem identifica a ocorrência, não a identidade comercial da mercadoria.
Formato, acentos e caracteres especiais
O tamanho de 1 a 120 refere-se ao texto do campo. No tipo TString usado no schema, há restrição de caracteres e não são aceitos espaços no início ou no fim. Acentos como os de “algodão” podem ser preservados: não é necessário transformar todas as descrições em texto sem acento. Já o literal de homologação é uma comparação exata e permanece sem acento por ser esse o texto oficial.
Ao gerar XML, caracteres reservados precisam ser escapados. Um nome comercial que contém & pode ser representado assim:
<xProd xmlns="http://www.portalfiscal.inf.br/nfe">Conjunto de porca & parafuso</xProd>
O conteúdo lido pelo processador XML será “Conjunto de porca & parafuso”. & é a representação XML do caractere, não uma alteração do nome. Use um gerador XML que faça esse escape; um & solto pode tornar o documento malformado antes da validação fiscal. Essas restrições constam em prod/xProd e TString do pacote oficial de schemas PL_010c.
Como conferir uma descrição incorreta ou um erro de geração
- Localize o
detapontado pelo problema e confirmenItem,cProd,xProd, unidade e quantidade. Procurar só a primeira tag pode levar à análise de outro item. - Compare com o pedido e o cadastro usados no momento da geração. Se o cadastro foi alterado depois, essa alteração não prova que o XML anterior foi gerado com o novo valor.
- Para erro estrutural, confira tag ausente, texto vazio, tamanho, espaços nas pontas e caracteres XML reservados. Valide contra o pacote de schemas usado pela integração.
- Para rejeição 373, use a conferência específica de ambiente, modelo e
tpImpdescrita acima; não deduza essa rejeição de qualquer texto incorreto em produção. - Corrija a origem comprovada e confira o novo documento gerado antes da transmissão. Uma nota autorizada não deve ser corrigida por edição direta do XML assinado: essa edição não modifica o documento autorizado e compromete sua integridade.
Uma descrição bem formada não prova que a classificação fiscal esteja correta nem que a nota esteja autorizada. Para conferir o estado do documento, examine o retorno de autorização e o protocolo correspondente; xProd não é um campo de status.
Consultas que ajudam na conferência
- Dados do produto ou serviço: prod: mostra o grupo em que a descrição aparece junto aos demais dados do item.
- Rejeição 373: orienta o diagnóstico quando o retorno aponta divergência na descrição do primeiro item em homologação.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/prod/xProd- 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
- inline:TString · TString
- 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.
- maxLength
120- minLength
1- pattern
[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}- whiteSpace
preserve