Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · Informações complementares da operação

xTexto em obsCont: conteúdo da observação do contribuinte

<xTexto>infAdic › 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 dentro de obsCont é o conteúdo da observação de uso livre do contribuinte. Está em /nfeProc/NFe/infNFe/infAdic/obsCont/xTexto, item Z06 do MOC. Seu significado depende do nome informado no atributo xCampo da mesma ocorrência.

Como saber o que o conteúdo representa?

Leia o par completo. Com xCampo="REFERENCIA_INTERNA", um valor LOTE-EXEMPLO-07 representa a referência definida por aquela integração; sozinho, o texto não revela se é lote, contrato ou outra informação. O rótulo do exemplo é livre e sintético, não uma tabela oficial de interpretação.

O elemento não é um campo genérico para resolver qualquer omissão do XML. Um número de pedido em xTexto não preenche compra/xPed ou det/prod/xPed, e um texto sobre tributo não alimenta códigos ou valores estruturados. A informação precisa permanecer no contexto correspondente à sua função.

Qual o tamanho e como tratar conteúdo longo?

Cada xTexto aceita 1 a 60 caracteres e é obrigatório dentro de obsCont. O atributo xCampo também é obrigatório, com 1 a 20 caracteres; o pai pode ocorrer até dez vezes. Não envie filho vazio ou transfira o valor inteiro para o atributo.

Se o complemento for um texto corrido geral do contribuinte, infCpl tem outra função e limite, até 5.000 caracteres. Isso não autoriza mover automaticamente uma referência de integração para lá: o consumidor pode depender do par. Confira o acordo de troca de dados e preserve o significado antes de alterar a estrutura ou resumir uma descrição.

Como representar caracteres e reconhecer o fragmento?

Exemplo sintético parcial em relação à nota:

<obsCont xmlns="http://www.portalfiscal.inf.br/nfe" xCampo="SETOR">
  <xTexto>RECEBIMENTO A &amp; B</xTexto>
</obsCont>

O valor interpretado contém &; no XML o serializador escreve &amp; para preservar o caractere. A contagem do limite corresponde ao conteúdo interpretado, não à extensão da entidade na marcação nem ao número de bytes UTF-8. O padrão TString continua aplicável: escapar XML não torna qualquer caractere aceito pelo tipo.

O que conferir em texto truncado, repetido ou sem rótulo?

Compare a observação de origem com a ocorrência completa no XML efetivo. Confira se o corte ocorreu na base de dados, no mapeamento ou apenas na apresentação visual. Se nomes repetidos forem armazenados num mapa com chave única, uma integração pode sobrescrever um conteúdo; é necessário inspecionar os pares antes de concluir que a nota não contém a observação.

O xTexto de obsFisco tem o mesmo nome e tamanho, mas pertence a uso exclusivo do Fisco no XSD. Não reutilize regras ou conteúdos desse contexto em obsCont. Depois de identificar a causa, ajuste o dado ou a serialização de origem e verifique que nome e valor corretos permanecem associados. Uma observação com sintaxe válida não comprova fundamento legal nem autorização do documento.

Fontes técnicas

MOC 7.0 — Anexo I — 7.0: p. 64, Z04–Z09.

XSD NF-e/NFC-e — PL_010f_v1.04: linhas 6163–6189, obsCont/xTexto.

Tipos básicos NF-e/NFC-e — PL_010f_v1.04: linhas 519–527, TString.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/infAdic/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