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

xCampo em obsCont: atributo que nomeia a observação do contribuinte

@xCampoinfAdic › obsCont › @xCampo

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

xCampo em obsCont é o atributo que identifica o nome de uma observação de uso livre do contribuinte. Seu XPath é /nfeProc/NFe/infNFe/infAdic/obsCont/@xCampo. O símbolo @ indica atributo: ele aparece na abertura de obsCont, e não como elemento filho.

O nome do campo é um código oficial?

O MOC define Z05 como identificação do campo, associado ao uso livre do contribuinte em Z04. Não publica nesse campo uma tabela nacional de nomes de observação. Um nome comercial como SETOR precisa fazer sentido no acordo de integração que o utiliza, mas não se transforma em código fiscal pela presença no XML.

xTexto contém o conteúdo associado. Por exemplo, xCampo="SETOR" e xTexto com RECEBIMENTO A representam a observação inteira. Escrever o texto longo no atributo e deixar o filho vazio inverte as funções. Um nome também não instrui a SEFAZ a calcular imposto, validar um benefício ou interpretar uma referência como se fosse outra tag.

Quais limites e regras de presença conferir?

Cada obsCont exige um xCampo de 1 a 20 caracteres e um xTexto de 1 a 60. O grupo pode repetir até dez vezes no nível da nota. Quando não há observação aplicável, omita a ocorrência; quando ela existe, seu nome não pode faltar.

O atributo usa TString, com restrições de caracteres e espaços. Preservar dados não significa acrescentar espaços nas extremidades para alcançar tamanho. Se a referência recebida excede 20 caracteres, confirme um rótulo adequado no contrato de integração sem alterar o conteúdo documental que pertence a xTexto ou a outro campo.

Como o atributo aparece num fragmento?

Exemplo sintético do par, parcial em relação à nota, sem nome oficial padronizado:

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

O namespace pertence ao elemento obsCont; xCampo é atributo não qualificado. Um serializador que gere um atributo com outro namespace pode produzir uma estrutura diferente da esperada. Se o conteúdo do atributo incluir uma aspa dupla, ela exige escape XML apropriado quando o atributo estiver delimitado por aspas duplas.

Como distinguir o xCampo de obsFisco e corrigir mapeamentos?

Existe outro @xCampo em obsFisco, com limite semelhante, porém num grupo de uso exclusivo do Fisco segundo o XSD. O atributo de obsCont não herda essa finalidade, e um nome livre do contribuinte não deve ser movido para obsFisco para parecer oficial.

Ao diagnosticar nome ausente ou trocado, localize o pai exato, compare os pares no XML e examine se o programa tratou o atributo como tag filha. Depois confira a origem comercial e o consumidor que depende desse rótulo. Não edite um XML assinado para mudar o nome; corrija a representação na origem pelo procedimento cabível. A aprovação estrutural demonstra formato, não validade fiscal do conteúdo narrado.

Fontes técnicas

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

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

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/@xCampo
Namespace
Não informado
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
20
minLength
1
pattern
[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}
whiteSpace
preserve