CPF do destinatário na NF-e: formato e rejeição 237
<CPF>dest › CPFRevisão editorial em 27 de set. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
dest/CPF identifica por CPF a pessoa física destinatária da NF-e ou da NFC-e. No XML, o valor tem 11 dígitos, sem pontos, barra, hífen ou espaços, e preserva zeros no início. A tag ocupa uma alternativa de identificação: não deve coexistir com dest/CNPJ ou dest/idEstrangeiro.
O caminho no XML processado é /nfeProc/NFe/infNFe/dest/CPF, no namespace http://www.portalfiscal.inf.br/nfe. Saber o caminho evita atribuir ao destinatário um CPF encontrado em outro grupo.
Quando CPF é a identificação usada
A exigência de identificar o destinatário e a escolha de CPF são decisões diferentes. A NF-e modelo 55 exige o grupo dest, mas o destinatário pode ser identificado por CNPJ, CPF ou identificação estrangeira conforme a identidade real. O CPF não é obrigatório para todos os destinatários.
Na NFC-e modelo 65, a possibilidade de destinatário não identificado depende das condições da operação, como entrega a domicílio e limite de valor da UF. Quando o grupo dest existe e a alternativa correta é CPF, não se envia uma tag vazia para representar falta de identificação. Na operação com exterior, a NF-e possui a condição específica de idEstrangeiro, que não deve ser substituída por um CPF inventado. MOC 7.0, E01–E03a e regras E01/E03a.
Na entrega a domicílio da NFC-e (indPres=4), o MOC exige dest e dest/enderDest, pelas regras E01-20/787 e E05-20/788. A exigência de identificação por valor considera o limite definido pela UF; a NT 2026.002 v1.10a mantém R$ 10.000,00 quando a UF não define outro limite. A mudança de parametrização de W16-40 tem produção prevista em 15/06/2026. O documento deve representar a pessoa real por uma das alternativas admitidas; exigir identificação não significa exigir CPF em vez de CNPJ. MOC, p. 83 e NT 2026.002, pp. 3 e 19.
Ser pessoa física não significa necessariamente ser não contribuinte do ICMS. Uma pessoa física pode possuir inscrição estadual. O campo indIEDest descreve a condição cadastral: 1 contribuinte, 2 contribuinte isento de inscrição e 9 não contribuinte, que pode ou não possuir IE. Na NFC-e, o MOC prevê indIEDest=9 e ausência de IE. A escolha do indicador para uma NF-e exige conferência da situação efetiva, e não uma regra automática “CPF = 9”.
Identificação estrangeira não substitui qualquer CPF
Na NF-e com idDest=3, a regra geral E03a-10 exige idEstrangeiro, mas a NT 2022.002 v1.30a documenta exceções: permite CNPJ quando cPais=1058 e existe item com comb/UFCons=EX e CFOP 7667; também afasta essa regra nos casos com CFOP 7552 ou 7501. A dispensa de uma validação não torna qualquer CPF aceitável nem muda a pessoa destinatária. Confira a identidade real e a documentação da operação; não selecione esses códigos para fazer um documento passar. A regra que define a alternativa e a verificação do CPF efetivamente informado continuam sendo conferências distintas. NT 2022.002 v1.30a, p. 12.
Onze dígitos e zeros iniciais
O CPF vem do documento e do cadastro conferido do destinatário. O emissor deve preservá-lo como identificação textual. Uma apresentação mascarada pode existir na interface; a serialização XML utiliza somente os algarismos.
Três verificações resolvem problemas diferentes:
| Conferência | O que ela permite concluir |
|---|---|
| Onze algarismos e ausência de máscara | Compatibilidade com o formato do campo |
| Ausência de zeros totais, sequência repetida e dígitos verificadores corretos | Atendimento à validação de CPF descrita em E03-10 |
| Cadastro e vínculo da inscrição estadual na UF, quando aplicáveis | Coerência cadastral além do formato e do dígito |
Um CPF pode ter onze algarismos e ainda ser inválido. 00000000000 e sequências como 11111111111 não se tornam válidas por caberem no campo. Também não basta aplicar o cálculo de dígitos a qualquer sequência para afirmar que ela pertence ao cliente: o documento deve corresponder à pessoa real.
Se o XML perdeu um zero inicial, verifique a importação, a coluna do banco, a conversão numérica ou o mapeamento. Recupere o valor da fonte do cadastro; não complete um documento desconhecido por adivinhação. A rejeição 237 é associada à regra E03-10 para os modelos 55 e 65. MOC 7.0, p. 83.
A adoção do CNPJ alfanumérico não altera o CPF para aceitar letras. A NT 2026.004 v1.01 trata da mudança dos campos de CNPJ e de chaves relacionadas; dest/CPF continua sendo um identificador de onze dígitos. Não aplique ao CPF um normalizador construído para remover letras de CNPJ. NT 2026.004, pp. 5–8.
Um CPF em cada responsabilidade
emit/CPF identifica o emitente ou remetente no contexto admitido para esse grupo. dest/CPF identifica o destinatário. entrega/CPF e retirada/CPF pertencem aos responsáveis pelos locais físicos correspondentes, nas situações permitidas; autXML/CPF identifica pessoa autorizada ao acesso. Nenhum desses caminhos substitui automaticamente outro.
Em uma entrega recebida por terceiro, encontrar o CPF do recebedor em algum cadastro logístico não prova que ele seja o destinatário fiscal. Compare o pedido e a documentação com o grupo correto antes de atribuir o identificador.
Exemplo parcial com pessoa física
Este fragmento sintético e parcial demonstra a localização do campo. O CPF demonstrativo não deve ser usado em uma operação real. A condição indIEDest=9 é uma hipótese previamente definida para o exemplo; não é uma recomendação de enquadramento.
<dest xmlns="http://www.portalfiscal.inf.br/nfe">
<CPF>12345678909</CPF>
<xNome>Pessoa de Exemplo</xNome>
<indIEDest>9</indIEDest>
</dest>
Há uma só identificação e o indicador obrigatório do grupo. O trecho omite endereço e demais partes da nota. Por isso, não representa uma NF-e modelo 55 completa nem está pronto para transmissão. Se o modelo e a operação exigirem endereço, ele terá de existir em dest/enderDest com os dados reais; não se considera atendido por este exemplo reduzido.
Diagnóstico de CPF inválido e cadastro
Na rejeição 237, examine o conteúdo de dest/CPF no XML enviado: tamanho, máscara, espaços, zeros totais, repetição e dígitos verificadores. Compare-o com o cadastro e o documento original. Se o cadastro está correto e o XML difere, a causa é de geração ou mapeamento. Se ambos têm o mesmo erro, a origem cadastral precisa ser conferida.
Na rejeição 623, não conclua que o CPF possui dígito inválido. O MOC associa a mensagem “CPF Destinatário não cadastrado” à regra facultativa 5E17-80 do modelo 55. O contexto é de validação cadastral. A nota 7 ressalva que algumas UFs não cadastraram contribuintes pessoa física no CCC; autorizadoras que utilizam esse cadastro só podem realizar as validações assinaladas quando o contribuinte com IE/CPF existir nele. Verifique a UF, o serviço autorizador, o retorno e a disponibilidade da consulta.
Na rejeição 624, confira dest/IE, dest/CPF e a UF do destinatário. A regra 5E17-30 trata da IE não vinculada ao CPF, também com a ressalva de disponibilidade cadastral da nota 7. Um CPF válido não corrige uma IE de outra pessoa. MOC 7.0, pp. 136–137.
Preserve o XML enviado, o retorno com código/mensagem e a identificação do ambiente. Corrija apenas a origem comprovadamente errada e confira o documento gerado no fluxo apropriado. Não remova uma IE verdadeira, troque o CPF por um documento de teste, edite XML assinado ou retransmita para descobrir qual combinação passa. Se houver dúvida sobre quem é o destinatário ou sua condição de contribuinte, a confirmação exige documentos da pessoa, cadastro da UF e documentação da operação.
Campos relacionados
dest no contexto do destinatário, IE no contexto do destinatário.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/dest/CPF- 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
- TCpf · string
- 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
11- pattern
[0-9]{11}- whiteSpace
preserve