理解复式库存管理

为了讲解复式记账库存的概念, 我们来看以下业务会产生怎样的的库存移动:

  • Receiving products from a supplier,

  • Delivery to a customer,

  • Inventory operation for lost materials,

  • Manufacturing.

The structure of stock locations is shown by the figure Location Structure when OpenERP has just been installed. Stocks are assumed to be totally empty and no operation is in progress nor planned.

If you order ‘30 bicycles’ from a supplier, OpenERP will do the following operations on receipt of the products:

Stock Move Operation from Suppliers to Stock

库位

产品

Partner Locations > Suppliers

-30 bicycles

Physical Locations > OpenERP S.A. > Stock

+30 bicycles

If you deliver 2 bicycles to a European customer, you will get the following transactions for the delivery:

Stock Move Operation from Stock to European Customers

库位

产品

Physical Locations > OpenERP S.A. > Stock

-2 bicycles

Partner Locations > Customers > European Customers

+2 bicycles

When the two operations are complete, you will see the following stock in each location:

Resulting Stock Situation

库位

产品

Partner Locations > Suppliers

-30 bicycles

Physical Locations > OpenERP S.A. > Stock

+28 bicycles

Partner Locations > Customers > European Customers

+2 bicycles

So you can see that the sum of the stocks of a product in all the locations in OpenERP is always zero. In accounting you would say that the sum of the debits is equal to the sum of the credits.

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.

小技巧

Consignment Stock

To manage Consignment Stock, you need to define the location for the consignment customer or supplier as part of your own stock and not as a partner location.

注解

科目

In managing stock, a gap between the data in the software and real quantities in stock is difficult to avoid. Double-entry stock management gives twice as many opportunities to find an error. 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.

You have seen a fairly simple example of goods receipt and product delivery, but some operations are less obvious – a stock inventory operation, for example. An inventory operation is carried out when you compare the stock shown in software with real stock numbers counted in the stores.

In OpenERP, with its double-entry stock management, you would use stock moves for this inventory operation. That helps you manage your stock traceability. Suppose there are 26 bicycles in real stock, but OpenERP shows 28 in the system. You then have to reduce the number in OpenERP to 26. This reduction of 2 units is considered as a loss or destruction of products and the correction is carried out as in the following operation:

Inventory Operation to Adjust Stock

库位

产品

Physical Locations > OpenERP S.A. > Stock

-2 bicycles

Virtual Locations > Inventory Loss

+2 bicycles

The product stock under consideration then becomes:

Real and Counterpart Stocks when Operations are Completed

库位

产品

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. After a few months, you can just make a stock valuation of the location Inventory Control ‣ Location Structure ‣ Virtual Locations ‣ Inventory Loss to give you the value of the company’s stock losses in the given period.

Now see how the following manufacturing operation is structured in OpenERP. To make a bicycle you need two wheels and a frame. This means that there should be a reduction of two wheels and a frame from real stock and the addition of a bicycle there. The consumption / production is formalized by moving products out of and into physical stock. The stock operations for this are as follows:

Stock Situation Resulting from Manufacturing

库位

产品

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

So now you have got the outcome you need from the consumption of raw materials and the manufacturing of finished products.

注解

Assessing Created Value

You might already have noticed a useful effect of this approach: if you do a stock valuation in the Virtual Locations > Production location you get a statement of value created by your company (as a negative amount). Stock valuation in any given location is calculated by multiplying quantities of products in stock by their cost. In this case, the raw material value is deducted from the finished product value.