Automatic inventory valuation¶
公司的所有库存都会影响其存货的价值。这一价值应反映在公司的会计记录中,以准确显示公司及其所有资产的价值。
By default, Odoo uses a periodic inventory valuation (also known as manual inventory valuation). This method implies that the accounting team manually posts journal entries, based on the physical inventory of the company, and warehouse employees take the time to count the stock. In Odoo, each product category reflects this, with the Costing Method set to Standard Price, and the Inventory Valuation (not visible by default) set to Manual.
Alternatively, perpetual (automatic) inventory valuation creates real-time journal entries in the Accounting app whenever stock enters or leaves the company’s warehouse.
This document is focused on the proper setup of automatic inventory valuation, which is an integrated valuation method that ensures journal entries in the Accounting app match stock valuation updates in the Inventory app. For an introduction of inventory valuation in Odoo, refer to the Using inventory valuation documentation.
警告
Switching from manual to automatic inventory valuation may cause discrepancies between stock valuation and accounting journals.
One successful strategy for switching to automated valuation:
Clear existing stock (possibly with an inventory adjustment)
Change the inventory valuation method to Automatic
Return the existing stock, with the original monetary value (using an inventory adjustment)
Once the existing stock is recovered, the Odoo Accounting app automatically generates the journal entries to corresponding stock valuation records.
配置¶
To properly set up automatic inventory valuation, follow these steps in Odoo:
Accounting setup¶
To use automatic inventory valuation, install the Accounting app. Next, go to Stock Valuation section, tick the Automatic Accounting checkbox. Then, click Save.
, and in the注解
Enabling Automatic Accounting shows the previously invisible Inventory Valuation field on a product category.
Refer to the Expense and Stock input/output sections of documentation for details on configuring the accounting journals shown.
Product category setup¶
After enabling inventory valuation, the next step is to set the product category to use automatic inventory valuation.
Go to Inventory Valuation section, set the Inventory Valuation field to Automated. Repeat this step for every product category intending to use automatic inventory valuation.
, and select the desired product category. In the注解
After enabling automatic accounting, each new stock move layer (SVL), that is created during inventory valuation updates, generates a journal entry.
成本方法¶
After enabling inventory valuation, the costing method for calculating and recording inventory costs is defined on the product category in Odoo.
Go to Inventory Valuation section, select the appropriate Costing Method:
and select the desired product category. In theThe default costing method in Odoo. The cost of the product is manually defined on the product form, and this cost is used to compute the valuation. Even if the purchase price on a purchase order differs, the valuation is the cost defined on the product form.
作业 |
单位成本 |
在手数量 |
入库价值 |
库存价值 |
---|---|---|---|---|
$10 |
0 |
$0 |
||
Receive 8 products for $10/unit |
$10 |
8 |
8 * $10 |
$80 |
Receive 4 products for $16/unit |
$10 |
12 |
4 * $10 |
$120 |
Deliver 10 products |
$10 |
2 |
-10 * $10 |
$20 |
Receive 2 products for $9/unit |
$10 |
4 |
2 * $10 |
$40 |
Calculates the valuation of a product based on the average cost of that product, divided by the total number of available stock on-hand. With this costing method, inventory valuation is dynamic, and constantly adjusts based on the purchase price of products.
作业 |
单位成本 |
在手数量 |
入库价值 |
库存价值 |
---|---|---|---|---|
$0 |
0 |
$0 |
||
Receive 8 products for $10/unit |
$10 |
8 |
8 * $10 |
$80 |
Receive 4 products for $16/unit |
$12 |
12 |
4 * $16 |
$144 |
Deliver 10 products |
$12 |
2 |
-10 * $12 |
$24 |
Receive 2 products for $6/unit |
$9 |
4 |
2 * $6 |
$36 |
How are unit cost and inventory value calculated at each step?
When receiving four products for $16 each:
Inventory value is calculated by adding the previous inventory value with the incoming value: \($80 + (4 * $16) = $144\).
Unit cost is calculated by dividing the inventory value by the quantity on-hand: \($144 / 12 = $12\).
When delivering ten products, the average unit cost is used to calculate the inventory value, regardless of the purchase price of the product. Therefore, inventory value is \($144 + (-10 * $12) = $24\).
Receive two products for $6 each:
Inventory value: \($24 + (2 * $6) = $36\)
Unit cost: \($36 / 4 = $9\)
注解
When choosing Average Cost (AVCO) as the Costing Method, changing the numerical value in the Cost field for products in the respective product category creates a new record in the Inventory Valuation report to adjust the value of the product. The Cost amount is then automatically updated, based on the average purchase price of both the inventory on-hand and the costs accumulated from validated purchase orders.
Tracks the costs of incoming and outgoing items in real-time, and uses the real price of the products to change the valuation. The oldest purchase price is used as the cost for the next good sold, until an entire lot of that product is sold. When the next inventory lot moves up in the queue, an updated product cost is used based on the valuation of that specific lot.
This method is arguably the most accurate inventory valuation method for a variety of reasons, but it is highly sensitive to input data and human error.
作业 |
单位成本 |
在手数量 |
入库价值 |
库存价值 |
---|---|---|---|---|
$0 |
0 |
$0 |
||
Receive 8 products for $10/unit |
$10 |
8 |
8 * $10 |
$80 |
Receive 4 products for $16/unit |
$12 |
12 |
4 * $16 |
$144 |
Deliver 10 products |
$16 |
2 |
-8 * $10
-2 * $16
|
$32 |
Receive 2 products for $6/unit |
$11 |
4 |
2 * $6 |
$44 |
How are unit cost and inventory value calculated at each step?
When receiving four products for $16 each:
Inventory value is calculated by adding the previous inventory value to the incoming value: \($80 + (4 * $16) = $144\).
Unit cost is calculated by dividing the inventory value by the quantity on-hand: \($144 / 12 = $12\).
When delivering ten products, eight units were purchased for $10, and two units were purchased for $16.
First, the incoming value is calculated by multiplying the on-hand quantity by the purchased price: \((-8 * $10) + (-2 * $16) = -112\).
The inventory value is calculated by subtracting the incoming value from the previous inventory value: \($144 - $112 = $32\).
Unit cost is calculated by dividing the inventory value by the remaining quantity: \($32 / 2 = $16\).
When receiving two products for $6, inventory value is \($32 + $12 = $44\). Unit cost is \($44 / 4 = $11\).
警告
改变成本计算方法会对存货估值产生很大影响。强烈建议在进行任何调整之前先咨询会计师。
When the Costing Method is changed, products already in stock that were using the Standard costing method do not change value; rather, the existing units keep their value, and any product moves from then on affect the average cost, and the cost of the product will change. If the value in the Cost field on a product form is changed manually, Odoo generates a corresponding record in the Inventory Valuation report.
注解
不同的产品类别可以使用不同的估值设置。
会计类型¶
With automated inventory valuation set up, the generated journal entries depend on the chosen accounting mode: Continental or Anglo-Saxon.
小技巧
Verify the accounting mode by activating the 开发者模式(调试模式), and navigating to .
Then, in the Search… bar, look for Anglo-Saxon Accounting
, to see if the feature
is enabled. If it is not enabled, Continental accounting mode is in use.
In Anglo-Saxon accounting, the costs of goods sold (COGS) are reported when products are sold or delivered. This means the cost of a good is only recorded as an expense when a customer is invoiced for a product.
So, for manual valuation method, set the Expense Account to Stock Valuation for the current asset type; for automatic valuation method, set the Expense Account to an Expenses or a Cost of Revenue type (e.g. Cost of Production, Cost of Goods Sold, etc.).
In Continental accounting, the cost of a good is reported as soon as a product is received into stock. Because of this, the Expense Account can be set to either Expenses or a Cost of Revenue type, however, it is more commonly set to an Expenses account.
Refer to the Expense and Stock input/output sections for details on configuring each account type.
支出科目¶
To configure the expense account, which is used in both manual and automatic inventory valuation, go to the Account Properties section of the intended product category ( ). Then, choose an existing account from the Expense Account drop-down menu.
为确保所选账户为正确的 类型,请点击账户右侧的 |右箭头| 图标。然后根据以下信息设置账户类型。
库存输入/输出(仅限自动操作)¶
要配置 库存输入账户 和 库存输出账户,请进入 并选择所需的产品类别。
在 库存估值 字段中,选择 自动化。这样就会出现 账户库存属性 部分。这些账户定义如下:
库存估价账户:当产品启用自动库存估价时,此账户将保存产品的当前价值。
库存日记账:当产品的库存估价发生变化时自动记账的会计分录。
库存输入账户:除非源位置设置了特定的估价账户,否则所有入库库存移动的对应日记账项目都将记入此账户。这是特定类别中所有产品的默认值,也可直接在每个产品上设置。
库存输出账户:除非目的地设置了特定的估价账户,否则所有出库库存移动的对应日记账项目都将记入此账户。这是指定类别中所有产品的默认值,也可直接在每个产品上设置。
在盎格鲁-撒克逊会计中,:guilabel:`库存输入账户`和:guilabel:`库存输出账户`被设置为*不同*的:guilabel:`流动资产`账户。这样,交付产品和向客户开具发票会平衡*库存输出*账户,而接收产品和向供应商开具账单会平衡*库存输入*账户。
要修改账户类型,请点击股票输入/输出账户右侧的 |右箭头|图标。在弹出的窗口中,从 类型 下拉菜单中选择 流动资产。
In Continental accounting, the Stock Input Account and Stock Output Account are set to the same Current Assets account. That way, one account can be balanced when items are bought and sold.
Example
The stock input and output accounts are both set to Stock Interim (Received)
, a
Current Assets account type. They can also be set to the Stock Interim
(Delivered)
, as long as the input and output accounts are assigned to the same
account.
Inventory valuation reporting¶
To start, go to Current Assets line item to unfold the drop-down menu, and look for the nested Stock Valuation, Stock Interim (Received), and Stock Interim (Delivered) lines.
. Click the小技巧
At the top of the dashboard, click the As of [date] button to display accounting records up to a specified date.
Access more specific information by clicking the (ellipsis) icon to the right of the desired journal. Select General Ledger to see a list of all of the journal entries, where each line item’s (ellipsis) icon can be clicked to reveal the View Journal Entry option to open the individualized journal entry.
Additionally, annotations to the Balance Sheet can be added by choosing Annotate, filling in the text box, and clicking Save.