Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · Identificação

cNF na NF-e: oito dígitos, padrões proibidos e rejeição 897

<cNF>ide › cNF

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

O cNF é o código numérico de oito dígitos que integra a chave de acesso da NF-e ou NFC-e. O emitente o gera para cada nota. Além do tamanho, a regra B03-10 proíbe valores específicos e a igualdade com o número do documento, nNF. Um código com oito dígitos pode, portanto, passar pela estrutura XML e ainda provocar a rejeição 897 — Código numérico em formato inválido. MOC, B03 e B03-10

O que o cNF identifica

O código fica em ide/cNF e não substitui nenhum destes campos:

Campo Função
nNF Número do documento fiscal
cNF Código numérico gerado pelo emitente, com oito posições na chave
cDV Dígito verificador calculado sobre os outros componentes da chave

O MOC descreve a geração aleatória como medida para dificultar acessos indevidos pela previsibilidade da chave. Isso não faz do cNF uma senha, assinatura ou confirmação de autorização. A chave combina outros dados, como UF, ano e mês, identificação do emitente, modelo, série, número e tipo de emissão. MOC, p. 8 Composição da chave no MOC

Os valores proibidos pela regra

A B03-10, aplicável aos modelos 55 e 65, proíbe expressamente:

Grupo Valores vetados
Repetição do mesmo dígito 00000000, 11111111, 22222222, 33333333, 44444444, 55555555, 66666666, 77777777, 88888888, 99999999
Sequências listadas 12345678, 23456789, 34567890, 45678901, 56789012, 67890123, 78901234, 89012345, 90123456, 01234567
Igualdade com o número da nota Valor de cNF igual ao de nNF

A última verificação exige comparar os valores, considerando a formatação: se nNF=123, representar o mesmo número como cNF=00000123 não o torna diferente. Zeros à esquerda cumprem o tamanho do campo, mas não contornam a igualdade.

A lista não proíbe todo número que repete algum dígito, nem autoriza substituir a geração aleatória por um valor fixo usado em todas as notas. O implementador deve preservar a origem definida no leiaute e testar todas as condições da B03-10. Regra B03-10, p. 75

Exemplo parcial e comparação com nNF

O fragmento abaixo usa números sintéticos apenas para mostrar a posição dos campos e a diferença entre eles. Não é uma nota completa, uma chave de acesso calculada ou um XML pronto para transmissão.

<ide xmlns="http://www.portalfiscal.inf.br/nfe">
  <cNF>04829517</cNF>
  <!-- Outros campos obrigatórios de ide foram omitidos. -->
  <nNF>123</nNF>
</ide>

Neste recorte, cNF tem oito dígitos, é diferente do número 123 e não coincide com os valores proibidos listados. Isso comprova somente essas verificações locais; não demonstra que o valor foi realmente gerado pelo processo aleatório, que a chave está correta ou que o documento satisfaz todas as regras.

Trate cNF como uma representação de oito posições ao montar o XML e a chave. Convertê-lo para um número e depois escrever 4829517 perderia o zero inicial e o tamanho exigido. Leiaute B03

Como investigar o retorno recebido

Para a 897, confira o conteúdo exato de ide/cNF, as oito posições, a lista acima e a comparação com ide/nNF. Se o problema está no gerador, a correção pertence à geração do documento, com recomposição coerente da chave e do DV antes da assinatura. Não edite o XML assinado.

Se o retorno é 539 — Duplicidade de NF-e com diferença na Chave de Acesso, a questão é diferente. A 2B08-10 consulta a existência de documento com a mesma identificação e outra chave. No quadro do MOC, a rotina do modelo 55 usa modelo, UF, CNPJ/CPF do emitente, série e número. Para o modelo 65, o quadro lista modelo, UF, CNPJ, série, número e tipo de emissão. A aplicação da 2B08-10 é facultativa nessa referência; confira a rotina do autorizador e o retorno efetivamente recebido. Regra 2B08-10

Nesse caso, compare o XML original, a chave informada no retorno, o modelo, a série, o número, o emitente e o estado já registrado para a emissão. Trocar cNF para produzir outra chave não resolve a existência de uma nota anterior e pode conservar a causa da duplicidade. Preserve a representação real e investigue o fluxo de geração, armazenamento e consulta; este guia não orienta retransmissão.

CNPJ alfanumérico não muda o formato do cNF

A NT 2026.004 adapta o schema para CNPJ alfanumérico e para suas posições na chave de acesso. As letras pertencem ao espaço do CNPJ; cNF continua numérico, com oito dígitos, e cDV continua um dígito calculado. Não aplique ao cNF a expressão regular de CNPJ ou a permissividade da chave inteira. NT 2026.004

A validação do código numérico é uma parte da identificação técnica. Ela não escolhe CFOP, CST, regime ou tributação e não comprova, isoladamente, a validade fiscal da operação.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/ide/cNF
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