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

pOrig na NF-e: percentual de origem e somatório por combustível

<pOrig>det › prod › comb › origComb › pOrig

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

pOrig informa o percentual originário de uma UF na distribuição de origem do combustível. É obrigatório em cada ocorrência de origComb, no caminho /nfeProc/NFe/infNFe/det/prod/comb/origComb/pOrig. A conferência precisa considerar o código ANP e, em determinados produtos, separar parcelas nacionais e importadas. NT 2023.001, combustíveis (1.60)

Que percentual este campo representa?

Ele distribui a origem por UF do produtor ou importador. Não representa alíquota, índice de mistura de biocombustível nem, diretamente, o percentual total de componente importado no produto.

No GLP, pGLP, pGNn e pGNi descrevem composição do produto; pOrig descreve distribuição geográfica das categorias de origem. Confundir as duas bases pode produzir soma aparentemente plausível, mas semanticamente errada.

Como funciona a soma comum da rejeição 958?

Para código ANP diferente de 210203001, 210203003, 210203004 e 210203005, a regra LA21-10 soma os pOrig das ocorrências do item e compara com 100. A tolerância documentada é de 0,1 para mais ou para menos, ou seja, a comparação admite de 99,9 a 100,1. Isso não altera o domínio máximo de cada campo, que continua limitado a 100. NT 2023.001, combustíveis (1.60)

Exemplo sintético: duas origens de 60% e 40% totalizam 100. Se o conjunto for 60% e 30%, o total é 90 e não atende à comparação. Não complete os 10 pontos faltantes em uma UF arbitrária: confira o documento ou a parcela de origem não representada.

Quando a soma precisa ser separada por nacional e importado?

Para os quatro códigos especiais acima, a regra LA21-20, também associada à 958, exige soma 100 para ocorrências com indImport=0 e soma 100 para as com indImport=1, separadamente. A tolerância de 0,1 para mais ou menos vale para ambos os somatórios. NT 2023.001, combustíveis (1.60)

A seção 2.4.7 da NT 2023.001 v1.60, página 14, esclarece que cada opção de indImport deve somar 100 se informada: cada categoria presente tem seu próprio somatório, e uma categoria inexistente não deve ser criada para fechar a soma. NT 2023.001 v1.60, seção 2.4.7, página 14.

No exemplo seguinte, o GLP tem composição sintética de 60% derivado de petróleo, 25% gás natural nacional e 15% gás natural importado. A distribuição nacional é 60% em SP e 40% no PR; a importada é 100% no RJ. Essas distribuições são hipóteses, não percentuais prescritos para uma operação.

<comb xmlns="http://www.portalfiscal.inf.br/nfe">
  <cProdANP>210203001</cProdANP>
  <descANP>GLP</descANP>
  <pGLP>60.00</pGLP>
  <pGNn>25.00</pGNn>
  <pGNi>15.00</pGNi>
  <UFCons>SP</UFCons>
  <origComb>
    <indImport>0</indImport>
    <cUFOrig>35</cUFOrig>
    <pOrig>60.0000</pOrig>
  </origComb>
  <origComb>
    <indImport>0</indImport>
    <cUFOrig>41</cUFOrig>
    <pOrig>40.0000</pOrig>
  </origComb>
  <origComb>
    <indImport>1</indImport>
    <cUFOrig>33</cUFOrig>
    <pOrig>100.0000</pOrig>
  </origComb>
</comb>

É um fragmento parcial em relação à nota, focado em composição e origem; não determina dispensas dos demais campos da operação. A composição é 60 + 25 + 15 = 100; a distribuição nacional é 60 + 40 = 100; a importada é 100. O total conjunto de pOrig é 200, mas não descreve uma composição física de 200%. Somar as duas categorias indiscriminadamente produziria um diagnóstico errado.

Quais formatos de pOrig são aceitos?

O tipo efetivo admite valores maiores que zero e menores ou iguais a 100, com até quatro casas decimais. 60, 60.0 e 60.0000 são formas possíveis; 0, 0.0000, 100.1, negativo e vírgula decimal não atendem. Uma parcela zero não deve ser criada como representação de origem desconhecida. Leiaute NF-e/NFC-e, pacote oficial PL 010f (PL_010f_v1.04) Tipos básicos NF-e/NFC-e, PL 010f (PL_010f_v1.04)

O percentual é informado na escala 0–100: 60 significa 60%, não 0.60. Se um sistema interno usa frações, faça a conversão de escala de modo explícito antes da serialização e confira a soma no XML efetivamente produzido.

Como diagnosticar soma divergente sem mudar percentuais verdadeiros?

Identifique o código ANP, extraia todos os grupos do mesmo item e confira se a regra é global ou por categoria. Verifique ocorrência perdida, duplicidade, indicador de importação trocado, conversão de escala e arredondamento. Compare cada parcela com sua documentação de origem.

Não use a tolerância como meta de preenchimento nem distribua resíduos arbitrariamente para forçar autorização. Se a origem não está completa, identifique a parcela e o documento faltantes. Corrija a causa comprovada, preservando o XML assinado. Veja origComb e indImport para o contexto das categorias e da exigência do grupo.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/det/prod/comb/origComb/pOrig
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
TDec_03v00a04Max100Opc · 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(\.[1-9][0-9]{0,3})|0(\.[0][1-9][0-9]{0,2})|0(\.[0][0][1-9][0-9]{0,1})|0(\.[0][0][0][1-9])|100(\.[0]{1,4})?|[1-9]{1}[0-9]{0,1}(\.[0-9]{1,4})?
whiteSpace
preserve