xTexto em obsCont: conteúdo da observação do contribuinte
<xTexto>infAdic › obsCont › xTextoRevisã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 & B</xTexto>
</obsCont>
O valor interpretado contém &; no XML o serializador escreve & 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