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

qBCProd da CIDE: base em quantidade e unidade no XML

<qBCProd>det › prod › comb › CIDE › qBCProd

Revisã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?

É 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