Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · Produtos e serviços

cUFOrig na NF-e: código IBGE da origem do combustível

<cUFOrig>det › prod › comb › origComb › cUFOrig

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

cUFOrig informa o código da UF de origem do produtor ou do importador em uma parcela de combustível. Fica em /nfeProc/NFe/infNFe/det/prod/comb/origComb/cUFOrig. É obrigatório em cada ocorrência de origComb e utiliza código numérico da tabela de UFs do IBGE. NT 2023.001, combustíveis (1.60)

Qual UF deve ser representada?

O contexto é a origem da parcela, com o produtor ou importador identificado na documentação. Não se presume essa UF pelo endereço do emissor, do destinatário ou pelo local de entrega. Um mesmo item pode reunir parcelas com origens em mais de uma UF; nesse caso, cada origem pertinente é representada em sua própria ocorrência do grupo.

Para parcela importada, indImport=1 identifica a categoria, mas cUFOrig continua sendo a UF do importador conforme o leiaute. Não recebe código do país estrangeiro, porto como texto nem EX. A procedência internacional e a UF do importador são informações de naturezas diferentes.

Quais códigos de UF o campo aceita?

Código UF Código UF Código UF
11 RO 12 AC 13 AM
14 RR 15 PA 16 AP
17 TO 21 MA 22 PI
23 CE 24 RN 25 PB
26 PE 27 AL 28 SE
29 BA 31 MG 32 ES
33 RJ 35 SP 41 PR
42 SC 43 RS 50 MS
51 MT 52 GO 53 DF

O tipo TCodUfIBGE contém exatamente esse domínio. SP, EX, 00 e 99 não pertencem a ele. A tabela associa códigos às siglas; não determina qual UF é a origem da operação do leitor. Tipos básicos NF-e/NFC-e, PL 010f (PL_010f_v1.04) IBGE, códigos das Unidades da Federação (consulta 13/10/2026)

Como diferenciar cUFOrig de UFCons?

cUFOrig=35 significa origem correspondente a SP na parcela; UFCons=SP significa consumo em SP no item. Mesmo quando a localidade coincide, a representação é distinta: código numérico na origem, sigla no consumo. Somente UFCons admite EX para exterior.

Não reutilize uma função que serialize sigla de UF para todos os campos sem considerar o contrato de cada tag. Um extrator também deve usar o XPath completo, pois há outros códigos de UF no documento com finalidades próprias.

Como interpretar uma parcela no XML?

Este fragmento sintético parcial supõe uma parcela importada cuja origem documentada corresponde a um importador no RJ, com 100% da distribuição representada nessa categoria:

<origComb xmlns="http://www.portalfiscal.inf.br/nfe">
  <indImport>1</indImport>
  <cUFOrig>33</cUFOrig>
  <pOrig>100.0000</pOrig>
</origComb>

O 33 identifica RJ, sem afirmar país de procedência. Para saber se o grupo é permitido e exigido, é necessário conhecer o código ANP, o modelo e os indicadores da operação. O exemplo demonstra a estrutura da parcela; não é uma nota pronta para transmissão.

Como conferir UF e percentual de origens múltiplas?

Compare produtor/importador, UF, categoria nacional/importada e percentual de cada parcela com a documentação. Depois confira o somatório: regra LA21-10 usa o total de origens para códigos comuns; LA21-20 separa as categorias nos códigos 210203001, 210203003, 210203004 e 210203005. Uma UF sintaticamente válida não corrige distribuição equivocada. NT 2023.001, combustíveis (1.60)

Se a UF estiver ausente, obtenha a identificação da origem efetiva. Não assuma a UF do fornecedor intermediário nem a de consumo como fallback. Veja origComb e pOrig para o contexto completo, preservando dados reais e a separação entre conferência técnica e decisões fiscais da operação.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/det/prod/comb/origComb/cUFOrig
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
TCodUfIBGE · 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.

enumeration
11
enumeration
12
enumeration
13
enumeration
14
enumeration
15
enumeration
16
enumeration
17
enumeration
21
enumeration
22
enumeration
23
enumeration
24
enumeration
25
enumeration
26
enumeration
27
enumeration
28
enumeration
29
enumeration
31
enumeration
32
enumeration
33
enumeration
35
enumeration
41
enumeration
42
enumeration
43
enumeration
50
enumeration
51
enumeration
52
enumeration
53
whiteSpace
preserve