341 lines
9.3 KiB
ReStructuredText
341 lines
9.3 KiB
ReStructuredText
:code-column:
|
|
|
|
==========================================================
|
|
How to do an inventory valuation? (Continental Accounting)
|
|
==========================================================
|
|
|
|
Costing Method
|
|
==============
|
|
|
|
Every year your inventory valuation has to be recorded in your
|
|
balance sheet. This implies two main choices:
|
|
|
|
- the way you compute the cost of your stored items
|
|
(Standard vs. Average vs. Real Price);
|
|
|
|
- the way you record the inventory value into your books
|
|
(periodic vs. Perpetual).
|
|
|
|
.. rst-class:: alternatives doc-aside
|
|
|
|
Standard Price
|
|
.. rst-class:: values-table
|
|
|
|
.. list-table::
|
|
:widths: 28 18 18 18 18
|
|
:header-rows: 1
|
|
:stub-columns: 1
|
|
|
|
* - Operation
|
|
- Unit Cost
|
|
- Qty On Hand
|
|
- Delta Value
|
|
- Inventory Value
|
|
* -
|
|
- €10
|
|
- 0
|
|
-
|
|
- €0
|
|
* - Receive 8 Products at €10
|
|
- €10
|
|
- 8
|
|
- +8*€10
|
|
- €80
|
|
* - Receive 4 Products at €16
|
|
- €10
|
|
- 12
|
|
- +4*€10
|
|
- €120
|
|
* - Deliver 10 Products
|
|
- €10
|
|
- 2
|
|
- | -10*€10
|
|
|
|
|
- €20
|
|
* - Receive 2 Products at €9
|
|
- €10
|
|
- 4
|
|
- +2*€10
|
|
- €40
|
|
|
|
**Standard Price** means you estimate the cost price based
|
|
on direct materials, direct labor and manufacturing overhead
|
|
at the end of a specific period (usually once a year). You
|
|
enter this cost price in the product form.
|
|
|
|
Average Price
|
|
.. rst-class:: values-table
|
|
|
|
.. list-table::
|
|
:widths: 28 18 18 18 18
|
|
:header-rows: 1
|
|
:stub-columns: 1
|
|
|
|
* - Operation
|
|
- Unit Cost
|
|
- Qty On Hand
|
|
- Delta Value
|
|
- Inventory Value
|
|
* -
|
|
- €0
|
|
- 0
|
|
-
|
|
- €0
|
|
* - Receive 8 Products at €10
|
|
- €10
|
|
- 8
|
|
- +8*€10
|
|
- €80
|
|
* - Receive 4 Products at €16
|
|
- €12
|
|
- 12
|
|
- +4*€16
|
|
- €144
|
|
* - Deliver 10 Products [#average-removal]_
|
|
- €12
|
|
- 2
|
|
- | -10*€12
|
|
|
|
|
- €24
|
|
* - Receive 2 Products at €6
|
|
- €9
|
|
- 4
|
|
- +2*€6
|
|
- €36
|
|
|
|
The **Average Price** method recomputes the cost price as a
|
|
receipt order has been processed, based on prices defined in
|
|
tied purchase orders. This method is mainly justified in case
|
|
of huge purchase price variations and is quite unusual due to
|
|
its operational complexity. Your actually need a software like
|
|
Odoo to keep this cost up-to-date.
|
|
|
|
This method is dedicated to advanced users. It requires well
|
|
established business processes because the order in which you
|
|
process receipt orders matters in the cost computation. Moreover
|
|
if you mistakenly process such an order, there is no way to
|
|
reset the cost price at its initial value.
|
|
|
|
FIFO
|
|
.. rst-class:: values-table
|
|
|
|
.. list-table::
|
|
:widths: 28 18 18 18 18
|
|
:header-rows: 1
|
|
:stub-columns: 1
|
|
|
|
* - Operation
|
|
- Unit Cost
|
|
- Qty On Hand
|
|
- Delta Value
|
|
- Inventory Value
|
|
* -
|
|
- €0
|
|
- 0
|
|
-
|
|
- €0
|
|
* - Receive 8 Products at €10
|
|
- €10
|
|
- 8
|
|
- +8*€10
|
|
- €80
|
|
* - Receive 4 Products at €16
|
|
- €12
|
|
- 12
|
|
- +4*€16
|
|
- €144
|
|
* - Deliver 10 Products
|
|
- €16
|
|
- 2
|
|
- | -8*€10
|
|
| -2*€16
|
|
- €32
|
|
* - Receive 2 Products at €6
|
|
- €11
|
|
- 4
|
|
- +2*€6
|
|
- €44
|
|
|
|
For **Real Price** (FIFO, LIFO, FEFO, etc), the costing is
|
|
further refined by the removal strategy set on the warehouse
|
|
location or product's internal category. The default strategy
|
|
is FIFO. With such method, your inventory value is computed
|
|
from the real cost of your stored products (cfr. Quantitative
|
|
Valuation) and not from the cost price shown in the product
|
|
form. Whenever you ship items, the cost price is reset to the
|
|
cost of the last item(s) shipped. This cost price is used to
|
|
value any product not received from a purchase order (e.g.
|
|
inventory adjustments).
|
|
|
|
Such a method is advised if you manage all your workflow into
|
|
Odoo (Sales, Purchases, Inventory). It suits any kind of users.
|
|
|
|
LIFO (not accepted in IFRS)
|
|
.. rst-class:: values-table
|
|
|
|
.. list-table::
|
|
:widths: 28 18 18 18 18
|
|
:header-rows: 1
|
|
:stub-columns: 1
|
|
|
|
* - Operation
|
|
- Unit Cost
|
|
- Qty On Hand
|
|
- Delta Value
|
|
- Inventory Value
|
|
* -
|
|
- €0
|
|
- 0
|
|
-
|
|
- €0
|
|
* - Receive 8 Products at €10
|
|
- €10
|
|
- 8
|
|
- +8*€10
|
|
- €80
|
|
* - Receive 4 Products at €16
|
|
- €12
|
|
- 12
|
|
- +4*€16
|
|
- €144
|
|
* - Deliver 10 Products
|
|
- €10
|
|
- 2
|
|
- | -4*€16
|
|
| -6*€10
|
|
- €20
|
|
* - Receive 2 Products at €6
|
|
- €8
|
|
- 4
|
|
- +2*€6
|
|
- €32
|
|
|
|
Odoo allows any method. The default one is **Standard Price**.
|
|
To change it, check **Use a 'Fixed', 'Real' or 'Average' price
|
|
costing method** in Purchase settings. Then set the costing
|
|
method from products' internal categories. Categories show up
|
|
in the Inventory tab of the product form.
|
|
|
|
Whatever the method is, Odoo provides a full inventory valuation
|
|
in :menuselection:`Inventory --> Reports --> Inventory Valuation`
|
|
(i.e. current quantity in stock * cost price).
|
|
|
|
Periodic Inventory Valuation
|
|
============================
|
|
|
|
In a periodic inventory valuation, goods reception and
|
|
outgoing shipments have no direct impact in the accounting.
|
|
At the end of the month or year, the accountant posts one
|
|
journal entry representing the value of the physical inventory.
|
|
|
|
This is the default configuration in Odoo and it works
|
|
out-of-the-box. Check following operations and find out how
|
|
Odoo is managing the accounting postings.
|
|
|
|
.. rst-class:: alternatives doc-aside
|
|
|
|
Vendor Bill
|
|
.. rst-class:: values-table
|
|
|
|
============================= ===== ======
|
|
\ Debit Credit
|
|
============================= ===== ======
|
|
Assets: Inventory 50
|
|
Assets: Deferred Tax Assets 4.68
|
|
Liabilities: Accounts Payable 54.68
|
|
============================= ===== ======
|
|
|
|
Configuration:
|
|
* Purchased Goods: defined on the product or on the internal category of related product (Expense Account field)
|
|
* Deferred Tax Assets: defined on the tax used on the purchase order line
|
|
* Accounts Payable: defined on the vendor related to the bill
|
|
Goods Receptions
|
|
No Journal Entry
|
|
Customer Invoice
|
|
.. rst-class:: values-table
|
|
|
|
===================================== ===== ======
|
|
\ Debit Credit
|
|
===================================== ===== ======
|
|
Revenues: Sold Goods 100
|
|
Liabilities: Deferred Tax Liabilities 9
|
|
Assets: Accounts Receivable 109
|
|
===================================== ===== ======
|
|
|
|
Configuration:
|
|
* Revenues: defined on the product or on the internal category of related product (Income Account field)
|
|
* Deferred Tax Liabilities: defined on the tax used on the invoice line
|
|
* Accounts Receivable: defined on the customer (Receivable Account)
|
|
|
|
The fiscal position used on the invoice may have a rule that replaces the
|
|
Income Account or the tax defined on the product by another one.
|
|
Customer Shipping
|
|
No Journal Entry
|
|
Manufacturing Orders
|
|
No Journal Entry
|
|
|
|
.. raw:: html
|
|
|
|
<hr style="float: none; visibility: hidden; margin: 0;">
|
|
|
|
At the end of the month/year, your company does a physical inventory
|
|
or just relies on the inventory in Odoo to value the stock into your books.
|
|
|
|
Create a journal entry to move the stock variation value from your
|
|
Profit&Loss section to your assets.
|
|
|
|
.. h:div:: doc-aside
|
|
|
|
.. rst-class:: values-table
|
|
|
|
===================================== ===== ======
|
|
\ Debit Credit
|
|
===================================== ===== ======
|
|
Assets: Inventory X
|
|
Expenses: Inventory Variations X
|
|
===================================== ===== ======
|
|
|
|
If the stock value decreased, he makes it upside down.
|
|
|
|
.. raw:: html
|
|
|
|
<hr style="float: none; visibility: hidden; margin: 0;">
|
|
|
|
Perpetual Inventory Valuation
|
|
=============================
|
|
|
|
In a perpetual inventory valuation, goods receptions and
|
|
outgoing shipments are posted in your books in real time.
|
|
The books are therefore always up-to-date. This mode is
|
|
dedicated to expert accountants and advanced users only.
|
|
As opposed to periodic valuation, it requires some extra
|
|
configuration & testing.
|
|
|
|
Let's take the case of a reseller.
|
|
|
|
.. h:div:: valuation-chart-continental doc-aside
|
|
|
|
.. placeholder
|
|
|
|
.. [#average-removal] products leaving the stock have no impact on the average price.
|
|
|
|
.. raw:: html
|
|
|
|
<hr style="float: none; visibility: hidden; margin: 0;">
|
|
|
|
.. h:div:: doc-aside
|
|
|
|
**Configuration:**
|
|
|
|
- Accounts Receivable/Payable: defined on the partner (Accounting tab)
|
|
|
|
- Deferred Tax Assets/Liabilities: defined on the tax used on the invoice line
|
|
|
|
- Revenues/Expenses: defined by default on product's internal category; can be
|
|
also set in product form (Accounting tab) as a replacement value.
|
|
|
|
- Inventory Variations: to set as Stock Input/Output Account in product's internal
|
|
category
|
|
|
|
- Inventory: to set as Stock Valuation Account in product's internal category
|