v 8.0 v 9.0 v 10.0 v 11.0 v 12.0 Third Party 563
Download for v 12.0 Deploy on Odoo.sh
Required Apps Inventory (stock)
Invoicing (account)
Included Dependencies
Lines of code 1304
Technical Name stock_cycle_count
Also available in version v 10.0 v 9.0 v 11.0 v 8.0 v 13.0
You bought this module and need support? Click here!

Stock Cycle Count

Mature License: AGPL-3 OCA/stock-logistics-warehouse Translate me on Weblate Try me on Runbot

This module provides the capability to execute a cycle count strategy in a warehouse through different rules defined by the user. Cycle count is an alternative to full wall-to-wall physical inventories in which little portions (stock locations) of the stock are selected to count on a regular basis.

The system propose locations in which to perform a inventory adjustment every day based on a set of rules defined for the warehouse. In addition the system can propose Zero-Confirmations which are simple and opportunistic counts to check whether a locations has actually became empty or not.

With this strategy it is possible to:

  • Remove the need to perform full physical inventories and to stop the production in the warehouse.
  • Measure the accuracy of the inventory records and improve it.
  • Correct inventory errors earlier and prevent them to become bigger.

Table of contents


To install this module, you need to:

  • Download this module to your addons path.
  • Install the module in your database.


It is highly recommended to use this module in conjunction with:

  • stock_inventory_verification_request: Adds the capability to request Slot Verifications.
  • stock_inventory_lockdown: Lock down locations during inventories.


You can configure the rules to compute the cycle count, acting as follow:

  1. Go to Inventory > Configuration > Cycle Count Rules.
  2. Create as much cycle count rules as you want.
  3. Assign the rules to the Warehouse or zones where you want to apply the rules in.
  4. Go to Inventory > Configuration > Warehouse Management > Warehouses and set a Cycle Count Planning Horizon for each warehouse.


Once you have some rules configured for your warehouses, you can proceed as is described below.

  1. Go to Inventory > Configuration > Warehouse Management > Warehouses.
  2. Select all the warehouses you want to compute the rules in.
  3. Click on “Action” and then in “Compute Cycle Count Rules”. (note: A cron job will do this for every warehouse daily.)
  4. Go to Operations > Cycle Counts.
  5. Select a planned Cycle Count and confirm it, this will create a draft Inventory Adjustment.
  6. In the right top corner of the form view you can access to the generated Inventory Adjustment.
  7. Proceed with the Inventory Adjustment as usual.

Known issues / Roadmap

  • Assess the possibility to refactor action_compute_cycle_count_rules method converting some of the searches to actual fields. E.g. inventory_history_ids for all the inventories done in a location.

Changelog (2019-06-24)

  • [MIG] Migrated to v12. (2018-09-19)

  • [MIG] Migrated to v11. Start of history.

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.



  • Eficent


This module is maintained by the OCA.

Odoo Community Association

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.

Current maintainer:


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.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
Very handy!
Ronald Wagter
on 11/27/20, 9:38 AM

Handy app and easy install. Is there a way the count can be assigned as a task to a user? If not would be a good update.

Cycle count rules question
José M'Poy
on 11/25/20, 4:48 AM


I'm planning to use the module Stock Cycle Count. I have made some tests but also have questions about how cycle counts are created after creation of some rules.

In our warehouse, I have one single location where finished our finished products are stored. When I define a cycle count rule based, for exemple on a turn over or a minimum value thresholdminimum value threshold, the cycle count generated for that location request to count all the partscontained in that location. I was expecting the result to suggest count for a part of the inventory but not all of them. is there a way to avoid adjustment applying to all the products contained in that location?

the other thing I have noticed is that if I choose the option "Apply this rule in:: Location"  rather than a warehouse, I specifies a location name in field "Zones where applied",   there's no cycle count planned at all whatever the type of rule is. Am I missing something here or cycle counts are just planned for a warehouse?

Thanks a lot.

Best regards,,