2012-10-19 53 views
2

這是一個更抽象的建築問題。庫存管理 - 銷售定價

我正在爲藥店相關領域的庫存管理系統工作。我擁有所有常用組件,例如產品定義(產品類型,類別等)倉庫,採購訂單,收貨注意事項,銷售訂單,產品定價等。

對於每次購買,產品可能攜帶不同的成本(採購成本+運費+附加成本),並且應該能夠配置每批「採購」的銷售價格。在銷售時應該可以選擇基於FIFO或LIFO的BATCH(在產品定義中進行配置)

如何才能最好地完成此要求? 「價格」的屬性是什麼?關於這個主題,任何一般的最佳實踐都是最受歡迎的

回答

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 

for LIFO and:

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

用於FIFO。

您也可以拉出一個列表並讓用戶選擇一個具有該模式的批處理。

切記在交易提交時減少庫存水平。

+0

謝謝馬克。我希望通過你的話「你的庫存價格表將是」你的意思是庫存批量? –

+0

@firdousamir:是的,我更新了答案。 –

+0

另外,銷售定價呢?附上每批的銷售價格?我只想讓這些東西成爲未來的證明,就這些。 –