理解复式库存管理

本章节用于解释库存管理(或存货管理,stock management)的概念,看一下以下操作是怎样产生库存异动的:

  • 从供应商处接收产品,
  • 发货至客户
  • 丢失物料(or 损耗物料?lost materials)的库存操作
  • 生产

库位结构基于系统初始安装后的库位层次结构图 系统初始安装后的库位层次结构图. 假定还没有任何存货 也没有尚在进行中或已经计划的存货相关操作.

如果你从供应商处订购 ‘30台单车’,OpenERP会在接收时候执行以下操作:

Stock Move Operation from Suppliers to Stock
库位 产品
伙伴库位 > 供应商 -30 辆自行车
实际库位 > OpenERP S.A. > 存货 +30 辆自行车

如果你向一个欧洲用户发货‘2台自行车’,会产生以下事务(transactions)

出货给欧洲客户后库位中的存货移动
库位 产品
实际库位 > OpenERP S.A. > 存货 -2 辆自行车
伙伴库位 > 客户 > 欧洲客户 +2 辆自行车

当两个操作都完成以后,你会在各个地点看到以下库存

库位中的库存状态
库位 产品
伙伴库位 > 供应商 -30 辆自行车
实际库位 > OpenERP S.A. > 存货 +28 辆自行车
伙伴库位 > 客户 > 欧洲客户 +2 辆自行车

所以你能看到,在OpenERP中,一个物料在所有库位的库存总和为0 类似的,在会计中,你会有借方总和等于贷方总和 (注:感觉是说OpenERP中的事务记录设计是参考会计里面的借贷设计)

Partner locations (customers and suppliers) are not located under your company in the hierarchical structure, so their contents are not considered as part of your own stock. So if you just look at the physical locations inside your own company, those two bicycles are no longer in your company. Although they are no longer in your own physical stock, it is still very useful to see them in your customer’s stock, because that will help when you carry out detailed stock management analysis. 注:直翻有点拗口,上面的意思是: OpenERP中,伙伴库位(partner locations)的库存并不属于你的公司,所以他们的库存量不属于你。 物理库位(physical locations)才是属于你的公司的,你只需要查看physical locations来了解自己的现有量状况。 参考上面的例子,已经发走的2台自行车不在属于你的公司 虽然他们不属于你公司的物理库存了,但是这笔数据放置在你的客户库存里面还是很有用的,这样可以帮助你进行更为详细的库存分析。

Tip

委托库存,或托管库存(Consignment Stock)

(注:即你的公司负责库存管理,但是所有权(物权)仍然属于供应商或者销售客户的库存。) 为管理托管库存,你需要为供应商或者客户定义专门的库位(托管类型的库位),而不是将其定义为一个合作方库位(partner location)

Note

账目(Accounts)

在管理库存时候,软件数据和实际库存有差异是难以避免的。 复式库存管理提供了2倍的机会来发现一个错误(即提供了双重数据进行复查) If you forget two items of stock, this error will automatically be reflected in the counterpart’s location.

You can make a comparison with accounting, where you will easily find an error because you can look for an anomaly in an account or in the counterparts: if there is not enough in a bank account then that is probably because someone has forgotten to enter a customer’s invoice payment. You always know that the sum of debits must equal the sum of the credits in both accounting and OpenERP’s stock management.

In accounting, all documents lead to accounting entries that form the basis of management accounting. If you create invoices or enter statements of account, for example, the results of the operations are accounting entries on accounts. And it is the same for stock management in OpenERP. All stock operations are carried out as simple stock moves. Whether you pack items, or manufacture them, or carry out a stock inventory operation, stock moves are carried out every time.

你已经看过了一个简单的产品接收和发货的例子,但是有些操作是不明显的 - 如库存的物理盘点操作。 例如,当你对软件中的库存数量和实际的库存数量进行一次比对时,会进行物理盘点

In OpenERP, with its double-entry stock management, you would use stock moves for this inventory operation. That helps you manage your stock traceability. 例如实际库存有26辆自行车,但是OpenERP显示系统中有28个自行车。 你需要从OpenERP中讲数量减少至26. 这个减少的2辆自行车会视为一个产品的丢失(loss)或者损耗(destruction)。 数量的更正由下面两个操作完成: (注:相当于用一次库存转移做了盘亏)

Inventory Operation to Adjust Stock
Location Products
Physical Locations > OpenERP S.A. > Stock -2 bicycles
Virtual Locations > Inventory Loss +2 bicycles

综合以上,产品库存变为:

Real and Counterpart Stocks when Operations are Completed
Location Products
Partner Locations > Suppliers -30 bicycles
Physical Locations > OpenERP S.A. > Stock +26 bicycles
Partner Locations > Customers > European Customers +2 bicycles
Virtual Locations > Inventory Loss +2 bicycles

This example shows one of the great advantages of this approach in terms of performance analysis. 几个月以后,你能简单做一个库存评估(stock valuation),路径为 Inventory Control ‣ Location Structure ‣ Virtual Locations ‣ Inventory Loss 来获得一个在此期间公司库存损耗的数据。

现在看一下,以下的生产操作在OpenERP中是如何记录(structured)的。 生产一辆自行车你需要2个轮子以及1个车架。 这意味着物理库存需要减少2个轮子以及1个车架,同时增加1辆自行车。 这个 物料消耗/生产完工 的过程是通过从物理库存中对物料进行(原材料)发料和(成品)入库来实现的。 以下是这个例子的库存操作数据:

制造后库存状态
Location Products Step
Physical Locations > OpenERP S.A. > Stock -2 Wheels Consumption of raw materials
Virtual Locations > Production +2 Wheels Consumption of raw materials
Physical Locations > OpenERP S.A. > Stock -1 Frame Consumption of raw materials
Virtual Locations > Production +1 Frame Consumption of raw materials
Virtual Locations > Production -1 Bicycle Manufacture of finished products
Physical Locations > OpenERP S.A. > Stock +1 Bicycle Manufacture of finished products

至此你已得到从消耗材料到产出成品的预期结果.

Note

计算增值金额

你应该已经注意到这个方法的一个很有用的功能: 如果你查看 Virtual Locations > Production 这个虚拟库位的库存金额合计,就是贵公司的增值部分 (以负数表示). 库位的库存金额合计是由库存产品数量乘以成本价计算得来的. 这里是原材料的金额减去产成品的金额.