Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · Destinatário, locais e autorizados

cMun da retirada na NF-e: código IBGE e rejeições 276, 277 e 513

<cMun>retirada › cMun

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

retirada/cMun é o código do município do local de retirada, com sete dígitos, obtido da tabela do IBGE. É obrigatório dentro do grupo retirada. Para um local representado no exterior, o MOC prevê o valor 9999999, combinado com UF=EX e xMun=EXTERIOR. MOC 7.0, F07–F09, pp. 15–16.

Qual município o código identifica

O município é o do endereço de onde a mercadoria sai, no contexto do expedidor. Não é automaticamente a cidade do comprador, da entrega ou do emitente. Confirme o local selecionado na operação antes de consultar a tabela: encontrar um código existente para outra cidade não torna esse código correto para a retirada.

O dado pode ser obtido do cadastro do local de saída e associado à tabela municipal. O nome da cidade não deve ser convertido em código por uma busca que ignore a UF, especialmente quando existem nomes parecidos ou repetidos em diferentes estados. O resultado precisa conservar código, nome e UF do mesmo município.

O grupo retirada só é indicado quando o endereço difere do remetente. Além disso, F01-10/669 da NT 2026.002 v1.10a, p. 11 restringe a presença do grupo na NFC-e e na NF-e com DANFE Simplificado Tipo 2 (tpImp=6). A linha que inclui essa regra tem teste em 01/07/2026 e produção em 03/08/2026. Uma tag cMun correta não resolve a presença indevida do grupo; confira também modelo, ambiente e autorizador.

Sete dígitos não bastam: é preciso conferir a tabela e a UF

O XSD anterior 010c v1.30 usa TCodMunIBGE, com padrão [0-9]{7}. Essa expressão verifica a forma da sequência. As regras de autorização conferem outra coisa: existência do município e correspondência dos dois primeiros dígitos com a UF da retirada.

Um exemplo verificável é Curitiba, código 4106902, Paraná. A API oficial de Localidades do IBGE informa o nome e a UF PR, código estadual 41. Assim, a combinação cMun=4106902, xMun=Curitiba, UF=PR é geograficamente coerente. Alterar somente UF para SP mantém um código existente, mas cria incompatibilidade de prefixo.

CEP é código postal de oito dígitos e não substitui o código municipal. cPais pertence à tabela de países e também não é fonte de cMun. O campo ide/cMunFG identifica o município de ocorrência do fato gerador em outro contexto; igualdade ocasional com a retirada não permite copiar um para o outro sem conferir a operação.

Exemplo nacional e cenário exterior

Fragmento sintético e parcial de retirada nacional. A identificação e os outros campos de endereço não são mostrados; não é um documento pronto para transmissão:

<retirada xmlns="http://www.portalfiscal.inf.br/nfe">
  <!-- Identificação, logradouro, número e bairro foram omitidos. -->
  <cMun>4106902</cMun>
  <xMun>Curitiba</xMun>
  <UF>PR</UF>
</retirada>

O trecho permite comparar os três componentes da localização. Se xMun fosse o nome de outra cidade, haveria uma inconsistência cadastral a investigar mesmo que a checagem de prefixo entre cMun e UF não a detectasse.

Para o local efetivamente exterior, os marcadores documentados são:

<retirada xmlns="http://www.portalfiscal.inf.br/nfe">
  <!-- Fragmento sintético e parcial de localização exterior. -->
  <cMun>9999999</cMun>
  <xMun>EXTERIOR</xMun>
  <UF>EX</UF>
</retirada>

O marcador não é um município brasileiro que se possa selecionar na tabela IBGE. Ele representa o cenário exterior do local. Não aplique essa combinação a uma retirada dentro do Brasil só porque a nota tem destinatário estrangeiro.

O XPath completo é /nfeProc/NFe/infNFe/retirada/cMun. Use o namespace da NF-e para não confundir a busca com campos de município em dest/enderDest, entrega ou outros grupos. cMun vem depois de xBairro e antes de xMun na sequência do grupo.

O que cada rejeição verifica

O MOC, Grupo F, p. 87 distingue as seguintes regras:

Regra e código Condição Conferência que identifica a causa
F07-10 / 513 UF da retirada é EX e o município difere de 9999999 Comparar exatamente retirada/UF e retirada/cMun
F07-20 / 276 UF diferente de EX e o código não existe na tabela IBGE Consultar a tabela oficial aplicável ao código enviado
F07-30 / 277 UF diferente de EX e as duas primeiras posições não correspondem à UF da retirada Comparar prefixo municipal com código oficial da sigla

As três aparecem como obrigatórias para modelos 55/65 no MOC. As regras equivalentes da entrega usam outros códigos: 515, 278 e 279. Esses códigos não devem ser transplantados para a retirada. A vedação do grupo no cenário de F01-10 continua sendo uma verificação diferente.

No exemplo nacional, 4106902 com UF=EX entra na condição de 513; com UF=SP, entra na incompatibilidade de 277. Um código com sete dígitos desconhecido pela tabela pode entrar em 276, mas não se deve presumir inexistência sem fazer a consulta oficial. A sequência de validação do autorizador também pode devolver primeiro outro problema do documento.

Como corrigir a causa comprovada

Compare primeiro o local da operação com o cadastro utilizado. Em seguida, confronte o código cadastral com a tabela IBGE e com a UF e nome gerados no XML. Se o cadastro está correto e a prévia pega o código do cliente, investigue mapeamento entre participantes. Se a tabela interna está desatualizada ou usa um ID do próprio sistema, corrija a associação ao código oficial, preservando o município verdadeiro.

Confira o resultado em uma nova prévia, mantendo código, nome e UF coerentes. Não altere a UF para combinar com um código errado, não use 9999999 como valor genérico e não edite XML assinado nem retransmita por tentativa. A localização técnica não escolhe o tratamento de uma movimentação em outro estado. Para completar a conferência do endereço, veja UF da retirada e nome do município.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/retirada/cMun
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
TCodMunIBGE · 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.

pattern
[0-9]{7}
whiteSpace
preserve