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

qTotMes em cana: total mensal e soma dos fornecimentos

<qTotMes>cana › qTotMes

Revisã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

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