obsCont do item: observação identificada do contribuinte
<obsCont>det › obsItem › obsContRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
obsCont em det/obsItem é a observação de uso livre do contribuinte para um item da NF-e. O grupo combina o nome da informação, no atributo xCampo, com seu conteúdo, no elemento xTexto.
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 obsCont pertence ao item
- A identificação vai no atributo e o conteúdo no filho
- Ocorrência única e diferença para outros textos
- Exemplo do grupo e associação ao item
- Como diagnosticar campo vazio, duplicado ou perdido
Qual obsCont pertence ao item
O caminho completo é /nfeProc/NFe/infNFe/det/obsItem/obsCont, VA02 na NT 2021.004. O obsCont de infAdic é um grupo diferente, referente à nota inteira. Use o ancestral det e o atributo nItem para manter a associação com o produto certo.
No item, obsItem é opcional e obsCont também. Quando o grupo existe, xCampo e xTexto são exigidos. A tag obsCont não recebe o texto diretamente entre sua abertura e fechamento: o conteúdo precisa ficar no filho xTexto.
Schemas NF-e/NFC-e PL_010f_v1.04 NT 2021.004 — Regras de Validação e Novos Campos
A identificação vai no atributo e o conteúdo no filho
xCampo tem uma a 20 posições e identifica a informação; xTexto tem uma a 60 e contém seu valor textual. Por exemplo, REF_INTERNA pode nomear uma observação cujo conteúdo seja Controle demonstrativo do item 1. O rótulo é ilustrativo: o leiaute não o transforma em código fiscal nem exige esse nome.
Os limites pertencem a cada parte separadamente. Um identificador de 25 caracteres não fica válido porque o texto é curto. Da mesma forma, xCampo não pode receber um parágrafo para liberar espaço no xTexto. Se uma exigência oficial define um nome, confirme o nome exato, o contexto e a fonte antes de gerar.
Schemas NF-e/NFC-e PL_010f_v1.04 Tipos básicos do leiaute NF-e NT 2021.004 — Regras de Validação e Novos Campos
Ocorrência única e diferença para outros textos
Dentro de obsItem há no máximo um obsCont. O limite 0–10 do obsCont de infAdic não se aplica aqui. O contribuinte pode ter uma observação em cada item, mas não uma lista de dez nesse mesmo pai. Se houver obsFisco, ele aparece depois de obsCont e pertence ao espaço de uso do Fisco.
infAdProd é um complemento textual do item com limite próprio de 500 caracteres. obsCont é um par identificado de 20/60 posições. A diferença não é apenas de tamanho: muda a forma de identificar e interpretar o conteúdo. Não mova mensagens entre esses campos apenas para contornar excesso de tamanho ou uma rejeição.
Schemas NF-e/NFC-e PL_010f_v1.04 NT 2021.004 — Regras de Validação e Novos Campos MOC 7.0 — Anexo I
Exemplo do grupo e associação ao item
Exemplo sintético de uma observação do contribuinte. O fragmento é parcial em relação à NF-e e não contém todos os elementos exigidos no documento.
<obsCont xmlns="http://www.portalfiscal.inf.br/nfe" xCampo="REF_INTERNA">
<xTexto>Controle demonstrativo do item 1</xTexto>
</obsCont>
Na nota, esse obsCont fica dentro de det/obsItem. Não o coloque diretamente em det ou infAdic se a informação se refere a esse grupo do item. Um XML standalone validado no contexto exato confirma o grupo, mas não a finalidade fiscal do texto.
Schemas NF-e/NFC-e PL_010f_v1.04 NT 2021.004 — Regras de Validação e Novos Campos
Como diagnosticar campo vazio, duplicado ou perdido
Se obsCont existe sem xCampo ou sem xTexto, a estrutura está incompleta. Se ambos existem, confira tamanho do conteúdo interpretado, caracteres permitidos por TString e espaços nas extremidades. Use escape XML para & e <; CDATA não aumenta limite nem torna permitido um caractere fora do tipo.
Para conteúdo ausente, acompanhe a origem da informação até o mapeamento de nItem e o XML efetivo. Para repetição, confira se uma coleção pensada para infAdic foi reutilizada indevidamente em obsItem. Não descarte a segunda observação silenciosamente: resolva o conflito de representação com a origem e o responsável pelo conteúdo.
Valide o XML e compare o DANFE quando a dúvida for de exibição. O leiaute desse grupo não garante uma apresentação específica no documento auxiliar. Se o texto pretende atender a uma obrigação, confirme conteúdo, ato, UF e operação com o responsável contábil; a correção técnica preserva o dado confirmado, sem criar enquadramento tributário.
Schemas NF-e/NFC-e PL_010f_v1.04 Tipos básicos do leiaute NF-e NT 2021.004 — Regras de Validação e Novos Campos
Leitura relacionada
- xCampo — det/obsItem/obsCont/@xCampo
- xTexto — det/obsItem/obsCont/xTexto
- obsItem — det/obsItem
- obsFisco — det/obsItem/obsFisco
Fontes oficiais
- Schemas NF-e/NFC-e PL_010f_v1.04, 010f v1.04, publicado em 31/08/2026 — /infNFe/det/obsItem/obsCont; sequência e cardinalidade dos ancestrais.
- 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.
- MOC 7.0 — Anexo I, 7.00, novembro/2020 — MOC 7.0 p.58 V01; p.64 Z04–Z09: observações da nota inteira, contexto distinto.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/obsItem/obsCont- 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:complexType
- 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.