cNF na NF-e: oito dígitos, padrões proibidos e rejeição 897
<cNF>ide › cNFRevisã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