库存设计管理 - FIFO /加权平均设计,也需要历史库存价值

时间:2017-05-10 05:57:52

标签: django database-design relational-database database-schema inventory-management

我有一个包含以下详细信息的数据库:

产品

Name
SKU
UOM (There is a UOM master, so all purchase and sales are converted to base uom and stored in the db)
Some other details
has_attribute
has_batch

属性

Name
Details/Remarks

产品-属性

Product (FK)
Attribute(FK)
Value of attribute

广告资源详情

#This is added for every product lot bought & quantity available is updated after every sale

Product (FK)
Warehouse (FK to warehoue model)
Purchase Date
Purchase Price
MRP
Tentative sales price
Quantity_bought
Quantity_available
Other batch details if applicable(batch id, manufactured_date, expiry_date)

广告资源分类帐

#This table records all in & out movement of inventory

Product
Warehouse (FK to warehoue model)
Transaction Type (Purchase/Sales)
Quantity_transacted(i.e. quantity purchased/sold)
Inventory_Purchase_cost(So as to calculate inventory valuation)

现在,我的问题是:

我需要找出历史库存成本。例如,让我们说我需要在2017年2月10日找出库存的价值,我现在对目前的表做的不是很有效:我会找出当前的库存和返回所有1000-1500 SKU的分类账,每天约100笔交易(每个sku)超过120天,并达到一个价值。大约1500 * 100 * 120。这是巨大的。是否有更好的数据库设计来处理这种情况?

1 个答案:

答案 0 :(得分:0)

首先,你测试过吗? 1500 * 100 * 120不 巨大。它可能是可接受的性能,没有问题需要解决!

我不是100%清楚你如何计算价值。您是否总结了每个仓库中每个产品的InventoryLedger行?是这样,很容易为购买增加价值,但您如何看待销售?我将假设您使用Inventory_Purchase_Cost来估算销售额(因此它可能应该被称为TransactionValue)。

如果您必须对其进行优化,我建议您每天填写一份记录,以便对每个仓库中的产品进行评估。我建议每天可以填充以下StockValution表,这样可以快速计算任何历史日的估值。 QuickDatagbaseDiagrams SO 43884570

使用QuickDBD制作的图表,我工作的地方。