xCampo em obsFisco: nome da observação fiscal no atributo correto
@xCampoinfAdic › obsFisco › @xCampoRevisã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 obsFisco identifica o nome do campo de uma observação de uso do Fisco. O XPath é /nfeProc/NFe/infNFe/infAdic/obsFisco/@xCampo, item Z08 do MOC. Ele é atributo do grupo; o valor da observação fica no elemento xTexto da mesma ocorrência.
O que o nome comprova e o que depende da origem?
O atributo permite reconhecer como o conteúdo é identificado, mas não comprova sua autoria oficial ou efeito fiscal. O XSD descreve obsFisco como uso exclusivo do Fisco. Portanto, o emissor não deve criar um nome apenas porque o formato é livre ou porque existe espaço no XML.
Quando uma nota real contiver esse atributo, confira o par completo e a instrução que lhe deu origem. Um rótulo com aparência de sigla oficial não basta para demonstrar aprovação, dispensa ou benefício. O artigo explica a estrutura; a interpretação material exige o documento e a orientação oficial aplicáveis.
Como o atributo deve ser serializado?
Dentro de cada obsFisco, xCampo é obrigatório, textual, com 1 a 20 caracteres do tipo TString. Não é filho XML e não precisa de uma tag xCampo de abertura/fechamento. O atributo é não qualificado pelo namespace; já o elemento pai pertence ao namespace da NF-e.
O conteúdo xTexto também é obrigatório, com 1 a 60 caracteres. O pai pode ocorrer até dez vezes no grupo adicional da nota. Campo opcional no nível superior não significa atributo opcional num par existente.
Como reconhecer um exemplo de formato?
Fragmento sintético, parcial em relação à nota, sem nome ou conteúdo oficial e sem proposta de preenchimento real:
<obsFisco xmlns="http://www.portalfiscal.inf.br/nfe" xCampo="CAMPO_EXEMPLO">
<xTexto>VALOR DE DEMONSTRACAO</xTexto>
</obsFisco>
O nome está nas aspas do atributo; o texto está no filho. A presença de CAMPO_EXEMPLO apenas permite observar a sintaxe. Se um nome real contiver caracteres reservados XML, o serializador deve escapá-los sem mudar seu conteúdo interpretado, observadas também as restrições de TString.
Como distinguir o homônimo e diagnosticar erro?
Há outro @xCampo em obsCont, de uso livre do contribuinte. Seus tamanhos semelhantes não tornam os ancestrais intercambiáveis. Ao buscar xCampo num XML, confirme se o pai é obsFisco antes de atribuir natureza fiscal ao nome.
Para erro de estrutura, confira atributo ausente, namespace inesperado, tamanho ou transformação indevida em elemento filho. Para nome desconhecido, confronte a origem oficial da observação e a configuração do gerador, sem renomeá-lo arbitrariamente para eliminar uma mensagem. infAdFisco não é uma alternativa automática: ele tem função de informação de interesse fiscal, diferente do grupo de uso exclusivo. Uma correção deve preservar o significado documentado e a integridade da nota, sem editar XML já assinado.
Fontes técnicas
MOC 7.0 — Anexo I — 7.0: p. 64, Z07–Z09.
XSD NF-e/NFC-e — PL_010f_v1.04: linhas 6190–6216, obsFisco/@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/obsFisco/@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