qBCProd da CIDE: base em quantidade e unidade no XML
<qBCProd>det › prod › comb › CIDE › qBCProdRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
qBCProd, dentro de comb/CIDE, informa a base de cálculo da CIDE em quantidade. Seu caminho completo é /nfeProc/NFe/infNFe/det/prod/comb/CIDE/qBCProd. O campo é obrigatório quando o grupo CIDE é informado e vem antes de vAliqProd e vCIDE.
- Essa base é o preço ou a quantidade do combustível?
- Como relacionar qBCProd, qCom e qTrib?
- Como o valor aparece no grupo completo?
- Quantas casas decimais são permitidas?
- Como evitar confusão com qBCProd de PIS e COFINS?
Essa base é o preço ou a quantidade do combustível?
É uma quantidade. Não deve receber o valor da venda, o valor do produto nem uma base monetária de ICMS. A Receita Federal explica que a base da CIDE corresponde à quantidade comercializada expressa na unidade adotada na legislação para cada produto. A unidade correta precisa estar definida antes da geração do XML. MOC 7.0, Anexo I (7.00) Receita Federal, Cide-combustíveis (página oficial consultada 13/10/2026)
A tag não possui um atributo de unidade. Por isso, ler apenas qBCProd=2.5 não permite saber se são litros, metros cúbicos ou outra unidade aplicável. A interpretação exige o produto e a documentação dos parâmetros usados. O número de qCom não deve ser copiado automaticamente sem essa conciliação.
Como relacionar qBCProd, qCom e qTrib?
qCom descreve a quantidade comercial do item, associada a uCom; qTrib descreve a quantidade tributável, associada a uTrib. qBCProd é especificamente a base da CIDE. Os valores podem coincidir quando as unidades e as regras coincidirem, mas essa igualdade não é um requisito universal.
Suponha que a informação comercial seja 2.500 litros e que, para o exemplo, a base da CIDE já tenha sido definida em metros cúbicos. Como 1 m³ = 1.000 L, a conversão é 2.500 ÷ 1.000 = 2,5 m³. A base representada no exemplo é 2.5000, sem separador de milhares. Essa conversão só pode ser transportada para um caso real após confirmar a unidade legal pertinente.
Como o valor aparece no grupo completo?
O fragmento sintético abaixo supõe base de 2,5 unidades e alíquota fictícia de R$ 8 por unidade. Não prescreve base ou alíquota de um combustível.
<CIDE xmlns="http://www.portalfiscal.inf.br/nfe">
<qBCProd>2.5000</qBCProd>
<vAliqProd>8.0000</vAliqProd>
<vCIDE>20.00</vCIDE>
</CIDE>
O resultado de 2,5 × 8 é R$ 20,00. O exemplo é parcial em relação à NF-e inteira; no XML real, CIDE é filho de comb. A presença dos três campos não constitui prova de incidência ou recolhimento.
Quantas casas decimais são permitidas?
O tipo TDec_1204v permite até 12 algarismos inteiros e de uma a quatro casas quando há fração. Assim, 2, 2.5, 2.5000 e 0 são formas estruturais possíveis. 2,5, -2.5, 02.5 e fração com cinco casas não seguem o padrão. O ponto é o separador decimal do XML, e não separador de milhares. 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)
Zero admitido no tipo não prova base zero na operação; informação ausente também não equivale a zero. Preserve a precisão da origem e não reduza a quantidade a centavos, pois se trata de medida física.
Como evitar confusão com qBCProd de PIS e COFINS?
O nome também aparece em grupos de outras contribuições. Um extrator que busque apenas //qBCProd pode capturar uma base de PIS ou COFINS. Localize o elemento usando todos os ancestrais det/prod/comb/CIDE, o nItem correto e o namespace oficial.
Se vCIDE divergir, confira primeiro unidade e quantidade; depois a vAliqProd. Uma diferença por fator 1.000 sugere conversão de litros/metros cúbicos a investigar, mas só o documento de origem confirma a causa. Corrija a origem comprovada, preservando parâmetros fiscais definidos pelo responsável contábil e o XML assinado original.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/prod/comb/CIDE/qBCProd- 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_1204v · 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|0\.[0-9]{1,4}|[1-9]{1}[0-9]{0,11}|[1-9]{1}[0-9]{0,11}(\.[0-9]{1,4})?- whiteSpace
preserve