delphi7 开发进销存软件每次进货商品的价格不一样 如何算成本和利润呢

delphi7 开发进销存软件每次进货商品的价格不一样 怎么算成本和利润呢?
比如  1月的2日  进  a商品  10个  单价  5元
          1月 的10日   进 a商品    20个  单价   4元
           1月 的115日  进  a商品    12个  单价   6元


 1月 的12日   卖了  a商品    30个  单价   4元


这期间的库存成本         和利润怎么算啊???还有库存的进货价 每次不一样   给他一个平均价可以吗???
------解决方案--------------------
增加批次来区分,每批次的各种价格都允许不同。
------解决方案--------------------
成本按照进货的平均价格算吧。
------解决方案--------------------
应该设置批次,每个批次的进价不一,售价也不一样,出售按先进先出的原则。当然,这一个销售的灵活性问题。要依据用户的要求,多设置几个方案。
------解决方案--------------------
一般有两种方法.
一种是平均法.
一种是按批次分类法.

------解决方案--------------------
我们公司有类似的情况
我们有物料采购,同样的物料不同供应商采购价不一样,不同采购批次价格也有可能不一样,最终物料还要发到加工厂
我们的入库单和发料单上都记录有数量和金额

咨询过财务
有两种方法管理这种情况
1、批次分类法,先进先出
2、移动加权平均法

第一种方法非常麻烦,管理起来很烦琐,财务不建议使用,财务建议使用第二种方法进行管理
移动加权平均法。
------解决方案--------------------
要看你卖的客户/市场有什么特性。

如果是大进大出或平常中小超市类的,建议用移动平均。
如果是酒类、海鲜, 价格容易波动的话,建议用先进先出。
如果是用医药类、生产加工类的话,则建议使用批次分类。
------解决方案--------------------
这个要咨询企业会计确定所用的计算方法。手工账采用什么算法,电脑账就要采用什么算法。多见的是加权平均法和先进先出法。