xTexto em obsFisco: como interpretar o conteúdo da observação fiscal
<xTexto>infAdic › obsFisco › xTextoRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
obsFisco/xTexto é o conteúdo de uma observação de uso do Fisco nas informações adicionais da NF-e/NFC-e. Fica em /nfeProc/NFe/infNFe/infAdic/obsFisco/xTexto, item Z09 do MOC. Para interpretá-lo, é necessário ler o atributo xCampo do mesmo pai e conhecer a origem da observação.
Por que o texto não deve ser lido sozinho?
Um conteúdo curto pode ser um número, uma descrição ou outra referência. Seu nome e sua instrução de origem determinam o significado. Não transforme uma frase encontrada nesse grupo em prova de aprovação fiscal sem verificar o contexto documental. O XSD o descreve como campo de uso exclusivo do Fisco; sintaxe válida não demonstra que a mensagem veio da administração tributária.
O homônimo em obsCont/xTexto é de uso livre do contribuinte. infAdFisco é texto adicional de interesse fiscal. Há diferenças de finalidade e posição mesmo quando os valores são parecidos. Buscar apenas a tag xTexto pode selecionar uma observação do contribuinte e levar a uma interpretação errada.
Quais limites o conteúdo precisa respeitar?
O elemento xTexto é obrigatório dentro de obsFisco, de 1 a 60 caracteres. O pai exige também atributo xCampo, de 1 a 20, e pode ocorrer até dez vezes. Não envie conteúdo vazio, espaços para contornar o mínimo ou um texto longo arbitrariamente cortado. Confirme a representação exigida pela origem oficial antes de resumir um valor que possa ter significado preciso.
O tipo TString limita os caracteres e a forma do texto. Escape XML é outra etapa: & no conteúdo precisa ser serializado como &. A entidade representa um caractere interpretado; ela não cria novo significado fiscal nem autoriza caracteres proibidos pelo tipo.
Como ler um fragmento apenas demonstrativo?
O exemplo abaixo é sintético, parcial em relação à nota, sem origem oficial e sem mensagem aplicável a uma operação real:
<obsFisco xmlns="http://www.portalfiscal.inf.br/nfe" xCampo="CAMPO_EXEMPLO">
<xTexto>TEXTO SINTETICO SEM EFEITO OFICIAL</xTexto>
</obsFisco>
O filho contém a mensagem; o atributo é seu identificador. O exemplo não atribui assinatura, autorização ou aprovação ao texto. Em uma nota real, a interpretação deve se apoiar no conteúdo efetivo e na instrução específica que fundamenta o grupo.
Como conferir texto inesperado ou truncado?
Primeiro localize o ancestral obsFisco no XML efetivo. Depois compare nome, conteúdo e origem da instrução. Se um texto comercial apareceu aí, investigue o mapeamento em vez de tratá-lo como comunicação oficial. Se faltar parte da informação, compare o armazenamento, a serialização e a apresentação para localizar onde ocorreu o corte.
Não use xTexto para corrigir cálculo, classificar produto ou registrar processo no lugar dos campos apropriados. Uma informação tecnicamente íntegra ainda pode carecer de fundamento material. A correção deve tratar a causa comprovada e respeitar a situação da nota; editar um XML assinado não é procedimento de atualização da observação.
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/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/obsFisco/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