xTexto de obsFisco no item: conteúdo e limite no XML
<xTexto>det › obsItem › 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.
xTexto em obsItem/obsFisco contém o conteúdo da observação de uso livre do Fisco para um item. A identificação dessa informação fica no atributo xCampo do mesmo grupo; texto e identificador precisam corresponder à origem confirmada.
A estrutura descrita usa o pacote oficial PL_010f_v1.04, publicado em 31/08/2026. Esse pacote não altera a versão selecionada de um XML histórico na consulta; para arquivos de outra versão, confira a declaração correspondente e as regras vigentes na data e no ambiente do documento.
Neste artigo:
- O texto está em obsFisco do item
- O que o limite de 60 caracteres permite
- Como preservar o conteúdo oficial e o escape XML
- Exemplo sintético do par de observação
- Como investigar texto ausente, longo ou no item errado
O texto está em obsFisco do item
O caminho é /nfeProc/NFe/infNFe/det/obsItem/obsFisco/xTexto, VA07. O pai obsFisco indica o espaço de uso do Fisco; obsItem e det indicam que se refere a um item. O xTexto de obsCont e os xTexto de infAdic são outros contextos, mesmo quando o nome e os limites de tamanho coincidem.
Quando obsFisco existe, xTexto é obrigatório e único, assim como o atributo xCampo é obrigatório. O texto vai dentro do elemento xTexto, sem substituir o atributo ou aparecer solto dentro do grupo. Use o nItem para preservar a associação ao produto certo.
Schemas NF-e/NFC-e PL_010f_v1.04 NT 2021.004 — Regras de Validação e Novos Campos
O que o limite de 60 caracteres permite
A restrição baseada em TString exige uma a 60 posições. O limite se refere ao conteúdo interpretado, não aos bytes UTF-8 nem ao tamanho das entidades escapadas. Não gere tag vazia ou espaços como conteúdo: o tipo preserva espaços e não admite espaços nas extremidades.
A faixa de caracteres do tipo não é todo o Unicode. Caracteres portugueses acentuados compatíveis podem ser preservados; controles, quebras de linha e emojis fora da faixa não passam automaticamente. CDATA não altera o tipo nem o limite. Para um texto maior, confirme com a origem uma representação que preserve o significado; não corte uma mensagem exigida nem crie vários obsFisco no item.
Schemas NF-e/NFC-e PL_010f_v1.04 Tipos básicos do leiaute NF-e NT 2021.004 — Regras de Validação e Novos Campos
Como preservar o conteúdo oficial e o escape XML
O leiaute define a estrutura, sem fornecer uma mensagem universal para preencher o grupo. Se a observação deriva de orientação fiscal específica, confira texto, identificação, fonte, UF, vigência e item abrangido. A presença de uma frase em obsFisco não prova autoria, análise ou aprovação do Fisco.
Use serialização XML para escapar &, < e outros delimitadores conforme o contexto. O parser deve devolver o mesmo texto confirmado na origem; escape duplo pode produzir uma sequência literal inesperada. Essa conferência de representação não autoriza abreviar uma informação oficial, inventar fundamento ou alterar o significado para passar no schema.
Schemas NF-e/NFC-e PL_010f_v1.04 Tipos básicos do leiaute NF-e NT 2021.004 — Regras de Validação e Novos Campos
Exemplo sintético do par de observação
Exemplo somente estrutural. DEMO_FISCO e a frase são fictícios, sem autoridade fiscal, e não devem ser tratados como texto exigido por uma administração. O fragmento é parcial em relação à NF-e.
<obsFisco xmlns="http://www.portalfiscal.inf.br/nfe" xCampo="DEMO_FISCO">
<xTexto>Texto sintetico sem efeito fiscal</xTexto>
</obsFisco>
O valor de xTexto corresponde ao identificador de até 20 posições em xCampo. obsFisco aparece dentro de det/obsItem; se obsCont também for usado, vem antes de obsFisco. Um validador no contexto correto confere estrutura e limites, sem julgar a validade normativa do conteúdo.
Schemas NF-e/NFC-e PL_010f_v1.04 NT 2021.004 — Regras de Validação e Novos Campos
Como investigar texto ausente, longo ou no item errado
Se o erro é de schema, confira caminho, ordem, ocorrência, xCampo, xTexto, comprimento e caracteres do valor final. Se o texto sumiu ou mudou, compare a orientação original, a informação cadastrada, a transformação do emissor e o XML efetivo. Em texto no item errado, verifique a chave de associação e o nItem, sem copiar uma observação geral para todos os produtos.
infAdProd admite até 500 caracteres, mas é complemento do produto. Seu limite não transforma esse campo em destino automático de um xTexto fiscal extenso. O mesmo vale para infAdic/obsFisco, cujo contexto é a nota inteira. A escolha do campo precisa preservar a orientação aplicável.
Confirme fonte e alcance com o responsável contábil quando a observação decorrer de obrigação fiscal. Depois valide a representação e confira o DANFE se a dúvida for de impressão; a tag não garante uma área específica de apresentação. Não edite XML assinado ou use uma frase como substituto de dados tributários estruturados.
Schemas NF-e/NFC-e PL_010f_v1.04 Tipos básicos do leiaute NF-e NT 2021.004 — Regras de Validação e Novos Campos MOC 7.0 — Anexo I
Leitura relacionada
- obsFisco — det/obsItem/obsFisco
- xCampo — det/obsItem/obsFisco/@xCampo
- xTexto — det/obsItem/obsCont/xTexto
- infAdProd — det/infAdProd
Fontes oficiais
- Schemas NF-e/NFC-e PL_010f_v1.04, 010f v1.04, publicado em 31/08/2026 — /infNFe/det/obsItem/obsFisco/xTexto; sequência e cardinalidade dos ancestrais.
- NT 2021.004 — Regras de Validação e Novos Campos, 1.30, maio/2022; histórico do grupo VA, não última edição nacional — NT 2021.004 v1.30, seção 3.4, p.13 VA01–VA07; edição histórica confrontada com XSD atual, sem inferência de cronograma vigente.
- Tipos básicos do leiaute NF-e, PL_010f_v1.04 — TString; TDec_1302; TDec_0302Max100 conforme o campo.
- MOC 7.0 — Anexo I, 7.00, novembro/2020 — MOC 7.0 p.58 V01; p.64 Z04–Z09: observações da nota inteira, contexto distinto.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/obsItem/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