qTrib na NF-e: conversão de unidade e conferência de 630
<qTrib>det › prod › qTribRevisão editorial em 26 de set. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
qTrib é a quantidade do produto expressa na unidade tributável uTrib. Fica em /nfeProc/NFe/infNFe/det/prod/qTrib, é obrigatória no leiaute compartilhado dos modelos 55/65 e pode diferir da quantidade comercial qCom. Não representa percentual de imposto ou quantidade necessariamente igual à vendida em caixas, litros ou outra unidade comercial.
Quantidade sempre precisa de uma unidade
O número 24 só tem significado junto da unidade. 24 unidades individuais, 24 caixas ou 24 quilogramas representam quantidades distintas. A definição de uTrib precisa estar confirmada para a mercadoria/operação; em comércio exterior, há tabela NCM/unidade específica, e produtos com regra própria têm condições adicionais.
O fator de conversão vem da apresentação do produto e dos controles documentais. Não se extrai um fator universal do NCM nem do GTIN. Se uma caixa contém 12 unidades e esse conteúdo é constante e comprovado para aquela apresentação, a conversão pode usar 12. Produtos de peso variável exigem dado físico/documental próprio, sem presumir que cada embalagem pesa uma unidade.
Em I14-10/817, o MOC delimita a conferência NCM/uTrib para NF-e 55 de exportação (tpNF=1 e idDest=3) ou operações vinculadas à exportação com CFOP 1501, 2501, 5501, 5502, 5504, 5505, 6501, 6502, 6504 ou 6505. A unidade deve ser confrontada com a linha e vigência da tabela oficial correspondente ao NCM já confirmado, e a quantidade expressa nessa medida. A tabela não fornece um fator universal de conversão de caixas para peso, volume ou unidades. I13-20/854 tem condição específica: cProdANP 210203001 (GLP) e uTrib diferente de kg, sem distinguir maiúsculas/minúsculas. Esses critérios não selecionam NCM, CFOP ou unidade para qualquer produto. MOC, I13-20 e I14-10.
Dois cenários de conferência
Comercial e tributável iguais: 10 UN a R$ 8,00 dão bruto R$ 80,00; qCom 10, qTrib 10 e os preços unitários podem coincidir quando toda a relação é a mesma.
Unidades diferentes: 2 CX de 12 UN cada, vendidas a R$ 120,00 por caixa, dão bruto R$ 240,00. Com uTrib UN confirmado, qTrib=2×12=24 e vUnTrib=240÷24=10. O bruto permanece 240. Não se multiplica qTrib pelo preço da caixa 120, pois 24×120=2.880 representaria outra grandeza.
Trecho sintético e parcial da segunda hipótese, com identificação, classificação e demais campos omitidos. Não está pronto para transmissão e não escolhe a unidade do leitor.
<prod xmlns="http://www.portalfiscal.inf.br/nfe">
<!-- Campos anteriores omitidos -->
<uCom>CX</uCom><qCom>2.0000</qCom><vUnCom>120.00</vUnCom>
<vProd>240.00</vProd><cEANTrib>SEM GTIN</cEANTrib>
<uTrib>UN</uTrib><qTrib>24.0000</qTrib><vUnTrib>10.00</vUnTrib>
<indTot>1</indTot>
</prod>
Precisão e regra 630
O tipo TDec_1104v aceita zero ou positivo, até 11 dígitos inteiros e até 4 casas decimais. Os valores unitários admitem precisão distinta, até 10 decimais no tipo correspondente. Aceitar zero estruturalmente não permite substituir quantidade desconhecida por zero nem calcular divisão por zero. No XML, use ponto decimal, sem separador de milhar, sinal ou notação exponencial: 0.1250 representa 0,125 da unidade confirmada; 0,1250, 1.000,00 e 1e3 não correspondem ao padrão do tipo. Preserve até quatro casas da quantidade e a precisão própria do preço sem arredondar ambos prematuramente.
I11-20/630 compara vProd com qTrib×vUnTrib nos modelos 55/65 com finalidade normal, finNFe 1, com aplicação facultativa. A nota(*4) do MOC orienta arredondar o resultado da multiplicação a duas casas e considerar R$ 0,01 para mais ou menos na validação. Essa tolerância pertence à comparação específica, não a todas as contas ou quantidades. MOC, I14, I11-20 e(*4).
Por exemplo, com qTrib=3.0000, vUnTrib=33.3333333333 e vProd=100.00, a multiplicação dos valores serializados é 99,9999999999 e, após arredondamento a duas casas, resulta em 100,00. Para essa comparação, diferença de 0,01 está dentro da tolerância documentada; 0,02 está fora. Isso não autoriza ajustar quantidade, preço ou valor verdadeiro para utilizar a margem, nem garante autorização da nota em outras regras.
Diagnóstico de conversão ou multiplicação incorreta
Guarde o XML e o retorno e identifique o item. Leia uCom/qCom/vUnCom e uTrib/qTrib/vUnTrib juntos. Compare apresentação, fator e bruto no documento de origem. Se a divergência tem exatamente o fator da embalagem, verifique preço por caixa usado com quantidade individual ou cópia indevida de qCom.
Se o problema é arredondamento, use os valores efetivamente serializados, não números de tela com precisão reduzida. Confira em que etapa o fator e o preço foram arredondados. Se falta fator comprovado, essa é a informação a obter; não ajuste qTrib até a multiplicação coincidir.
Depois de corrigida a origem, cadastro ou cálculo demonstravelmente incorreto, confira o XML novo e o resultado da fórmula. A unidade e tratamento fiscal específicos continuam dependentes da operação e da documentação. Não edite XML assinado, não transforme ausência em zero e não escolha unidade para forçar aceitação.
Fontes oficiais
- MOC 7.0 — Anexo I — 7.00; p.19 I14; pp.93–94 I11-20, I13-20 e I14-10; p.140 (*4).
- Schemas NF-e/NFC-e — PL_010c_NT2022_002v1.30; prod/qTrib TDec_1104v; tipo em tiposBasico.
Leitura relacionada
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/prod/qTrib- 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
- Obrigatório
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