Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · Emitente e emissão avulsa

CEP do emitente na NF-e: oito dígitos, zeros iniciais e falhas de XML

<CEP>emit › enderEmit › CEP

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

CEP, em emit/enderEmit/CEP, é o código postal do endereço do emitente. Ele é obrigatório dentro de enderEmit e deve conter exatamente oito dígitos, sem hífen ou espaços. Essa exigência não deve ser confundida com a ocorrência de CEP em outros endereços, cujos contratos podem ser diferentes. MOC 7.0, C13, p. 13.

O caminho completo é /nfeProc/NFe/infNFe/emit/enderEmit/CEP, no namespace http://www.portalfiscal.inf.br/nfe. O campo vem depois de UF e antes dos campos opcionais de país e telefone.

Como preservar o código postal na geração

CEP é um identificador representado como texto no XML, ainda que seus caracteres sejam algarismos. Os zeros iniciais fazem parte do valor. Se o cadastro confirmado exibe 01001-000, a representação sem máscara é 01001000, com oito posições. Converter para inteiro e emitir 1001000 perde informação e viola o formato.

O exemplo mostra retirada da máscara de um identificador previamente confirmado. Ele não autoriza completar um código desconhecido com zeros nem atribuir esse CEP a outro endereço. O dado deve vir do endereço real do estabelecimento identificado no CNPJ/CPF da nota, com a correspondência postal conferida. Schema PL010d v1.03, TEnderEmi/CEP.

Exemplo parcial de leitura

Fragmento sintético e parcial, não pronto para transmissão. O valor ilustra oito posições e um zero inicial; não comprova correspondência com um estabelecimento real.

<enderEmit xmlns="http://www.portalfiscal.inf.br/nfe">
  <!-- logradouro, número, bairro, município e UF omitidos -->
  <CEP>01001000</CEP>
</enderEmit>

O fragmento não contém os outros campos obrigatórios e, por isso, não é um grupo completo para validação. Na nota inteira, todos precisam existir na ordem. Uma tag <CEP/> não equivale a informação omitida ou a código válido; o campo obrigatório precisa do valor verdadeiro.

CEP válido em tamanho não comprova endereço correto

O padrão [0-9]{8} verifica a composição lexical. Não demonstra existência postal, vínculo com o CNPJ ou coerência com município, logradouro e UF. Copiar o CEP de uma matriz para uma filial pode passar no formato e continuar incorreto.

cMun é o código IBGE do município, com sete dígitos; não deve ser preenchido com CEP. UF é a sigla do estado. Quando a mensagem trata município ou UF, investigue o campo e a regra apontados: oito dígitos no CEP não resolvem rejeição 272,273 ou 247 desses outros dados.

Roteiro para localizar a falha

Compare o CEP cadastrado com o XML da tentativa. Se houver hífen ou espaço, investigue a serialização da máscara. Se houver sete dígitos após um código cadastral de oito posições iniciado por zero, investigue conversão numérica ou importação. Se a tag estiver vazia ou ausente, compare o cadastro do estabelecimento e o mapeamento de enderEmit.

Se o XML contém oito dígitos mas o endereço parece inconsistente, confira o documento cadastral e a correspondência postal antes de qualquer alteração. Não use código genérico, inventado ou de outra localidade para preencher uma lacuna.

Depois de corrigir a origem ou o mapeamento comprovados, gere novamente pelo emissor e confira os oito dígitos, os zeros e os campos de endereço relacionados. Preserve o retorno original e não edite XML assinado. A atualização do endereço cadastral real deve seguir seu procedimento próprio; não é decidida apenas por uma falha de schema.

Veja enderEmit para conferir a sequência completa do endereço.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/emit/enderEmit/CEP
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:xs:string · string
Preenchimento no catálogo
Obrigatório

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.

pattern
[0-9]{8}
whiteSpace
preserve