库存管理 - 销售定价

时间:2012-10-19 20:45:02

标签: inventory

这更像是一个抽象的架构问题。

我正在为药房相关领域开发库存管理系统。我有所有常用的组件,如产品定义(产品类型,类别等)仓库,采购订单,收货单,销售订单,产品定价等。

对于每次购买,产品可能带有不同的成本(购买成本+运费+额外成本),并且应该能够为每个“批次”购买配置销售价格。销售时应该可以根据FIFO或LIFO选择BATCH(在产品定义中配置)

我们如何才能最好地完成此要求? “价格”的属性是什么?关于这个主题,欢迎任何一般的最佳实践。

1 个答案:

答案 0 :(得分:2)

我不确定“最佳”做法是什么,但之前我已经创建了这种库存系统。您几乎可以在问题中找到答案 - 您需要按批次跟踪购买。

所以您的库存大师看起来像:

Primary_Inventory_Key
Description
LIFO_FIFO_FLAG          // if this is set at the inventory item level
...

您的库存批次表将是:

 Primary_Inventory_Key
 Batch #                  // autoincrement
 // maybe PO # or something rather than these fields, depends on rest of schema
 Purchase Date            //
 Purchase Price           //
 Purchase Qty             // quantity originally purchased 
 VendorID                 

 InventoryLevel           // quantity remaining from this batch
 ...

 PRIMARYKEY(Primary_Inventory_Key,Batch#)

然后当你去做销售时,只需:

SELECT MAX(Batch#) WHERE InventoryKey = 'Mykey' AND InventoryLevel > 0

用于LIFO并且:

SELECT MIN(Batch#) WHERE InventoryKey = 'Mykey' AND InventoryLevel > 0

表示FIFO。

您还可以提取一个列表,让用户选择具有此架构的批处理。

请记住在提交交易时减少库存水平。