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

vAliqProd em COFINSQtde: valor por unidade e cálculo específico

<vAliqProd>det › imposto › COFINS › COFINSQtde › vAliqProd

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

A tag vAliqProd em COFINSQtde registra a alíquota da COFINS em reais por unidade da base quantitativa. Seu caminho é det/imposto/COFINS/COFINSQtde/vAliqProd. O resultado da conta fica em vCOFINS; a quantidade fica em qBCProd.

Um parâmetro tributário em reais por unidade

A conferência é qBCProd × vAliqProd. Não se divide por 100 porque o parâmetro é um valor específico, diferente de pCOFINS, que é percentual no ramo monetário. A quantidade e o valor específico precisam usar a mesma unidade de base. MOC 7.0, Anexo I, p. 54.

Também não se deve copiar vUnCom ou vUnTrib para vAliqProd. Os dois primeiros são preços unitários do produto; vAliqProd é um parâmetro tributário. Embora todos possam conter um número com casas decimais, suas funções são diferentes.

A definição da alíquota específica e da unidade depende de produto, operação, regime, data e fundamento fiscal. O CST 03 de COFINSQtde não escolhe o valor numérico da alíquota. Se o parâmetro está ausente, obtenha a definição documentada com o responsável contábil, sem inventar um valor ou recorrer ao preço.

Exemplo com valor específico de quatro casas

Assuma CST 03 previamente definido para um cenário fictício, base de 40 unidades e alíquota didática de R$ 0,1250 por unidade. A multiplicação 40 × 0,1250 resulta em R$ 5,00.

Fragmento sintético e parcial da nota, sem condições para transmissão ou recomendação fiscal:

<COFINSQtde xmlns="http://www.portalfiscal.inf.br/nfe">
  <CST>03</CST>
  <qBCProd>40</qBCProd>
  <vAliqProd>0.1250</vAliqProd>
  <vCOFINS>5.00</vCOFINS>
</COFINSQtde>

Reduzir antecipadamente a alíquota para R$ 0,12 gera R$ 4,80, diferença de R$ 0,20. O fato de vCOFINS ser uma informação monetária com duas casas quando fracionária não transforma a alíquota específica em parâmetro de apenas duas casas. Preserve sua precisão até o cálculo final.

Para outra conferência didática, 0,5 unidade de base e R$ 0,40 por unidade produzem R$ 0,20. Se o sistema usar “meia embalagem” como 0,5, mas a alíquota estiver definida por litro, essa conta só será adequada após confirmar a relação física e fiscal entre embalagem e litro. O exemplo não impõe a unidade de tributação.

Formato e investigação da origem

No XSD histórico PL_010d_v1.03, vAliqProd usa TDec_1104v: até 11 inteiros e de uma a quatro casas na parte fracionária, com alternativas para inteiro e zero no padrão. 0.125 e 0.1250 representam o mesmo número nessa referência. Use ponto decimal, sem moeda, unidade ou símbolo de porcentagem. PL_010d_v1.03, tipos básicos.

Não atribua essas facetas automaticamente ao campo homônimo de COFINSST, cujo tipo histórico é diferente. A validação precisa usar o pacote efetivamente exigido no ambiente.

Em COFINSQtde, vAliqProd é obrigatório e vem depois de qBCProd e antes de vCOFINS; CST vem primeiro. Não há escolha interna com vBC/pCOFINS. Um campo vazio ou ausente não equivale a alíquota zero, e zero estruturalmente aceito não confirma adequação fiscal.

Se a conta diverge, compare o valor definido, sua unidade, o qBCProd desse grupo, a precisão no cálculo e o texto efetivamente serializado. Procure conversão percentual indevida, cópia de preço ou arredondamento precoce como hipóteses verificáveis. A igualdade da conta não comprova, sozinha, a correção da tributação.

Corrija a causa confirmada, recalcule o resultado e gere nova prévia. Não ajuste a alíquota para compensar quantidade errada ou obter um valor esperado, e não edite XML assinado. A política de arredondamento e eventual tolerância precisam da regra aplicável; não são deduzidas apenas do número de casas do campo.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/det/imposto/COFINS/COFINSQtde/vAliqProd
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_1104v · 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,10}|[1-9]{1}[0-9]{0,10}(\.[0-9]{1,4})?
whiteSpace
preserve