qTotMes em cana: total mensal e soma dos fornecimentos
<qTotMes>cana › qTotMesRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
qTotMes representa a quantidade total do mês no registro de aquisição de cana. O mês e ano são identificados por cana/ref; os fornecimentos são discriminados em forDia. O total anterior qTotAnt e o geral qTotGer são campos diferentes e não devem ser copiados para o fechamento mensal.
Caminho desta página: /nfeProc/NFe/infNFe/cana/qTotMes. O prefixo nfeProc identifica a nota processada; a informação estudada pertence ao conteúdo da NF-e, dentro de NFe/infNFe.
Quais registros pertencem ao mês
Separe os fornecimentos da mesma aquisição e safra conforme a referência MM/AAAA. Em cada forDia, o atributo dia identifica o dia daquele mês e qtde informa o peso líquido em kg. Somar os registros diários é uma conferência natural do total mensal, desde que não existam duplicidades, cortes diferentes ou unidades misturadas.
O MOC identifica o significado dos campos, mas não publica nesse trecho uma regra de rejeição numérica ou tolerância de soma. Por isso, uma conciliação interna deve registrar seus critérios e as pesagens usadas, sem apresentar uma margem própria como se fosse permitida pela SEFAZ. MOC, ZC04–07, p. 65.
Exemplo de soma mensal
Em um cenário sintético, os fornecimentos líquidos dos dias 1 e 2 são 1.250,5 kg e 749,5 kg. A soma desse conjunto é 2.000 kg. O campo mensal pode registrar:
<qTotMes xmlns="http://www.portalfiscal.inf.br/nfe">2000</qTotMes>
É um fragmento parcial, sem XML completo da NF-e. Os registros diários que justificam o total não foram reproduzidos neste bloco. Se há 5.000 kg anteriores, eles permanecem em qTotAnt; não transformam este mês em 7.000 kg.
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.
A precisão do total deve conservar os dados documentados na apuração dos fornecimentos. Não arredonde cada pesagem a quilogramas inteiros apenas porque o exemplo usa um total inteiro.
Como investigar total que não fecha
Compare o total gerado com a soma das quantidades serializadas dos registros diários. Se a origem possui o mesmo fornecimento duas vezes, identifique o comprovante duplicado; se o XML perde um dia, confira filtros de data e consolidação. Se o total diverge por fator 1.000, confirme unidade de origem e conversão para quilogramas.
Na virada do mês, verifique se a consulta selecionou a referência da aquisição ou a data de emissão da nota. São dados diferentes. Não mova uma pesagem verdadeira para outro período para compensar o total. Corrija somente o filtro, mapeamento ou registro comprovadamente divergente e regenere antes da assinatura.
Obrigatoriedade e campos que não substitui
qTotMes ocorre exatamente uma vez em cana, depois dos registros forDia e antes de qTotAnt. O grupo pai pode ser omitido quando não aplicável, mas, se gerado, exige o fechamento mensal. qCom e qTrib dos produtos têm unidades e funções próprias; não se tornam automaticamente iguais a qTotMes.
O MOC associa a presença de cana em modelo 65 à rejeição 763. Essa condição não é uma rejeição de cálculo mensal. O campo também não define base, alíquota ou regime fiscal da aquisição: esses parâmetros dependem da operação e do responsável fiscal.
Fontes oficiais
- Leiaute NF-e/NFC-e — PL_010f_v1.04: cana/qTotMes l6420–6424; TDec_1110v
- Tipos básicos NF-e/NFC-e — PL_010f_v1.04: TDec_1110v l247–256; TDec_1302; TString
- MOC 7.0 — Anexo I — 7.00, novembro/2020: Grupo ZC, p. 64–65; regra ZC01-10 e rejeição 763, p. 128
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/cana/qTotMes- 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