How can I record my annual inventory?

At the beginning of each year, I have to make an annual inventory. How can I do this in Odoo?

To make your annual inventory, go to the menu Warehouse > Inventory Control > Inventory Adjustments.

Give it a name (for example Annual Inventory) and select the stock location for your inventory. Note that when you select a parent location (such as Stock, which might be split into sublocations), you can also select the sub (or child) locations. You can choose between making an annual inventory for All products in that location, or for one product only. If you need your stock valuation to be done in a different period than the one that will be selected by default according to the inventory end date, enter the corresponding accounting period in the Force Valuation Period field.

When you tick the All Products option, and you click the Start Inventory button at the top right side of the screen, the inventory will be populated with all products stored in the selected location and its child locations. You can choose to set the real quantities to zero by clicking the option Set quantities to 0, which is especially useful to ensure the actual warehouse count is done correctly.

Save the inventory and click the Print button. Now select the Inventory option to print the inventory report. Quantities will be printed as zero when you selected the option Set quantities to 0.

Once all your counts have been done, return to the Annual Inventory and update the Real Quantity for each product and location according to what was counted. When the real quantity differs from the theoretical quantity - which is the quantity that is in your stock - the inventory lines will be blue.

Click the Validate Inventory button to confirm the annual inventory and post any differences from the current stock.

What will happen if your real quantity is higher than your theoretical quantity?

A stock move will be created from source location Inventory Loss to the selected Stock location where Quantity = Real Quantity - Theoretical Quantity.

What will happen if your real quantity is lower than your theoretical quantity?

A stock move will be created from the source location (the selected Stock location) to Inventory Loss where Quantity = Theoretical Quantity - Real Quantity.

What happens when my stock changes between the counting of the inventory and the actual validation of it? 

When you prepare your annual inventory, you freeze your stock in that location. The Real Quantities that will be entered, will always stay in relation to the theoretical quantity included in the inventory preparations.

Suppose you have a product with a on hand quantity of one. You sell it, but you do not yet deliver it. You create your inventory to start counting. The theoretical quantity at that time will be 1.

Since you froze the particular stock location for counting, at the moment you count, you will have 1 product in stock (assuming that your stock is correct).

Before you register and validate the inventory, the product is delivered to the customer, setting the stock to 0. When you enter a Real Quantity of 1 (versus a Theoretical value of 1, because it was like that the moment you started counting), Odoo will not create a stock move to put 1 product in stock. It knows because of the comparison between Theoretical and Real quantity, that the stock situation is correct.

Need more info?

This documentation page has been extracted from the Q&A section where you can discuss it and get feedback.
Related question