Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · Informações complementares da operação

qTotGer em cana: quantidade geral e reconciliação do histórico

<qTotGer>cana › qTotGer

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

qTotGer informa a quantidade total geral no grupo cana. Ele encerra a parte de quantidades, depois do total mensal e do anterior. Não é o valor geral da nota, o preço dos fornecimentos ou um campo tributário de base de cálculo.

Caminho desta página: /nfeProc/NFe/infNFe/cana/qTotGer. O prefixo nfeProc identifica a nota processada; a informação estudada pertence ao conteúdo da NF-e, dentro de NFe/infNFe.

Total geral exige um recorte coerente

O MOC nomeia os campos como total do mês, anterior e geral. Para reconciliar um demonstrativo em que o geral reúne anterior e mês, os dois componentes precisam ter a mesma safra, referência de corte, participantes e unidade. A soma é uma conferência aritmética desse demonstrativo; o trecho oficial não publica uma regra de rejeição própria com fórmula e tolerância para o campo.

Antes de usar um total vindo do histórico, confira se ele ainda exclui o mês corrente. “Geral” não autoriza somar todos os fornecedores, empresas ou safras do banco de dados. A origem precisa individualizar a aquisição documentada. MOC, ZC07–09, p. 65.

Exemplo e representação no XML

Assuma um recorte sintético documentado: 5.000 kg anteriores e 2.000 kg do mês. O geral dessa memória é 7.000 kg:

<qTotGer xmlns="http://www.portalfiscal.inf.br/nfe">7000</qTotGer>

O fragmento é parcial em relação a cana e à NF-e, sem documento completo de transmissão. qTotGer é obrigatório uma vez no grupo, após qTotAnt e antes das deduções opcionais.

O tipo TDec_1110v permite até 11 algarismos inteiros e até 10 decimais, com ponto decimal, sem separador de milhar, sinal negativo ou notação exponencial. Um inteiro sem casas também pode ser representado. Precisão aceita pelo XML não substitui a precisão documentada na pesagem.

O total monetário de R$ 500,00 dos mesmos fornecimentos pertence a vFor, não a qTotGer. Um sistema que guarda tudo em uma coluna genérica “total” precisa preservar o significado e a unidade no mapeamento.

Duas diferenças com causas diferentes

Se o mês tem 2.000 kg e o anterior 5.000 kg, um geral de 9.000 kg sugere investigar inclusão duplicada do mês; essa hipótese só se confirma pela memória. Um geral de 7 kg, por outro lado, exige verificar se uma origem em toneladas foi copiada para campo em quilogramas. Não trate os dois sintomas como o mesmo erro de arredondamento.

Se a diferença coincide com um fechamento anterior de outra safra, compare a chave de seleção do histórico. Registre os documentos e o corte utilizados, corrija a consulta ou consolidação demonstradamente errada e gere novamente. Preservar o total “porque veio do sistema” não substitui a conciliação; substituir por uma soma de outro recorte também não resolve.

Schema, modelo e efeito fiscal

Validação de formato e sequência não garante que o acumulado corresponda às pesagens. A restrição de modelo é independente: o MOC vincula cana em NFC-e 65 à rejeição 763. Confirme ide/mod e a documentação da operação antes de qualquer mudança.

Não use qTotGer como base tributável por inferência. A tributação dos itens possui seus próprios parâmetros e campos, que precisam ser definidos para a operação. A página permite conferir o total físico depois que recorte e unidade estão documentados; não escolhe incidência, preço ou critério contábil do fornecedor.

Fontes oficiais

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/cana/qTotGer
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_1110v · 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,10}|[1-9]{1}[0-9]{0,10}|[1-9]{1}[0-9]{0,10}(\.[0-9]{1,10})?
whiteSpace
preserve