Correção no Custo Médio das 5 Últimas Entradas NT 0547/2026
Resumo da Nota Técnica
Foi realizada uma correção no relatório Venda por Grupo e Subgrupo com Rentabilidade – 5 Últimas Entradas, ajustando o cálculo do custo médio dos produtos. O relatório passa a considerar a quantidade real de entradas disponíveis até a data de cada venda, evitando que produtos com menos de 5 entradas tenham seu custo médio reduzido artificialmente. Também foi ajustado o cálculo para que compras realizadas após a venda não sejam consideradas, garantindo maior consistência nos resultados de rentabilidade de períodos históricos.
Detalhes da Nota Tecnica
Solicitação
Foi identificado que, quando um produto possuía 5 ou mais entradas, o cálculo do custo médio era realizado corretamente.
Porém, quando existiam menos de 5 entradas, o sistema utilizava o divisor fixo 5, fazendo com que o valor das poucas entradas existentes fosse dividido por 5.
Esse comportamento reduzia indevidamente o custo médio e, consequentemente, apresentava uma rentabilidade maior do que a real.
Também foi identificado que o relatório considerava as últimas entradas disponíveis no momento da emissão, sem respeitar a data em que a venda ocorreu.
Dessa forma, uma compra realizada posteriormente poderia ser utilizada no cálculo de uma venda de um período anterior, alterando o resultado de relatórios históricos.
________________________________________
Problemas Identificados
1. Divisor fixo no cálculo
O cálculo anterior utilizava a quantidade fixa de 5 entradas, mesmo quando o produto possuía menos entradas disponíveis.
Exemplo:
• Produto possui apenas 2 entradas;
• O sistema deveria calcular a média dessas 2 entradas;
• Porém, o cálculo utilizava o divisor 5.
Isso resultava em um custo médio incorreto e impactava diretamente a rentabilidade apresentada.
2. Entradas posteriores à venda
O cálculo também não considerava a data da venda como limite para seleção das entradas.
Com isso, uma compra realizada posteriormente poderia ser utilizada no cálculo de uma venda anterior.
Exemplo:
• Compra: 10/01
• Venda: 15/01
• Nova compra: 10/04
Ao consultar novamente o relatório de janeiro, a compra de abril não deve ser utilizada como referência para a venda de janeiro.
________________________________________
Desenvolvimento Realizado
Foram ajustadas as fórmulas de TOTALCOMPRA e VLRCOMPRAMEDIA do relatório.
1. Divisor dinâmico
O cálculo passou a utilizar a quantidade real de entradas encontradas:
• Com 5 ou mais entradas, considera as 5 últimas entradas.
O NULLIF evita divisão por zero quando não houver entradas válidas.
2. Respeito à data da venda
Foi adicionada a condição:
ENTP_DATACOMPRA <= PEDV_DATA
Assim, somente as entradas realizadas até a data da venda podem participar do cálculo.
Isso garante que compras futuras não alterem a rentabilidade de vendas já realizadas.
________________________________________
Regra de Cálculo
O relatório passa a trabalhar conforme as seguintes regras:
A opção de completar as entradas faltantes com a média das entradas existentes não foi necessária, pois matematicamente o resultado é equivalente ao cálculo utilizando a quantidade real de entradas.
________________________________________
Consistência dos Relatórios Históricos
Com a alteração, o custo utilizado para uma venda passa a respeitar o histórico de compras existente até o momento daquela venda.
Dessa forma, uma compra realizada posteriormente não interfere na rentabilidade de períodos já encerrados.
Isso proporciona resultados mais assertivos, reais e consistentes para análises históricas.
1. Qual era o problema no cálculo do custo médio dos produtos? a) O sistema não considerava nenhuma entrada de produto. b) O sistema utilizava sempre a última compra realizada. c) O sistema utilizava o divisor fixo 5 mesmo quando o produto possuía menos de 5 entradas. d) O sistema multiplicava o custo médio pela quantidade vendida. ________________________________________ 2. Como passou a ser calculada a média quando existem menos de 5 entradas? a) O sistema continua dividindo por 5. b) O sistema considera somente a entrada mais antiga. c) O sistema considera a média das entradas existentes. d) O sistema utiliza o preço de venda do produto. ________________________________________ 3. O que acontece quando existe uma compra posterior à data da venda? a) A compra posterior é utilizada normalmente. b) A compra posterior não é considerada no cálculo daquela venda. c) A compra posterior substitui todas as entradas anteriores. d) O relatório deixa de apresentar a venda.