Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · COFINS e COFINS-ST

qBCProd em COFINSOutr: quantidade da base e conversão de unidade

<qBCProd>det › imposto › COFINS › COFINSOutr › qBCProd

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

qBCProd em COFINSOutr é a quantidade utilizada no ramo de cálculo por valor específico da COFINS. O caminho é det/imposto/COFINS/COFINSOutr/qBCProd. Ela acompanha vAliqProd, o valor em reais por unidade, para produzir vCOFINS.

Identifique a unidade antes de copiar a quantidade

O manual descreve qBCProd como quantidade vendida, mas a conferência do cálculo exige que essa quantidade esteja na unidade correspondente à alíquota em reais. A tag é numérica; não contém um texto de unidade ao lado. É preciso identificar a unidade pela definição fiscal e pelos dados da operação. MOC 7.0, Anexo I, p. 56.

Quantidade comercial qCom, quantidade tributável qTrib do produto e qBCProd podem coincidir em um caso definido, mas isso não é uma igualdade universal imposta pelo nome das tags. Se há embalagem, peso ou volume, confira a relação entre a unidade comercial e a da base, com fator documentado e aplicável ao produto.

qBCProd também não é vBC. A primeira é quantidade; a segunda, base monetária do ramo percentual. Substituir uma pela outra conserva números, mas muda sua unidade e o sentido da conta.

Exemplo com embalagem e unidade da base

Assuma exclusivamente para ilustração duas embalagens de 5 litros, uma base quantitativa previamente definida em litros e alíquota específica fictícia de R$ 0,30 por litro. A conversão física assumida produz 2 × 5 = 10 litros. A conta da contribuição é 10 × 0,30 = R$ 3,00.

Com CST 99 também assumido somente para demonstrar a estrutura, o fragmento sintético e parcial da nota seria:

<COFINSOutr xmlns="http://www.portalfiscal.inf.br/nfe">
  <CST>99</CST>
  <qBCProd>10</qBCProd>
  <vAliqProd>0.30</vAliqProd>
  <vCOFINS>3.00</vCOFINS>
</COFINSOutr>

Não está pronto para transmissão nem sugere incidência por litro, CST ou valor legal. A unidade de base foi uma hipótese expressa.

Copiar a quantidade comercial 2 para qBCProd, mantendo R$ 0,30 por litro, produziria R$ 0,60: a conta usaria embalagens com um parâmetro por litro. Para investigar diferença desse tipo, confira os dois lados da relação de unidade. Não compense a quantidade errada multiplicando arbitrariamente a alíquota.

Em outro caso didático, uma base já definida de 2,5 unidades e valor de R$ 0,40 por unidade gera R$ 1,00. O resultado não é obtido com divisão por 100, pois vAliqProd não é porcentagem.

Ramo, formato e conferência

COFINSOutr exige uma escolha entre vBC/pCOFINS e qBCProd/vAliqProd. qBCProd é obrigatório quando o ramo quantitativo foi escolhido e fica ausente no ramo percentual. CST vem antes do par; vCOFINS vem depois. Não envie uma quantidade sem seu valor por unidade nem misture os dois pares. PL_010d_v1.03, COFINSOutr.

No XSD histórico 010d, qBCProd usa TDec_1204v, com até 12 inteiros e uma a quatro casas na parte fracionária, além das alternativas inteiras e zero do padrão. 2.5 e 2.5000 representam a mesma quantidade; use ponto e nenhum sufixo de unidade. O tipo não decide se zero corresponde ao caso nem autoriza truncar uma quantidade real incompatível.

Diante de divergência, compare unidade confirmada, quantidade comercial, fator de conversão, quantidade calculada e qBCProd serializado. Uma diferença pode ser de conversão, precisão ou mapeamento; localize-a antes de modificar o dado. Se falta a unidade fiscal, obtenha a definição e documentação com o responsável contábil.

Depois confira o vAliqProd de COFINSOutr e o resultado monetário. Corrija a causa comprovada na origem, gere nova prévia e valide o pacote do ambiente. Não edite XML assinado nem escolha uma quantidade que apenas produza o valor desejado.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/det/imposto/COFINS/COFINSOutr/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