pOrig na NF-e: percentual de origem e somatório por combustível
<pOrig>det › prod › comb › origComb › pOrigRevisã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?
- Como funciona a soma comum da rejeição 958?
- Quando a soma precisa ser separada por nacional e importado?
- Quais formatos de pOrig são aceitos?
- Como diagnosticar soma divergente sem mudar percentuais verdadeiros?
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