Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · Outros tributos e observações do item

xTexto de obsCont no item: conteúdo de até 60 caracteres

<xTexto>det › obsItem › obsCont › xTexto

Revisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.

xTexto em obsItem/obsCont contém o texto da observação de uso livre do contribuinte para um item. Ele é o conteúdo da informação identificada pelo atributo xCampo do mesmo obsCont.

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 localizar o texto do contribuinte

O XPath é /nfeProc/NFe/infNFe/det/obsItem/obsCont/xTexto, VA04. O xTexto de obsFisco pertence ao espaço do Fisco, e os xTexto de infAdic pertencem às observações da nota inteira. Procure pelo pai e pelo nItem, sem selecionar só o nome xTexto.

O elemento é obrigatório e único quando obsCont do item existe. obsCont também exige xCampo, atributo que nomeia a informação. Um texto solto diretamente dentro de obsCont não substitui o elemento xTexto, e uma tag xTexto sem o pai correto não reproduz o contrato.

Schemas NF-e/NFC-e PL_010f_v1.04 NT 2021.004 — Regras de Validação e Novos Campos

O limite é do conteúdo, não da identificação

xTexto admite uma a 60 posições, baseado em TString. xCampo tem limite separado de uma a 20. Um valor de 61 caracteres não pode ser transferido parcialmente ao atributo só para passar no schema: nome e conteúdo têm responsabilidades diferentes.

Um campo inexistente significa ausência da observação ou de seu grupo. Um xTexto vazio dentro de obsCont informado é estrutura incompleta. Não preencha com espaços para simular conteúdo: TString preserva espaços e não permite espaços nas extremidades. A regra de caracteres também impede controles ou emojis fora da faixa aceita; acentos portugueses compatíveis podem ser mantidos em UTF-8.

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

Como escapar o texto sem alterar o que será lido

Use um serializador XML. Um & no conteúdo é escrito como &amp;, e um sinal < como &lt;; o parser recupera os caracteres originais. O limite se refere ao conteúdo interpretado: a entidade &amp; representa um caractere, e não cinco posições da observação.

CDATA é apenas outra forma de escrever texto XML e não aumenta o limite nem contorna a restrição TString. Também evite o escape duplo: se o valor já escapado for escapado outra vez, o leitor pode receber literalmente a sequência & em vez do caractere pretendido. Compare o valor de origem com o valor interpretado pelo parser, além de validar o arquivo.

Schemas NF-e/NFC-e PL_010f_v1.04 Tipos básicos do leiaute NF-e

Exemplo de identificação e conteúdo separados

Trecho sintético completo de obsCont, parcial em relação à NF-e. REF_INTERNA é um identificador ilustrativo, e o texto demonstra um & corretamente escapado; não se trata de observação fiscal padronizada.

<obsCont xmlns="http://www.portalfiscal.inf.br/nfe" xCampo="REF_INTERNA">
  <xTexto>Separacao &amp; conferencia do item 1</xTexto>
</obsCont>

O conteúdo interpretado é Separacao & conferencia do item 1. Ele pertence a det/obsItem/obsCont, e não a infAdic. Validar o fragmento confirma estrutura e literais; não confirma que a observação é verdadeira ou exigida para determinada operação.

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

Como tratar texto grande, repetido ou ausente

Se o conteúdo ultrapassa 60 caracteres, identifique o que precisa ser comunicado e confirme uma redação que preserve o significado com o responsável pelo dado. Não corte silenciosamente. infAdProd tem limite de 500 caracteres, mas é complemento do produto com semântica própria; não é um destino automático para qualquer excesso.

Há no máximo um obsCont dentro de obsItem. Não divida a frase em vários obsCont importando a cardinalidade do grupo infAdic. Se o texto está ausente, trace a origem, a associação ao nItem, o mapeamento para xTexto e o XML final. Se a ausência é apenas no DANFE, compare a representação auxiliar: a tag não garante uma área de impressão.

Quando o texto pretende cumprir uma exigência fiscal, confirme fonte, operação e conteúdo com o responsável contábil. A conferência técnica preserva o dado confirmado, verifica limites e serialização e não substitui códigos ou tributos estruturados por uma frase.

Schemas NF-e/NFC-e PL_010f_v1.04 NT 2021.004 — Regras de Validação e Novos Campos MOC 7.0 — Anexo I

Leitura relacionada

Fontes oficiais

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/det/obsItem/obsCont/xTexto
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
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
60
minLength
1
pattern
[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}
whiteSpace
preserve