[IMP] inventory: costing chart
closes odoo/documentation#10728
X-original-commit: c6e16b3666
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: kekiss <karaekiss@yahoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
This commit is contained in:
parent
851f53f469
commit
123e0fffb3
@ -107,27 +107,184 @@ Go to :menuselection:`Inventory app --> Configuration --> Product Categories` an
|
|||||||
product category. In the :guilabel:`Inventory Valuation` section, select the appropriate
|
product category. In the :guilabel:`Inventory Valuation` section, select the appropriate
|
||||||
:guilabel:`Costing Method`:
|
:guilabel:`Costing Method`:
|
||||||
|
|
||||||
- :guilabel:`Standard Price`: the 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 will still use the cost defined on the
|
|
||||||
product form.
|
|
||||||
- :guilabel:`Average Cost (AVCO)`: 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.
|
|
||||||
|
|
||||||
.. note::
|
.. tabs::
|
||||||
When choosing :guilabel:`Average Cost (AVCO)` as the :guilabel:`Costing Method`, changing the
|
|
||||||
numerical value in the :guilabel:`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 :guilabel:`Cost` amount will then automatically update based on the average purchase price
|
|
||||||
both of inventory on hand and the costs accumulated from validated purchase orders.
|
|
||||||
|
|
||||||
- :guilabel:`First In First Out (FIFO)`: tracks the costs of incoming and outgoing items in
|
.. tab:: Standard Price
|
||||||
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 default costing method in Odoo. The cost of the product is manually defined on the product
|
||||||
the next inventory lot moves up in the queue, an updated product cost is used based on the
|
form, and this cost is used to compute the valuation. Even if the purchase price on a purchase
|
||||||
valuation of that specific lot. This method is arguably the most accurate inventory valuation
|
order differs, the valuation is the cost defined on the product form.
|
||||||
method for a variety of reasons, however, it is highly sensitive to input data and human error.
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
:stub-columns: 1
|
||||||
|
|
||||||
|
* - Operation
|
||||||
|
- Unit Cost
|
||||||
|
- Qty On Hand
|
||||||
|
- Incoming Value
|
||||||
|
- Inventory Value
|
||||||
|
* -
|
||||||
|
- $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
|
||||||
|
|
||||||
|
.. tab:: Average Cost (AVCO)
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
:stub-columns: 1
|
||||||
|
|
||||||
|
* - Operation
|
||||||
|
- Unit Cost
|
||||||
|
- Qty On Hand
|
||||||
|
- Incoming Value
|
||||||
|
- Inventory Value
|
||||||
|
* -
|
||||||
|
- $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: :math:`$80 + (4 * $16) = $144`.
|
||||||
|
- Unit cost is calculated by dividing the inventory value by the quantity on-hand:
|
||||||
|
:math:`$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
|
||||||
|
:math:`$144 + (-10 * $12) = $24`.
|
||||||
|
|
||||||
|
- Receive two products for $6 each:
|
||||||
|
|
||||||
|
- Inventory value: :math:`$24 + (2 * $6) = $36`
|
||||||
|
- Unit cost: :math:`$36 / 4 = $9`
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
When choosing :guilabel:`Average Cost (AVCO)` as the :guilabel:`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.
|
||||||
|
|
||||||
|
.. tab:: First In First Out (FIFO)
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
:stub-columns: 1
|
||||||
|
|
||||||
|
* - Operation
|
||||||
|
- Unit Cost
|
||||||
|
- Qty On Hand
|
||||||
|
- Incoming Value
|
||||||
|
- Inventory Value
|
||||||
|
* -
|
||||||
|
- $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: :math:`$80 + (4 * $16) = $144`.
|
||||||
|
- Unit cost is calculated by dividing the inventory value by the quantity on-hand:
|
||||||
|
:math:`$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: :math:`(-8 * $10) + (-2 * $16) = -112`.
|
||||||
|
- The inventory value is calculated by subtracting the incoming value from the previous
|
||||||
|
inventory value: :math:`$144 - $112 = $32`.
|
||||||
|
- Unit cost is calculated by dividing the inventory value by the remaining quantity:
|
||||||
|
:math:`$32 / 2 = $16`.
|
||||||
|
|
||||||
|
- When receiving two products for $6, inventory value is :math:`$32 + $12 = $44`. Unit cost is
|
||||||
|
:math:`$44 / 4 = $11`.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
Changing the costing method greatly impacts inventory valuation. It is highly recommended to
|
Changing the costing method greatly impacts inventory valuation. It is highly recommended to
|
||||||
|
Loading…
Reference in New Issue
Block a user