# Stock Inventory Revaluation

If your company runs a perpetual inventory system, you may need to perform inventory revaluation. A revaluation updates both the inventory account balance, and the stock value of products.

This module takes three different methods of stock revaluation

- Stock-Move-Specific Valuation (FIFO costing)
- Simple Price Change (standard/average costing)
- Inventory-Total-Value Price Change (standard/average costing)

# Stock-Move-Specific Valuation

Stock-Move-Specific valuation applies if the product is configured for FIFO costing. In this case, the user selects specific stock moves for which to change value. A journal entry is created for each stock move on which the value is changed.

# Simple Price Change

A simple price change updates the standard/average cost of the product, regardless of the available stock. The user specifies a new per-unit price, and posts the change. A journal entry is created for all stock moves having positive remaining stock value. The amount of the posted entry is the difference between the new and old price, multiplied by the quantity available.

# Inventory-Total-Value Price Change

This is a price change, based on total available stock value. It updates the standard/average cost of the product, based on available stock. The user specifies a new total value for available stock. The standard/average price of the product is updated to the new total value divided by the available quantity. A journal entry is created for all stock moves having positive remaining stock value. The amount of the posted entry is the difference between the new and old total value.

Table of contents

# Configuration

- Users wanting to access to the Inventory Revaluation menu should be members of the group “Manage Inventory Valuation and Costing Methods”.
- The Revaluation can automatically select contra-accounts to the Stock Valuation Account. To configure this, define a Valuation Increase Account and a Valuation Decrease Account for each product category. Do that here: Inventory / Configuration / Products / Product Categories

# Usage

- Go to Inventory / Inventory Control / Inventory Revaluation to create a new Inventory Revaluation.
- For products set with average/standard price, and automated valuation, go to the Product form and use the “Update Cost” link to change the standard price.
- In order to post the inventory revaluation for multiple items at once, select the records in the tree view and go to Action / Post Inventory Revaluations.
- To set default valuation increase/decrease accounts by product category, go to Inventory / Configuration / Product Categories

# Known issues / Roadmap

- Known Issue: We can’t revalue individual lots/serials if there are multiple on the same stock move
  - Version 11 moved the cost from stock.quant to stock.move. That means there is no longer an individual cost assigned to specific lots/serials.
  - As a work around, you can internally transfer the lot/serial you want to revalue. This will separate it from the other lots/serials on the original inbound stock move.
- Known Issue: Actual resulting stock value may differ slightly from that specified by the user. This can result when the Product Price decimal precision is low, and there is a large quantity of product to revaluate. For example:
  - If we have 147 units on hand, and the precision for Product Price is 2 digits
  - When we specify a new value of 750, the actual value applied is 749.70
  - At full precision, 750 / 147 = 5.102041, but the product cost gets rounded to 5.10, and 5.10 * 147 = 749.70
  - As a work around, you can change the decimal precision setting for Product Price to have a greater number of digits

# Changelog

## 12.0.1.0.0 (2020-04-27)

- [MIG] Migrated to v12
- [FIX] Let the user set a posting date other than today (#892)
- [IMP] Operate on stock moves, rather than stock quants
- [IMP] Select stock moves by Lot and Location
- [IMP] Let the user remove move lines from the revaluation, in draft state

# Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

# Credits

## Authors

- Eficent Business and IT Consulting Services S.L.
- Serpent Consulting Services Pvt. Ltd.
- Matt Taylor

## Contributors

- Eficent Business and IT Consulting Services S.L. <contact@eficent.com>
- Serpent Consulting Services Pvt. Ltd. <support@serpentcs.com>
- Matt Taylor <matt454357@gmail.com> (https://github.com/matt454357)

## Maintainers

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

This module is part of the OCA/stock-logistics-warehouse project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.