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

xCont na NF-e: contrato de compra e diferença para nota de empenho

<xCont>compra › xCont

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

xCont informa o contrato de compra no grupo compra. Seu caminho é /nfeProc/NFe/infNFe/compra/xCont. Apesar de nomes comerciais ou rótulos de sistemas poderem divergir, este campo representa o contrato; a nota de empenho é xNEmp e o pedido é xPed, conforme os itens ZB02–ZB04 do MOC.

Que referência deve vir do contrato?

Use a identificação que consta no documento contratual e permite ao comprador relacionar a nota ao contrato correspondente. Não transforme o número interno de uma venda, o número da NF-e ou o empenho em contrato apenas para preencher a tag. Confirme com os documentos da operação quando o comprador usar identificador composto, como número/ano ou código de unidade.

O campo é textual, de 1 a 60 caracteres quando informado, e ocorre 0..1 dentro de compra. Letras, barras e zeros iniciais podem fazer parte da referência. Preserve o conteúdo documental e evite conversão para inteiro, que apagaria zeros. A omissão estrutural é diferente de enviar <xCont/>: elemento presente precisa ter conteúdo válido.

xCont não contém o texto integral de um contrato nem demonstra suas cláusulas ou validade. O tamanho não autoriza cortar um identificador verdadeiro sem analisar o padrão de conciliação. Se o dado exceder o limite, confirme qual referência documental cabe no campo e ajuste a integração de origem.

Como fica o contrato no XML?

Hipótese sintética: contrato identificado como CT-0042/2026. O fragmento é parcial em relação à NF-e e não representa contrato real:

<compra xmlns="http://www.portalfiscal.inf.br/nfe">
  <xCont>CT-0042/2026</xCont>
</compra>

O grupo pode conter só o contrato porque seus outros filhos são opcionais. Se também houver empenho e pedido, eles antecedem xCont, na sequência xNEmp, xPed, xCont. Tags trocadas de ordem podem falhar no XSD mesmo com referências verdadeiras.

O contrato resolve uma rejeição de empenho?

Não. Informar xCont não preenche xNEmp. A regra ZB02-10/359 examina falta de empenho em NF-e com a condição específica de desoneração de ICMS por venda a órgão público (motivo 8), com implementação facultativa por UF. Já 360/361 tratam do empenho inválido/inexistente. O contrato não substitui esse dado, e a compra pública não autoriza escolher um motivo de desoneração.

Em NFC-e, a presença de compra, mesmo contendo apenas xCont, é objeto da rejeição 762. O contexto correto inclui o modelo, não apenas a validade lexical do campo.

Como conferir contrato diferente no recebimento?

Compare o documento contratual, a referência armazenada na venda e compra/xCont no XML efetivo da mesma nota. Se o XML contiver o pedido no lugar do contrato, revise o mapeamento dos três identificadores. Se o XML estiver correto, mas o relatório do comprador mostrar outro valor, examine qual campo esse relatório lê. Quando houver mais de um contrato, a ocorrência única não oferece uma lista ilimitada: confirme o escopo documental e o padrão exigido pelo comprador antes de concatenar ou perder referências. A representação técnica não decide a validade da contratação nem a tributação da operação.

Fontes técnicas

MOC 7.0 — Anexo I — 7.0: p. 64, ZB02–ZB04; p. 127, ZB01-10 e ZB02-10/20/30.

XSD NF-e/NFC-e — PL_010f_v1.04: linhas 6321–6362, compra/xCont.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/compra/xCont
Namespace
http://www.portalfiscal.inf.br/nfe
Leiaute
4.00 · PL_010e_v1.02
Ocorrências no XSD
0–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