Gustavo em sistemas mais complexos, não dá para fugir da questão do lote, o primeiro motivo é o controle de vencimento dos produtos, outro é que possibilita calcular o lucro com maior precisão sobre um lote.
Mas se no seu caso não houver lotes, o único jeito seria guardar o preço médio de compra do produto, para calcular o lucro de produto pegaria:
Custo = [Quantidade do Produto X Vendida] * [Preço Médio de Compra]
Total das Vendas = Soma do Valor Total obtido pelas vendas do Produto X
Lucro = [Total das Vendas] - Custo
Uma observação importante, é que utilizando Preco Médio de Compra, esse relatório só é válido para a data atual, uma vez que a grande maioria dos produtos tendem a ter o Preço Médio de Compra crescente com o passar do tempo. Assim quando foi emitir uma relatório de análise de lucro, se for fazer para digamos a 1 ano atrás, pode até acondecer de o Preço Médio de Compra estar maior que o de venda e você ter uma relatório mostrando que teve prejuízo e não lucros.
Para possibilitar guardar o histórico de lucratividade do produto, uma alternativa seria para cada venda você guardar o preco médio de compra daquele produto naquele instante, assim tendo o lucro para cada venda. Assim você teria um lucro para cada venda, e o lucro no período sería apenas uma soma.
Espero ter ajudado.
> Date: Tue, 1 Jan 2013 16:20:13 -0200
> From:
gus...@gmasoftwares.com.br> To:
dotn...@googlegroups.com> Subject: [.Net - BR] Cálculo de custo x venda x lucro
>
> Pessoal,
>
> Minha dúvida é mais matemática / logística do que programação.
> Mas acho que é pertinente e os amigos com maior experiência talvez
> possam ajudar.
>
> Tô finalizando um sistema "simples" de controle comercial (compras,
> vendas, financeiro etc).
> Mas tô em dúvida sobre como proceder ao relatório de lucro.
>
> Imaginemos um produto X.
>
> No dia 1 eu faço uma compra de 100 produtos X por R$ 2,00 cada.