| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-warehouse |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-warehouse.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-warehouse/tree/18.0/stock_cycle_count |
| VERSION | |
| VERSION | 1.0.3 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ForgeFlow |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ForgeFlow |
| COMMITTERS | |
| COMMITTERS | Víctor Martínez, Weblate, OCA-git-bot, oca-ci, ThiagoMForgeFlow, Arnau, Do Anh Duy |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-warehouse |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:06 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/stock-logistics-warehouse: - stock_inventory_discrepancy - stock_inventory odoo/odoo: - stock_account - stock - product - base - base_setup - web - bus - web_tour - html_editor - uom - barcodes_gs1_nomenclature - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource - account - onboarding - analytic |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
report_cyclecount |
report_cyclecount | ir.ui.view | qweb | New |
res_config_settings_view_form_cycle_adjustment |
res.config.settings.view.form.inherit.cycle.adjustment | res.config.settings | block | Inherits stock.res_config_settings_view_form |
stock_cycle_count_form_view |
stock.cycle.count.form | stock.cycle.count | form | New |
stock_cycle_count_rule_form_view |
stock.cycle.count.rule.form | stock.cycle.count.rule | form | New |
stock_cycle_count_rule_tree_view |
stock.cycle.count.rule.list | stock.cycle.count.rule | list | New |
stock_cycle_count_search_view |
stock.cycle.count.search | stock.cycle.count | search | New |
stock_cycle_count_tree_view |
stock.cycle.count.list | stock.cycle.count | list | New |
stock_location_accuracy |
stock_location_accuracy | ir.ui.view | qweb | New |
view_inventory_filter |
stock.inventory.filter - stock_cycle_count | stock.inventory | xpath | Inherits stock_inventory.stock_inventory_search_view |
view_inventory_form |
Inventory form view - cycle count extension | stock.inventory | field | Inherits stock_inventory.view_inventory_group_form |
view_inventory_graph |
stock.inventory.graph | stock.inventory | graph | New |
view_inventory_pivot |
stock.inventory.pivot | stock.inventory | pivot | New |
view_inventory_tree |
Inventory list view - cycle count extension | stock.inventory | field | Inherits stock_inventory.view_inventory_group_tree |
view_location_form |
Location form - cycle count extension | stock.location | xpath | Inherits stock.view_location_form |
view_stock_move_line_form |
Stock Move Line Form - cycle count extension | stock.move.line | field | Inherits stock.view_move_line_form |
view_stock_move_line_tree |
Stock Move Line List - cycle count extension | stock.move.line | field | Inherits stock_inventory.view_stock_move_line_inventory_tree |
view_warehouse_form |
Warehouse form - cycle count extension | stock.warehouse | notebook | Inherits stock.view_warehouse |
No new fields.
Public methods (0)No public methods.
auto_start_inventory_from_cycle_count
Boolean
help='If enabled, confirming a Cycle Count will start the related Inventory Adjustment.'
string='Auto Start Inventory Adjustment from Cycle Count'
inventory_adjustment_counted_quantities
Selection
help='If enabled, confirming a Cycle Count will start the related Inventory Adjustment.'
selection=[('counted', 'Default to stock on hand'), ('zero', 'Default to zero')]
string='Inventory Adjustment Counted quantities from Cycle Count'
No public methods.
auto_start_inventory_from_cycle_count
Boolean
help='If enabled, confirming a Cycle Count will start the related Inventory Adjustment.'
readonly=False
related='company_id.auto_start_inventory_from_cycle_count'
string='Auto Start Inventory Adjustment from Cycle Count'
inventory_adjustment_counted_quantities
Selection
help='If enabled, confirming a Cycle Count will start the related Inventory Adjustment.'
readonly=False
related='company_id.inventory_adjustment_counted_quantities'
string='Inventory Adjustment Counted quantities from Cycle Count'
No public methods.
automatic_deadline_date
Date
string='Automatic Required Date'
tracking=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
required=True
string='Company'
cycle_count_rule_id
Many2one → stock.cycle.count.rule
comodel_name='stock.cycle.count.rule'
required=True
string='Cycle count rule'
tracking=True
date_deadline
Date
compute='_compute_date_deadline'
inverse='_inverse_date_deadline'
store=True
string='Required Date'
tracking=True
inventory_adj_count
Integer
compute='_compute_inventory_adj_count'
location_id
Many2one → stock.location
comodel_name='stock.location'
domain="[('company_id', '=', company_id)]"
required=True
string='Location'
manual_deadline_date
Date
string='Manual Required Date'
tracking=True
name
Char
responsible_id
Many2one → res.users
comodel_name='res.users'
string='Assigned to'
tracking=True
state
Selection
default='draft'
selection=[('draft', 'Planned'), ('open', 'Execution'), ('cancelled', 'Cancelled'), ('done', 'Done')]
tracking=True
stock_adjustment_ids
One2many → stock.inventory
comodel_name='stock.inventory'
inverse_name='cycle_count_id'
string='Inventory Adjustment'
tracking=True
action_create_inventory_adjustment(self)
action_view_inventory(self)
create(self, vals_list)
do_cancel(self)
accuracy_threshold
Float
digits=(3, 2)
string='Minimum Accuracy Threshold'
active
Boolean
default=True
apply_in
Selection
default='warehouse'
selection=[('warehouse', 'Selected warehouses'), ('location', 'Selected Location Zones.')]
string='Apply this rule in:'
currency_id
Many2one → res.currency
comodel_name='res.currency'
compute='_compute_currency_id'
string='Currency'
location_ids
Many2many → stock.location
column1='rule_id'
column2='location_id'
comodel_name='stock.location'
relation='location_cycle_count_rule_rel'
string='Zones where applied'
name
Char
required=True
periodic_count_period
Integer
string='Period in days'
periodic_qty_per_period
Integer
default=1
string='Counts per period'
rule_description
Char
compute='_compute_rule_description'
rule_type
Selection
required=True
selection='_selection_rule_types'
string='Type of rule'
turnover_inventory_value_threshold
Float
warehouse_ids
Many2many → stock.warehouse
column1='rule_id'
column2='warehouse_id'
comodel_name='stock.warehouse'
compute='_compute_warehouse_ids'
readonly=False
relation='warehouse_cycle_count_rule_rel'
store=True
string='Warehouses where applied'
compute_rule(self, locs)
cycle_count_id
Many2one → stock.cycle.count
comodel_name='stock.cycle.count'
ondelete='restrict'
string='Stock Cycle Count'
inventory_accuracy
Float
aggregator='avg'
default=False
digits=(3, 2)
store=True
string='Accuracy'
prefill_counted_quantity
Selection
default='counted'
help='Allows to start with a pre-filled counted quantity for each lines or with all counted quantities set to zero.'
selection=[('counted', 'Default to stock on hand'), ('zero', 'Default to zero')]
string='Counted Quantities'
responsible_id
Many2one
compute='_compute_responsible_id'
inverse='_inverse_responsible_id'
readonly=False
store=True
tracking=True
action_force_done(self)
action_state_to_done(self)
action_state_to_in_progress(self)
create(self, vals_list)
write(self, vals)
cycle_count_disabled
Boolean
help='Define whether the location is going to be cycle counted.'
string='Exclude from Cycle Count'
loc_accuracy
Float
compute='_compute_loc_accuracy'
digits=(3, 2)
string='Inventory Accuracy'
qty_variance_inventory_threshold
Float
string='Acceptable Inventory Quantity Variance Threshold'
zero_confirmation_disabled
Boolean
help='Define whether this location will trigger a zero-confirmation validation when a rule for its warehouse is defined to perform zero-confirmations.'
string='Disable Zero Confirmations'
action_accuracy_stats(self)
check_zero_confirmation(self)
create_zero_confirmation_cycle_count(self)
No new fields.
Public methods (0)No public methods.
counted_qty
Float
string='Counted Quantity'
line_accuracy
Float
string='Accuracy'
theoretical_qty
Float
string='Theoretical Quantity'
No public methods.
No new fields.
Public methods (0)No public methods.
counts_for_accuracy_qty
Integer
default=1
help='Number of latest inventories used to calculate location accuracy'
string='Inventories for location accuracy calculation'
cycle_count_planning_horizon
Integer
help='Cycle Count planning horizon in days. Only the counts inside the horizon will be created.'
string='Cycle Count Planning Horizon (in days)'
cycle_count_rule_ids
Many2many → stock.cycle.count.rule
column1='warehouse_id'
column2='rule_id'
comodel_name='stock.cycle.count.rule'
relation='warehouse_cycle_count_rule_rel'
string='Cycle Count Rules'
action_compute_cycle_count_rules(self)
cron_cycle_count(self)
get_horizon_date(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-warehouse |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-warehouse.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-warehouse/tree/16.0/stock_cycle_count |
| VERSION | |
| VERSION | 2.2.1 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ForgeFlow |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ForgeFlow |
| COMMITTERS | |
| COMMITTERS | Denis Roussel, Weblate, OCA-git-bot, oca-ci, CristianoMafraJunior, ArnauCForgeFlow, Duy (Đỗ Anh) |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-warehouse |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:44 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/stock-logistics-warehouse: - stock_inventory_discrepancy - stock_inventory odoo/odoo: - stock_account - stock - product - base - base_setup - web - bus - web_tour - uom - barcodes_gs1_nomenclature - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource - account - analytic |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
report_cyclecount |
report_cyclecount | ir.ui.view | qweb | New |
res_config_settings_view_form_cycle_adjustment |
res.config.settings.view.form.inherit.cycle.adjustment | res.config.settings | div | Inherits stock.res_config_settings_view_form |
stock_cycle_count_form_view |
stock.cycle.count.form | stock.cycle.count | form | New |
stock_cycle_count_rule_form_view |
stock.cycle.count.rule.form | stock.cycle.count.rule | form | New |
stock_cycle_count_rule_tree_view |
stock.cycle.count.rule.tree | stock.cycle.count.rule | tree | New |
stock_cycle_count_search_view |
stock.cycle.count.search | stock.cycle.count | search | New |
stock_cycle_count_tree_view |
stock.cycle.count.tree | stock.cycle.count | tree | New |
stock_location_accuracy |
stock_location_accuracy | ir.ui.view | qweb | New |
view_inventory_filter |
stock.inventory.filter - stock_cycle_count | stock.inventory | xpath | Inherits stock_inventory.stock_inventory_search_view |
view_inventory_form |
Inventory form view - cycle count extension | stock.inventory | field | Inherits stock_inventory.view_inventory_group_form |
view_inventory_graph |
stock.inventory.graph | stock.inventory | graph | New |
view_inventory_pivot |
stock.inventory.pivot | stock.inventory | pivot | New |
view_inventory_tree |
Inventory tree view - cycle count extension | stock.inventory | field | Inherits stock_inventory.view_inventory_group_tree |
view_location_form |
Location form - cycle count extension | stock.location | xpath | Inherits stock.view_location_form |
view_stock_move_line_form |
Stock Move Line Form - cycle count extension | stock.move.line | field | Inherits stock.view_move_line_form |
view_stock_move_line_tree |
Stock Move Line Tree - cycle count extension | stock.move.line | field | Inherits stock_inventory.view_stock_move_line_inventory_tree |
view_warehouse_form |
Warehouse form - cycle count extension | stock.warehouse | notebook | Inherits stock.view_warehouse |
No new fields.
Public methods (0)No public methods.
auto_start_inventory_from_cycle_count
Boolean
help='If enabled, confirming a Cycle Count will start the related Inventory Adjustment.'
string='Auto Start Inventory Adjustment from Cycle Count'
inventory_adjustment_counted_quantities
Selection
help='If enabled, confirming a Cycle Count will start the related Inventory Adjustment.'
selection=[('counted', 'Default to stock on hand'), ('zero', 'Default to zero')]
string='Inventory Adjustment Counted quantities from Cycle Count'
No public methods.
auto_start_inventory_from_cycle_count
Boolean
help='If enabled, confirming a Cycle Count will start the related Inventory Adjustment.'
readonly=False
related='company_id.auto_start_inventory_from_cycle_count'
string='Auto Start Inventory Adjustment from Cycle Count'
inventory_adjustment_counted_quantities
Selection
help='If enabled, confirming a Cycle Count will start the related Inventory Adjustment.'
readonly=False
related='company_id.inventory_adjustment_counted_quantities'
string='Inventory Adjustment Counted quantities from Cycle Count'
No public methods.
automatic_deadline_date
Date
readonly=True
states={'draft': [('readonly', False)]}
string='Automatic Required Date'
tracking=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
readonly=True
required=True
string='Company'
cycle_count_rule_id
Many2one → stock.cycle.count.rule
comodel_name='stock.cycle.count.rule'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Cycle count rule'
tracking=True
date_deadline
Date
compute='_compute_date_deadline'
inverse='_inverse_date_deadline'
readonly=True
states={'draft': [('readonly', False)]}
store=True
string='Required Date'
tracking=True
inventory_adj_count
Integer
compute='_compute_inventory_adj_count'
location_id
Many2one → stock.location
comodel_name='stock.location'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Location'
manual_deadline_date
Date
readonly=True
states={'draft': [('readonly', False)]}
string='Manual Required Date'
tracking=True
name
Char
readonly=True
responsible_id
Many2one → res.users
comodel_name='res.users'
readonly=True
states={'draft': [('readonly', False)], 'open': [('readonly', False)]}
string='Assigned to'
tracking=True
state
Selection
default='draft'
selection=[('draft', 'Planned'), ('open', 'Execution'), ('cancelled', 'Cancelled'), ('done', 'Done')]
tracking=True
stock_adjustment_ids
One2many → stock.inventory
comodel_name='stock.inventory'
inverse_name='cycle_count_id'
string='Inventory Adjustment'
tracking=True
action_create_inventory_adjustment(self)
action_view_inventory(self)
create(self, vals_list)
do_cancel(self)
accuracy_threshold
Float
digits=(3, 2)
string='Minimum Accuracy Threshold'
active
Boolean
default=True
apply_in
Selection
default='warehouse'
selection=[('warehouse', 'Selected warehouses'), ('location', 'Selected Location Zones.')]
string='Apply this rule in:'
currency_id
Many2one → res.currency
comodel_name='res.currency'
compute='_compute_currency_id'
string='Currency'
location_ids
Many2many → stock.location
column1='rule_id'
column2='location_id'
comodel_name='stock.location'
relation='location_cycle_count_rule_rel'
string='Zones where applied'
name
Char
required=True
periodic_count_period
Integer
string='Period in days'
periodic_qty_per_period
Integer
default=1
string='Counts per period'
rule_description
Char
compute='_compute_rule_description'
rule_type
Selection
required=True
selection='_selection_rule_types'
string='Type of rule'
turnover_inventory_value_threshold
Float
warehouse_ids
Many2many → stock.warehouse
column1='rule_id'
column2='warehouse_id'
comodel_name='stock.warehouse'
compute='_compute_warehouse_ids'
readonly=False
relation='warehouse_cycle_count_rule_rel'
store=True
string='Warehouses where applied'
compute_rule(self, locs)
cycle_count_id
Many2one → stock.cycle.count
comodel_name='stock.cycle.count'
ondelete='restrict'
readonly=True
string='Stock Cycle Count'
inventory_accuracy
Float
default=False
digits=(3, 2)
group_operator='avg'
store=True
string='Accuracy'
prefill_counted_quantity
Selection
default='counted'
help='Allows to start with a pre-filled counted quantity for each lines or with all counted quantities set to zero.'
selection=[('counted', 'Default to stock on hand'), ('zero', 'Default to zero')]
string='Counted Quantities'
responsible_id
Many2one
compute='_compute_responsible_id'
inverse='_inverse_responsible_id'
readonly=False
store=True
tracking=True
action_force_done(self)
action_state_to_done(self)
action_state_to_in_progress(self)
create(self, vals_list)
write(self, vals)
cycle_count_disabled
Boolean
help='Define whether the location is going to be cycle counted.'
string='Exclude from Cycle Count'
loc_accuracy
Float
compute='_compute_loc_accuracy'
digits=(3, 2)
string='Inventory Accuracy'
qty_variance_inventory_threshold
Float
string='Acceptable Inventory Quantity Variance Threshold'
zero_confirmation_disabled
Boolean
help='Define whether this location will trigger a zero-confirmation validation when a rule for its warehouse is defined to perform zero-confirmations.'
string='Disable Zero Confirmations'
action_accuracy_stats(self)
check_zero_confirmation(self)
create_zero_confirmation_cycle_count(self)
No new fields.
Public methods (0)No public methods.
counted_qty
Float
store=True
string='Counted Quantity'
line_accuracy
Float
store=True
string='Accuracy'
theoretical_qty
Float
store=True
string='Theoretical Quantity'
No public methods.
No new fields.
Public methods (0)No public methods.
counts_for_accuracy_qty
Integer
default=1
help='Number of latest inventories used to calculate location accuracy'
string='Inventories for location accuracy calculation'
cycle_count_planning_horizon
Integer
help='Cycle Count planning horizon in days. Only the counts inside the horizon will be created.'
string='Cycle Count Planning Horizon (in days)'
cycle_count_rule_ids
Many2many → stock.cycle.count.rule
column1='warehouse_id'
column2='rule_id'
comodel_name='stock.cycle.count.rule'
relation='warehouse_cycle_count_rule_rel'
string='Cycle Count Rules'
action_compute_cycle_count_rules(self)
cron_cycle_count(self)
get_horizon_date(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-warehouse |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-warehouse.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-warehouse/tree/15.0/stock_cycle_count |
| VERSION | |
| VERSION | 2.2.0 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ForgeFlow |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ForgeFlow |
| COMMITTERS | |
| COMMITTERS | Lois Rilo, Weblate, OCA-git-bot, oca-ci, Joan Sisquella, ArnauCForgeFlow |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-warehouse |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:33 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/stock-logistics-warehouse: - stock_inventory_discrepancy - stock_inventory odoo/odoo: - stock_account - stock - product - base - base_setup - web - bus - web_tour - uom - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource - account - analytic |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
report_cyclecount |
report_cyclecount | ir.ui.view | qweb | New |
res_config_settings_view_form_cycle_adjustment |
res.config.settings.view.form.inherit.cycle.adjustment | res.config.settings | div | Inherits stock.res_config_settings_view_form |
stock_cycle_count_form_view |
stock.cycle.count.form | stock.cycle.count | form | New |
stock_cycle_count_rule_form_view |
stock.cycle.count.rule.form | stock.cycle.count.rule | form | New |
stock_cycle_count_rule_tree_view |
stock.cycle.count.rule.tree | stock.cycle.count.rule | tree | New |
stock_cycle_count_search_view |
stock.cycle.count.search | stock.cycle.count | search | New |
stock_cycle_count_tree_view |
stock.cycle.count.tree | stock.cycle.count | tree | New |
stock_location_accuracy |
stock_location_accuracy | ir.ui.view | qweb | New |
view_inventory_filter |
stock.inventory.filter - stock_cycle_count | stock.inventory | xpath | Inherits stock_inventory.stock_inventory_search_view |
view_inventory_form |
Inventory form view - cycle count extension | stock.inventory | field | Inherits stock_inventory.view_inventory_group_form |
view_inventory_graph |
stock.inventory.graph | stock.inventory | graph | New |
view_inventory_pivot |
stock.inventory.pivot | stock.inventory | pivot | New |
view_inventory_tree |
Inventory tree view - cycle count extension | stock.inventory | field | Inherits stock_inventory.view_inventory_group_tree |
view_location_form |
Location form - cycle count extension | stock.location | xpath | Inherits stock.view_location_form |
view_stock_move_line_form |
Stock Move Line Form - cycle count extension | stock.move.line | field | Inherits stock.view_move_line_form |
view_stock_move_line_tree |
Stock Move Line Tree - cycle count extension | stock.move.line | field | Inherits stock_inventory.view_stock_move_line_inventory_tree |
view_warehouse_form |
Warehouse form - cycle count extension | stock.warehouse | notebook | Inherits stock.view_warehouse |
No new fields.
Public methods (0)No public methods.
auto_start_inventory_from_cycle_count
Boolean
help='If enabled, confirming a Cycle Count will start the related Inventory Adjustment.'
string='Auto Start Inventory Adjustment from Cycle Count'
inventory_adjustment_counted_quantities
Selection
help='If enabled, confirming a Cycle Count will start the related Inventory Adjustment.'
selection=[('counted', 'Default to stock on hand'), ('zero', 'Default to zero')]
string='Inventory Adjustment Counted quantities from Cycle Count'
No public methods.
auto_start_inventory_from_cycle_count
Boolean
help='If enabled, confirming a Cycle Count will start the related Inventory Adjustment.'
readonly=False
related='company_id.auto_start_inventory_from_cycle_count'
string='Auto Start Inventory Adjustment from Cycle Count'
inventory_adjustment_counted_quantities
Selection
help='If enabled, confirming a Cycle Count will start the related Inventory Adjustment.'
readonly=False
related='company_id.inventory_adjustment_counted_quantities'
string='Inventory Adjustment Counted quantities from Cycle Count'
No public methods.
automatic_deadline_date
Date
readonly=True
states={'draft': [('readonly', False)]}
string='Automatic Required Date'
tracking=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
readonly=True
required=True
string='Company'
cycle_count_rule_id
Many2one → stock.cycle.count.rule
comodel_name='stock.cycle.count.rule'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Cycle count rule'
tracking=True
date_deadline
Date
compute='_compute_date_deadline'
inverse='_inverse_date_deadline'
readonly=True
states={'draft': [('readonly', False)]}
store=True
string='Required Date'
tracking=True
inventory_adj_count
Integer
compute='_compute_inventory_adj_count'
location_id
Many2one → stock.location
comodel_name='stock.location'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Location'
manual_deadline_date
Date
readonly=True
states={'draft': [('readonly', False)]}
string='Manual Required Date'
tracking=True
name
Char
readonly=True
responsible_id
Many2one → res.users
comodel_name='res.users'
readonly=True
states={'draft': [('readonly', False)], 'open': [('readonly', False)]}
string='Assigned to'
tracking=True
state
Selection
default='draft'
selection=[('draft', 'Planned'), ('open', 'Execution'), ('cancelled', 'Cancelled'), ('done', 'Done')]
tracking=True
stock_adjustment_ids
One2many → stock.inventory
comodel_name='stock.inventory'
inverse_name='cycle_count_id'
string='Inventory Adjustment'
tracking=True
action_create_inventory_adjustment(self)
action_view_inventory(self)
create(self, vals_list)
do_cancel(self)
accuracy_threshold
Float
digits=(3, 2)
string='Minimum Accuracy Threshold'
active
Boolean
default=True
apply_in
Selection
default='warehouse'
selection=[('warehouse', 'Selected warehouses'), ('location', 'Selected Location Zones.')]
string='Apply this rule in:'
currency_id
Many2one → res.currency
comodel_name='res.currency'
compute='_compute_currency_id'
string='Currency'
location_ids
Many2many → stock.location
column1='rule_id'
column2='location_id'
comodel_name='stock.location'
relation='location_cycle_count_rule_rel'
string='Zones where applied'
name
Char
required=True
periodic_count_period
Integer
string='Period in days'
periodic_qty_per_period
Integer
default=1
string='Counts per period'
rule_description
Char
compute='_compute_rule_description'
rule_type
Selection
required=True
selection='_selection_rule_types'
string='Type of rule'
turnover_inventory_value_threshold
Float
warehouse_ids
Many2many → stock.warehouse
column1='rule_id'
column2='warehouse_id'
comodel_name='stock.warehouse'
compute='_compute_warehouse_ids'
readonly=False
relation='warehouse_cycle_count_rule_rel'
store=True
string='Warehouses where applied'
compute_rule(self, locs)
cycle_count_id
Many2one → stock.cycle.count
comodel_name='stock.cycle.count'
ondelete='restrict'
readonly=True
string='Stock Cycle Count'
inventory_accuracy
Float
default=False
digits=(3, 2)
group_operator='avg'
store=True
string='Accuracy'
prefill_counted_quantity
Selection
default='counted'
help='Allows to start with a pre-filled counted quantity for each lines or with all counted quantities set to zero.'
selection=[('counted', 'Default to stock on hand'), ('zero', 'Default to zero')]
string='Counted Quantities'
responsible_id
Many2one
compute='_compute_responsible_id'
inverse='_inverse_responsible_id'
readonly=False
store=True
tracking=True
action_force_done(self)
action_state_to_done(self)
action_state_to_in_progress(self)
create(self, vals_list)
write(self, vals)
cycle_count_disabled
Boolean
help='Define whether the location is going to be cycle counted.'
string='Exclude from Cycle Count'
loc_accuracy
Float
compute='_compute_loc_accuracy'
digits=(3, 2)
string='Inventory Accuracy'
qty_variance_inventory_threshold
Float
string='Acceptable Inventory Quantity Variance Threshold'
zero_confirmation_disabled
Boolean
help='Define whether this location will trigger a zero-confirmation validation when a rule for its warehouse is defined to perform zero-confirmations.'
string='Disable Zero Confirmations'
action_accuracy_stats(self)
check_zero_confirmation(self)
create_zero_confirmation_cycle_count(self)
No new fields.
Public methods (0)No public methods.
counted_qty
Float
store=True
string='Counted Quantity'
line_accuracy
Float
store=True
string='Accuracy'
theoretical_qty
Float
store=True
string='Theoretical Quantity'
No public methods.
No new fields.
Public methods (0)No public methods.
counts_for_accuracy_qty
Integer
default=1
help='Number of latest inventories used to calculate location accuracy'
string='Inventories for location accuracy calculation'
cycle_count_planning_horizon
Integer
help='Cycle Count planning horizon in days. Only the counts inside the horizon will be created.'
string='Cycle Count Planning Horizon (in days)'
cycle_count_rule_ids
Many2many → stock.cycle.count.rule
column1='warehouse_id'
column2='rule_id'
comodel_name='stock.cycle.count.rule'
relation='warehouse_cycle_count_rule_rel'
string='Cycle Count Rules'
action_compute_cycle_count_rules(self)
cron_cycle_count(self)
get_horizon_date(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-warehouse |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-warehouse.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-warehouse/tree/14.0/stock_cycle_count |
| VERSION | |
| VERSION | 1.4.3 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ForgeFlow |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ForgeFlow |
| COMMITTERS | |
| COMMITTERS | Denis Roussel, Daniel Reis, Enric Tobella, Jordi Ballester Alomar, Florent Xicluna, OCA Transbot, oca-travis, Weblate, OCA-git-bot, oca-ci, Mateu Griful, DavidJForgeFlow |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-warehouse |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:56 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/stock-logistics-warehouse: - stock_inventory_discrepancy - stock_inventory_exclude_sublocation odoo/odoo: - stock_account - stock - product - base - base_setup - web - bus - web_tour - uom - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource - account - analytic |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
report_cyclecount |
report_cyclecount | ir.ui.view | qweb | New |
res_config_settings_view_form_cycle_adjustment |
res.config.settings.view.form.inherit.cycle.adjustment | res.config.settings | div | Inherits stock.res_config_settings_view_form |
stock_cycle_count_form_view |
stock.cycle.count.form | stock.cycle.count | form | New |
stock_cycle_count_rule_form_view |
stock.cycle.count.rule.form | stock.cycle.count.rule | form | New |
stock_cycle_count_rule_tree_view |
stock.cycle.count.rule.tree | stock.cycle.count.rule | tree | New |
stock_cycle_count_search_view |
stock.cycle.count.search | stock.cycle.count | search | New |
stock_cycle_count_tree_view |
stock.cycle.count.tree | stock.cycle.count | tree | New |
stock_location_accuracy |
stock_location_accuracy | ir.ui.view | qweb | New |
view_inventory_filter |
stock.inventory.filter - stock_cycle_count | stock.inventory | field | Inherits stock.view_inventory_filter |
view_inventory_form |
Inventory form view - cycle count extension | stock.inventory | field | Inherits stock.view_inventory_form |
view_inventory_graph |
stock.inventory.graph | stock.inventory | graph | New |
view_inventory_pivot |
stock.inventory.pivot | stock.inventory | pivot | New |
view_inventory_tree |
Inventory tree view - cycle count extension | stock.inventory | field | Inherits stock.view_inventory_tree |
view_location_form |
Location form - cycle count extension | stock.location | xpath | Inherits stock.view_location_form |
view_warehouse_form |
Warehouse form - cycle count extension | stock.warehouse | notebook | Inherits stock.view_warehouse |
No new fields.
Public methods (1)render_html(self, data=None)
auto_start_inventory_from_cycle_count
Boolean
help='If enabled, confirming a Cycle Count will start the related Inventory Adjustment.'
string='Auto Start Inventory Adjustment from Cycle Count'
inventory_adjustment_counted_quantities
Selection
help='If enabled, confirming a Cycle Count will start the related Inventory Adjustment.'
selection=[('counted', 'Default to stock on hand'), ('zero', 'Default to zero')]
string='Inventory Adjustment Counted quantities from Cycle Count'
No public methods.
auto_start_inventory_from_cycle_count
Boolean
help='If enabled, confirming a Cycle Count will start the related Inventory Adjustment.'
readonly=False
related='company_id.auto_start_inventory_from_cycle_count'
string='Auto Start Inventory Adjustment from Cycle Count'
inventory_adjustment_counted_quantities
Selection
help='If enabled, confirming a Cycle Count will start the related Inventory Adjustment.'
readonly=False
related='company_id.inventory_adjustment_counted_quantities'
string='Inventory Adjustment Counted quantities from Cycle Count'
No public methods.
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
readonly=True
required=True
string='Company'
cycle_count_rule_id
Many2one → stock.cycle.count.rule
comodel_name='stock.cycle.count.rule'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Cycle count rule'
tracking=True
date_deadline
Date
readonly=True
states={'draft': [('readonly', False)]}
string='Required Date'
tracking=True
inventory_adj_count
Integer
compute='_compute_inventory_adj_count'
location_id
Many2one → stock.location
comodel_name='stock.location'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Location'
name
Char
readonly=True
string='Name'
responsible_id
Many2one → res.users
comodel_name='res.users'
readonly=True
states={'draft': [('readonly', False)]}
string='Assigned to'
tracking=True
state
Selection
default='draft'
selection=[('draft', 'Planned'), ('open', 'Execution'), ('cancelled', 'Cancelled'), ('done', 'Done')]
string='State'
tracking=True
stock_adjustment_ids
One2many → stock.inventory
comodel_name='stock.inventory'
inverse_name='cycle_count_id'
string='Inventory Adjustment'
tracking=True
action_create_inventory_adjustment(self)
action_view_inventory(self)
create(self, vals)
do_cancel(self)
accuracy_threshold
Float
digits=(3, 2)
string='Minimum Accuracy Threshold'
active
Boolean
default=True
apply_in
Selection
default='warehouse'
selection=[('warehouse', 'Selected warehouses'), ('location', 'Selected Location Zones.')]
string='Apply this rule in:'
currency_id
Many2one → res.currency
comodel_name='res.currency'
compute='_compute_currency_id'
string='Currency'
location_ids
Many2many → stock.location
column1='rule_id'
column2='location_id'
comodel_name='stock.location'
relation='location_cycle_count_rule_rel'
string='Zones where applied'
name
Char
required=True
periodic_count_period
Integer
string='Period in days'
periodic_qty_per_period
Integer
default=1
string='Counts per period'
rule_description
Char
compute='_compute_rule_description'
string='Rule Description'
rule_type
Selection
required=True
selection='_selection_rule_types'
string='Type of rule'
turnover_inventory_value_threshold
Float
string='Turnover Inventory Value Threshold'
warehouse_ids
Many2many → stock.warehouse
column1='rule_id'
column2='warehouse_id'
comodel_name='stock.warehouse'
relation='warehouse_cycle_count_rule_rel'
string='Warehouses where applied'
compute_rule(self, locs)
cycle_count_id
Many2one → stock.cycle.count
comodel_name='stock.cycle.count'
ondelete='restrict'
readonly=True
string='Stock Cycle Count'
inventory_accuracy
Float
compute='_compute_inventory_accuracy'
digits=(3, 2)
group_operator='avg'
store=True
string='Accuracy'
prefill_counted_quantity
Selection
default=_get_default_counted_quantitites
responsible_id
Many2one → res.users
comodel_name='res.users'
help='Specific responsible of Inventory Adjustment.'
tracking=True
action_force_done(self)
action_validate(self)
create(self, vals)
cycle_count_disabled
Boolean
help='Define whether the location is going to be cycle counted.'
string='Exclude from Cycle Count'
loc_accuracy
Float
compute='_compute_loc_accuracy'
digits=(3, 2)
string='Inventory Accuracy'
qty_variance_inventory_threshold
Float
string='Acceptable Inventory Quantity Variance Threshold'
zero_confirmation_disabled
Boolean
help='Define whether this location will trigger a zero-confirmation validation when a rule for its warehouse is defined to perform zero-confirmations.'
string='Disable Zero Confirmations'
action_accuracy_stats(self)
check_zero_confirmation(self)
create_zero_confirmation_cycle_count(self)
No new fields.
Public methods (0)No public methods.
counts_for_accuracy_qty
Integer
default=1
help='Number of latest inventories used to calculate location accuracy'
string='Inventories for location accuracy calculation'
cycle_count_planning_horizon
Integer
help='Cycle Count planning horizon in days. Only the counts inside the horizon will be created.'
string='Cycle Count Planning Horizon (in days)'
cycle_count_rule_ids
Many2many → stock.cycle.count.rule
column1='warehouse_id'
column2='rule_id'
comodel_name='stock.cycle.count.rule'
relation='warehouse_cycle_count_rule_rel'
string='Cycle Count Rules'
action_compute_cycle_count_rules(self)
cron_cycle_count(self)
get_horizon_date(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-warehouse |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-warehouse.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-warehouse/tree/13.0/stock_cycle_count |
| VERSION | |
| VERSION | 1.2.1 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ForgeFlow |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ForgeFlow |
| COMMITTERS | |
| COMMITTERS | mreficent, Lois Rilo, Carlos Lopez, OCA Transbot, oca-travis, Weblate, OCA-git-bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-warehouse |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:12 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/stock-logistics-warehouse: - stock_inventory_discrepancy - stock_inventory_exclude_sublocation odoo/odoo: - stock_account - stock - product - base - base_setup - web - bus - web_tour - uom - barcodes - account - analytic - portal - web_editor - http_routing - auth_signup - digest - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
report_cyclecount |
report_cyclecount | ir.ui.view | qweb | New |
stock_cycle_count_form_view |
stock.cycle.count.form | stock.cycle.count | form | New |
stock_cycle_count_rule_form_view |
stock.cycle.count.rule.form | stock.cycle.count.rule | form | New |
stock_cycle_count_rule_tree_view |
stock.cycle.count.rule.tree | stock.cycle.count.rule | tree | New |
stock_cycle_count_search_view |
stock.cycle.count.search | stock.cycle.count | search | New |
stock_cycle_count_tree_view |
stock.cycle.count.tree | stock.cycle.count | tree | New |
stock_location_accuracy |
stock_location_accuracy | ir.ui.view | qweb | New |
view_inventory_filter |
stock.inventory.filter - stock_cycle_count | stock.inventory | field | Inherits stock.view_inventory_filter |
view_inventory_form |
Inventory form view - cycle count extension | stock.inventory | field | Inherits stock.view_inventory_form |
view_inventory_graph |
stock.inventory.graph | stock.inventory | graph | New |
view_inventory_pivot |
stock.inventory.pivot | stock.inventory | pivot | New |
view_inventory_tree |
Inventory tree view - cycle count extension | stock.inventory | field | Inherits stock.view_inventory_tree |
view_location_form |
Location form - cycle count extension | stock.location | xpath | Inherits stock.view_location_form |
view_warehouse_form |
Warehouse form - cycle count extension | stock.warehouse | notebook | Inherits stock.view_warehouse |
No new fields.
Public methods (1)render_html(self, data=None)
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
readonly=True
required=True
string='Company'
cycle_count_rule_id
Many2one → stock.cycle.count.rule
comodel_name='stock.cycle.count.rule'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Cycle count rule'
track_visibility='onchange'
date_deadline
Date
readonly=True
states={'draft': [('readonly', False)]}
string='Required Date'
track_visibility='onchange'
inventory_adj_count
Integer
compute='_compute_inventory_adj_count'
location_id
Many2one → stock.location
comodel_name='stock.location'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Location'
name
Char
readonly=True
string='Name'
responsible_id
Many2one → res.users
comodel_name='res.users'
readonly=True
states={'draft': [('readonly', False)]}
string='Assigned to'
track_visibility='onchange'
state
Selection
default='draft'
selection=[('draft', 'Planned'), ('open', 'Execution'), ('cancelled', 'Cancelled'), ('done', 'Done')]
string='State'
track_visibility='onchange'
stock_adjustment_ids
One2many → stock.inventory
comodel_name='stock.inventory'
inverse_name='cycle_count_id'
string='Inventory Adjustment'
track_visibility='onchange'
action_create_inventory_adjustment(self)
action_view_inventory(self)
create(self, vals)
do_cancel(self)
accuracy_threshold
Float
digits=(3, 2)
string='Minimum Accuracy Threshold'
active
Boolean
default=True
apply_in
Selection
default='warehouse'
selection=[('warehouse', 'Selected warehouses'), ('location', 'Selected Location Zones.')]
string='Apply this rule in:'
currency_id
Many2one → res.currency
comodel_name='res.currency'
compute='_compute_currency_id'
string='Currency'
location_ids
Many2many → stock.location
column1='rule_id'
column2='location_id'
comodel_name='stock.location'
relation='location_cycle_count_rule_rel'
string='Zones where applied'
name
Char
required=True
periodic_count_period
Integer
string='Period in days'
periodic_qty_per_period
Integer
default=1
string='Counts per period'
rule_description
Char
compute='_compute_rule_description'
string='Rule Description'
rule_type
Selection
required=True
selection='_selection_rule_types'
string='Type of rule'
turnover_inventory_value_threshold
Float
string='Turnover Inventory Value Threshold'
warehouse_ids
Many2many → stock.warehouse
column1='rule_id'
column2='warehouse_id'
comodel_name='stock.warehouse'
relation='warehouse_cycle_count_rule_rel'
string='Warehouses where applied'
compute_rule(self, locs)
cycle_count_id
Many2one → stock.cycle.count
comodel_name='stock.cycle.count'
ondelete='restrict'
readonly=True
string='Stock Cycle Count'
inventory_accuracy
Float
compute='_compute_inventory_accuracy'
digits=(3, 2)
group_operator='avg'
store=True
string='Accuracy'
action_force_done(self)
action_validate(self)
create(self, vals)
write(self, vals)
cycle_count_disabled
Boolean
help='Define whether the location is going to be cycle counted.'
string='Exclude from Cycle Count'
loc_accuracy
Float
compute='_compute_loc_accuracy'
digits=(3, 2)
string='Inventory Accuracy'
qty_variance_inventory_threshold
Float
string='Acceptable Inventory Quantity Variance Threshold'
zero_confirmation_disabled
Boolean
help='Define whether this location will trigger a zero-confirmation validation when a rule for its warehouse is defined to perform zero-confirmations.'
string='Disable Zero Confirmations'
action_accuracy_stats(self)
check_zero_confirmation(self)
create_zero_confirmation_cycle_count(self)
No new fields.
Public methods (0)No public methods.
counts_for_accuracy_qty
Integer
default=1
help='Number of latest inventories used to calculate location accuracy'
string='Inventories for location accuracy calculation'
cycle_count_planning_horizon
Integer
help='Cycle Count planning horizon in days. Only the counts inside the horizon will be created.'
string='Cycle Count Planning Horizon (in days)'
cycle_count_rule_ids
Many2many → stock.cycle.count.rule
column1='warehouse_id'
column2='rule_id'
comodel_name='stock.cycle.count.rule'
relation='warehouse_cycle_count_rule_rel'
string='Cycle Count Rules'
action_compute_cycle_count_rules(self)
cron_cycle_count(self)
get_horizon_date(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-warehouse |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-warehouse.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-warehouse/tree/12.0/stock_cycle_count |
| VERSION | |
| VERSION | 1.1.1 |
| CATEGORY | |
| CATEGORY | Warehouse |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Eficent |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Eficent |
| COMMITTERS | |
| COMMITTERS | mreficent, Denis Roussel, Lois Rilo, OCA Transbot, Sergio Teruel, oca-travis, Weblate, OCA-git-bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-warehouse |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:16 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/stock-logistics-warehouse: - stock_inventory_discrepancy - stock_inventory_exclude_sublocation odoo/odoo: - stock_account - stock - product - base - decimal_precision - base_setup - web - bus - web_tour - uom - barcodes - account - analytic - portal - http_routing - digest |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
report_cyclecount |
report_cyclecount | ir.ui.view | qweb | New |
stock_cycle_count_form_view |
stock.cycle.count.form | stock.cycle.count | form | New |
stock_cycle_count_rule_form_view |
stock.cycle.count.rule.form | stock.cycle.count.rule | form | New |
stock_cycle_count_rule_tree_view |
stock.cycle.count.rule.tree | stock.cycle.count.rule | tree | New |
stock_cycle_count_search_view |
stock.cycle.count.search | stock.cycle.count | search | New |
stock_cycle_count_tree_view |
stock.cycle.count.tree | stock.cycle.count | tree | New |
stock_location_accuracy |
stock_location_accuracy | ir.ui.view | qweb | New |
view_inventory_filter |
stock.inventory.filter - stock_cycle_count | stock.inventory | field | Inherits stock.view_inventory_filter |
view_inventory_form |
Inventory form view - cycle count extension | stock.inventory | field | Inherits stock.view_inventory_form |
view_inventory_graph |
stock.inventory.graph | stock.inventory | graph | New |
view_inventory_pivot |
stock.inventory.pivot | stock.inventory | pivot | New |
view_inventory_tree |
Inventory tree view - cycle count extension | stock.inventory | field | Inherits stock.view_inventory_tree |
view_location_form |
Location form - cycle count extension | stock.location | xpath | Inherits stock.view_location_form |
view_warehouse_form |
Warehouse form - cycle count extension | stock.warehouse | notebook | Inherits stock.view_warehouse |
No new fields.
Public methods (1)render_html(self, data=None)
company_id
Many2one → res.company
comodel_name='res.company'
default=_default_company
readonly=True
required=True
string='Company'
cycle_count_rule_id
Many2one → stock.cycle.count.rule
comodel_name='stock.cycle.count.rule'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Cycle count rule'
track_visibility='onchange'
date_deadline
Date
readonly=True
states={'draft': [('readonly', False)]}
string='Required Date'
track_visibility='onchange'
inventory_adj_count
Integer
compute='_compute_inventory_adj_count'
location_id
Many2one → stock.location
comodel_name='stock.location'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Location'
name
Char
readonly=True
string='Name'
responsible_id
Many2one → res.users
comodel_name='res.users'
readonly=True
states={'draft': [('readonly', False)]}
string='Assigned to'
track_visibility='onchange'
state
Selection
default='draft'
selection=[('draft', 'Planned'), ('open', 'Execution'), ('cancelled', 'Cancelled'), ('done', 'Done')]
string='State'
track_visibility='onchange'
stock_adjustment_ids
One2many → stock.inventory
comodel_name='stock.inventory'
inverse_name='cycle_count_id'
string='Inventory Adjustment'
track_visibility='onchange'
action_create_inventory_adjustment(self)
action_view_inventory(self)
create(self, vals)
do_cancel(self)
accuracy_threshold
Float
digits=(3, 2)
string='Minimum Accuracy Threshold'
active
Boolean
default=True
apply_in
Selection
default='warehouse'
selection=[('warehouse', 'Selected warehouses'), ('location', 'Selected Location Zones.')]
string='Apply this rule in:'
currency_id
Many2one → res.currency
comodel_name='res.currency'
compute='_compute_currency_id'
string='Currency'
location_ids
Many2many → stock.location
column1='rule_id'
column2='location_id'
comodel_name='stock.location'
relation='location_cycle_count_rule_rel'
string='Zones where applied'
name
Char
required=True
periodic_count_period
Integer
string='Period in days'
periodic_qty_per_period
Integer
default=1
string='Counts per period'
rule_description
Char
compute='_compute_rule_description'
string='Rule Description'
rule_type
Selection
required=True
selection='_selection_rule_types'
string='Type of rule'
turnover_inventory_value_threshold
Float
string='Turnover Inventory Value Threshold'
warehouse_ids
Many2many → stock.warehouse
column1='rule_id'
column2='warehouse_id'
comodel_name='stock.warehouse'
relation='warehouse_cycle_count_rule_rel'
string='Warehouses where applied'
compute_rule(self, locs)
cycle_count_id
Many2one → stock.cycle.count
comodel_name='stock.cycle.count'
ondelete='restrict'
readonly=True
string='Stock Cycle Count'
inventory_accuracy
Float
compute='_compute_inventory_accuracy'
digits=(3, 2)
group_operator='avg'
store=True
string='Accuracy'
action_force_done(self)
action_validate(self)
create(self, vals)
write(self, vals)
cycle_count_disabled
Boolean
help='Define whether the location is going to be cycle counted.'
string='Exclude from Cycle Count'
loc_accuracy
Float
compute='_compute_loc_accuracy'
digits=(3, 2)
string='Inventory Accuracy'
qty_variance_inventory_threshold
Float
string='Acceptable Inventory Quantity Variance Threshold'
zero_confirmation_disabled
Boolean
help='Define whether this location will trigger a zero-confirmation validation when a rule for its warehouse is defined to perform zero-confirmations.'
string='Disable Zero Confirmations'
action_accuracy_stats(self)
check_zero_confirmation(self)
create_zero_confirmation_cycle_count(self)
No new fields.
Public methods (0)No public methods.
counts_for_accuracy_qty
Integer
default=1
help='Number of latest inventories used to calculate location accuracy'
string='Inventories for location accuracy calculation'
cycle_count_planning_horizon
Integer
help='Cycle Count planning horizon in days. Only the counts inside the horizon will be created.'
string='Cycle Count Planning Horizon (in days)'
cycle_count_rule_ids
Many2many → stock.cycle.count.rule
column1='warehouse_id'
column2='rule_id'
comodel_name='stock.cycle.count.rule'
relation='warehouse_cycle_count_rule_rel'
string='Cycle Count Rules'
action_compute_cycle_count_rules(self)
cron_cycle_count(self)
get_horizon_date(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-warehouse |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-warehouse.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-warehouse/tree/11.0/stock_cycle_count |
| VERSION | |
| VERSION | 1.0.2 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Eficent |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Eficent |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Denis Roussel, Jordi Ballester Alomar, OCA Transbot, oca-travis, Weblate, OCA-git-bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-warehouse |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:23:56 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/stock-logistics-warehouse: - stock_inventory_discrepancy - stock_inventory_exclude_sublocation odoo/odoo: - stock_account - stock - product - base - decimal_precision - base_setup - web - bus - web_tour - barcodes - web_planner - account - analytic - portal - http_routing |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
report_cyclecount |
report_cyclecount | ir.ui.view | qweb | New |
stock_cycle_count_form_view |
stock.cycle.count.form | stock.cycle.count | form | New |
stock_cycle_count_rule_form_view |
stock.cycle.count.rule.form | stock.cycle.count.rule | form | New |
stock_cycle_count_rule_tree_view |
stock.cycle.count.rule.tree | stock.cycle.count.rule | tree | New |
stock_cycle_count_search_view |
stock.cycle.count.search | stock.cycle.count | search | New |
stock_cycle_count_tree_view |
stock.cycle.count.tree | stock.cycle.count | tree | New |
stock_location_accuracy |
stock_location_accuracy | ir.ui.view | qweb | New |
view_inventory_filter |
stock.inventory.filter - stock_cycle_count | stock.inventory | field | Inherits stock.view_inventory_filter |
view_inventory_form |
Inventory form view - cycle count extension | stock.inventory | field | Inherits stock.view_inventory_form |
view_inventory_graph |
stock.inventory.graph | stock.inventory | graph | New |
view_inventory_pivot |
stock.inventory.pivot | stock.inventory | pivot | New |
view_inventory_tree |
Inventory tree view - cycle count extension | stock.inventory | field | Inherits stock.view_inventory_tree |
view_location_form |
Location form - cycle count extension | stock.location | xpath | Inherits stock.view_location_form |
view_warehouse_form |
Warehouse form - cycle count extension | stock.warehouse | notebook | Inherits stock.view_warehouse |
No new fields.
Public methods (1)render_html(self, data=None)
company_id
Many2one → res.company
comodel_name='res.company'
default=_default_company
readonly=True
required=True
string='Company'
cycle_count_rule_id
Many2one → stock.cycle.count.rule
comodel_name='stock.cycle.count.rule'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Cycle count rule'
track_visibility='onchange'
date_deadline
Date
readonly=True
states={'draft': [('readonly', False)]}
string='Required Date'
track_visibility='onchange'
inventory_adj_count
Integer
compute='_compute_inventory_adj_count'
location_id
Many2one → stock.location
comodel_name='stock.location'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Location'
name
Char
readonly=True
string='Name'
responsible_id
Many2one → res.users
comodel_name='res.users'
readonly=True
states={'draft': [('readonly', False)]}
string='Assigned to'
track_visibility='onchange'
state
Selection
default='draft'
selection=[('draft', 'Planned'), ('open', 'Execution'), ('cancelled', 'Cancelled'), ('done', 'Done')]
string='State'
track_visibility='onchange'
stock_adjustment_ids
One2many → stock.inventory
comodel_name='stock.inventory'
inverse_name='cycle_count_id'
string='Inventory Adjustment'
track_visibility='onchange'
action_create_inventory_adjustment(self)
action_view_inventory(self)
create(self, vals)
do_cancel(self)
accuracy_threshold
Float
digits=(3, 2)
string='Minimum Accuracy Threshold'
active
Boolean
default=True
apply_in
Selection
default='warehouse'
selection=[('warehouse', 'Selected warehouses'), ('location', 'Selected Location Zones.')]
string='Apply this rule in:'
currency_id
Many2one → res.currency
comodel_name='res.currency'
compute='_compute_currency_id'
string='Currency'
location_ids
Many2many → stock.location
column1='rule_id'
column2='location_id'
comodel_name='stock.location'
relation='location_cycle_count_rule_rel'
string='Zones where applied'
name
Char
required=True
periodic_count_period
Integer
string='Period in days'
periodic_qty_per_period
Integer
default=1
string='Counts per period'
rule_description
Char
compute='_compute_rule_description'
string='Rule Description'
rule_type
Selection
required=True
selection='_selection_rule_types'
string='Type of rule'
turnover_inventory_value_threshold
Float
string='Turnover Inventory Value Threshold'
warehouse_ids
Many2many → stock.warehouse
column1='rule_id'
column2='warehouse_id'
comodel_name='stock.warehouse'
relation='warehouse_cycle_count_rule_rel'
string='Warehouses where applied'
compute_rule(self, locs)
cycle_count_id
Many2one → stock.cycle.count
comodel_name='stock.cycle.count'
ondelete='restrict'
readonly=True
string='Stock Cycle Count'
inventory_accuracy
Float
compute='_compute_inventory_accuracy'
digits=(3, 2)
group_operator='avg'
store=True
string='Accuracy'
action_done(self)
action_force_done(self)
write(self, vals)
cycle_count_disabled
Boolean
help='Define whether the location is going to be cycle counted.'
string='Exclude from Cycle Count'
loc_accuracy
Float
compute='_compute_loc_accuracy'
digits=(3, 2)
string='Inventory Accuracy'
qty_variance_inventory_threshold
Float
string='Acceptable Inventory Quantity Variance Threshold'
zero_confirmation_disabled
Boolean
help='Define whether this location will trigger a zero-confirmation validation when a rule for its warehouse is defined to perform zero-confirmations.'
string='Disable Zero Confirmations'
action_accuracy_stats(self)
check_zero_confirmation(self)
create_zero_confirmation_cycle_count(self)
No new fields.
Public methods (0)No public methods.
counts_for_accuracy_qty
Integer
default=1
help='Number of latest inventories used to calculate location accuracy'
string='Inventories for location accuracy calculation'
cycle_count_planning_horizon
Integer
help='Cycle Count planning horizon in days. Only the counts inside the horizon will be created.'
string='Cycle Count Planning Horizon (in days)'
cycle_count_rule_ids
Many2many → stock.cycle.count.rule
column1='warehouse_id'
column2='rule_id'
comodel_name='stock.cycle.count.rule'
relation='warehouse_cycle_count_rule_rel'
string='Cycle Count Rules'
action_compute_cycle_count_rules(self)
cron_cycle_count(self)
get_horizon_date(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-warehouse |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-warehouse.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-warehouse/tree/10.0/stock_cycle_count |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Eficent |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Eficent |
| COMMITTERS | |
| COMMITTERS | Lois Rilo, oca-travis, Weblate |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-warehouse |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:19:55 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/stock-logistics-warehouse: - stock_inventory_discrepancy - stock_inventory_exclude_sublocation - stock_inventory_chatter odoo/odoo: - stock - product - base - decimal_precision - base_setup - web_kanban - web - bus - web_tour - report - procurement - barcodes - web_planner |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
numpy |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
report_cyclecount |
report_cyclecount | ir.ui.view | qweb | New |
stock_cycle_count_form_view |
stock.cycle.count.form | stock.cycle.count | form | New |
stock_cycle_count_rule_form_view |
stock.cycle.count.rule.form | stock.cycle.count.rule | form | New |
stock_cycle_count_rule_tree_view |
stock.cycle.count.rule.tree | stock.cycle.count.rule | tree | New |
stock_cycle_count_search_view |
stock.cycle.count.search | stock.cycle.count | search | New |
stock_cycle_count_tree_view |
stock.cycle.count.tree | stock.cycle.count | tree | New |
stock_location_accuracy |
stock_location_accuracy | ir.ui.view | qweb | New |
view_inventory_filter |
stock.inventory.filter - stock_cycle_count | stock.inventory | field | Inherits stock.view_inventory_filter |
view_inventory_form |
Inventory form view - cycle count extension | stock.inventory | field | Inherits stock.view_inventory_form |
view_inventory_graph |
stock.inventory.graph | stock.inventory | graph | New |
view_inventory_pivot |
stock.inventory.pivot | stock.inventory | pivot | New |
view_inventory_tree |
Inventory tree view - cycle count extension | stock.inventory | field | Inherits stock.view_inventory_tree |
view_location_form |
Location form - cycle count extension | stock.location | xpath | Inherits stock.view_location_form |
view_warehouse_form |
Warehouse form - cycle count extension | stock.warehouse | notebook | Inherits stock.view_warehouse |
No new fields.
Public methods (1)render_html(self, data=None)
company_id
Many2one → res.company
comodel_name='res.company'
default=_default_company
readonly=True
required=True
string='Company'
cycle_count_rule_id
Many2one → stock.cycle.count.rule
comodel_name='stock.cycle.count.rule'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Cycle count rule'
track_visibility='onchange'
date_deadline
Date
readonly=True
states={'draft': [('readonly', False)]}
string='Required Date'
track_visibility='onchange'
inventory_adj_count
Integer
compute='_compute_inventory_adj_count'
location_id
Many2one → stock.location
comodel_name='stock.location'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Location'
name
Char
readonly=True
string='Name'
responsible_id
Many2one → res.users
comodel_name='res.users'
readonly=True
states={'draft': [('readonly', False)]}
string='Assigned to'
track_visibility='onchange'
state
Selection
default='draft'
selection=[('draft', 'Planned'), ('open', 'Execution'), ('cancelled', 'Cancelled'), ('done', 'Done')]
string='State'
track_visibility='onchange'
stock_adjustment_ids
One2many → stock.inventory
comodel_name='stock.inventory'
inverse_name='cycle_count_id'
string='Inventory Adjustment'
track_visibility='onchange'
action_create_inventory_adjustment(self)
action_view_inventory(self)
create(self, vals)
do_cancel(self)
accuracy_threshold
Float
digits=(3, 2)
string='Minimum Accuracy Threshold'
active
Boolean
default=True
apply_in
Selection
default='warehouse'
selection=[('warehouse', 'Selected warehouses'), ('location', 'Selected Location Zones.')]
string='Apply this rule in:'
currency_id
Many2one → res.currency
comodel_name='res.currency'
compute='_compute_currency_id'
string='Currency'
location_ids
Many2many → stock.location
column1='rule_id'
column2='location_id'
comodel_name='stock.location'
relation='location_cycle_count_rule_rel'
string='Zones where applied'
name
Char
required=True
periodic_count_period
Integer
string='Period in days'
periodic_qty_per_period
Integer
default=1
string='Counts per period'
rule_description
Char
compute='_compute_rule_description'
string='Rule Description'
rule_type
Selection
required=True
selection='_selection_rule_types'
string='Type of rule'
turnover_inventory_value_threshold
Float
string='Turnover Inventory Value Threshold'
warehouse_ids
Many2many → stock.warehouse
column1='rule_id'
column2='warehouse_id'
comodel_name='stock.warehouse'
relation='warehouse_cycle_count_rule_rel'
string='Warehouses where applied'
compute_rule(self, locs)
cycle_count_id
Many2one → stock.cycle.count
comodel_name='stock.cycle.count'
ondelete='restrict'
readonly=True
string='Stock Cycle Count'
inventory_accuracy
Float
compute='_compute_inventory_accuracy'
digits=(3, 2)
group_operator='avg'
store=True
string='Accuracy'
action_done(self)
action_force_done(self)
write(self, vals)
cycle_count_disabled
Boolean
help='Define whether the location is going to be cycle counted.'
string='Exclude from Cycle Count'
loc_accuracy
Float
compute='_compute_loc_accuracy'
digits=(3, 2)
string='Inventory Accuracy'
qty_variance_inventory_threshold
Float
string='Acceptable Inventory Quantity Variance Threshold'
zero_confirmation_disabled
Boolean
help='Define whether this location will trigger a zero-confirmation validation when a rule for its warehouse is defined to perform zero-confirmations.'
string='Disable Zero Confirmations'
action_accuracy_stats(self)
check_zero_confirmation(self)
create_zero_confirmation_cycle_count(self)
No new fields.
Public methods (1)action_done(self)
counts_for_accuracy_qty
Integer
default=1
help='Number of latest inventories used to calculate location accuracy'
string='Inventories for location accuracy calculation'
cycle_count_planning_horizon
Integer
help='Cycle Count planning horizon in days. Only the counts inside the horizon will be created.'
string='Cycle Count Planning Horizon (in days)'
cycle_count_rule_ids
Many2many → stock.cycle.count.rule
column1='warehouse_id'
column2='rule_id'
comodel_name='stock.cycle.count.rule'
relation='warehouse_cycle_count_rule_rel'
string='Cycle Count Rules'
action_compute_cycle_count_rules(self)
cron_cycle_count(self)
get_horizon_date(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-warehouse |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-warehouse.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-warehouse/tree/9.0/stock_cycle_count |
| VERSION | |
| VERSION | 1.2.0 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Eficent |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Eficent |
| COMMITTERS | |
| COMMITTERS | Alexandre Fayolle, GitHub, Lois Rilo, Jordi Ballester Alomar, OCA Transbot, oca-travis, Weblate, lreficent |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-warehouse |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:15:20 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/stock-logistics-warehouse: - stock_inventory_discrepancy - stock_inventory_exclude_sublocation odoo/odoo: - stock - product - base - decimal_precision - base_setup - web_kanban - web - bus - report - procurement - barcodes - web_planner |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
numpy |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
report_cyclecount |
report_cyclecount | ir.ui.view | qweb | New |
stock_cycle_count_form_view |
stock.cycle.count.form | stock.cycle.count | form | New |
stock_cycle_count_rule_form_view |
stock.cycle.count.rule.form | stock.cycle.count.rule | form | New |
stock_cycle_count_rule_tree_view |
stock.cycle.count.rule.tree | stock.cycle.count.rule | tree | New |
stock_cycle_count_search_view |
stock.cycle.count.search | stock.cycle.count | search | New |
stock_cycle_count_tree_view |
stock.cycle.count.tree | stock.cycle.count | tree | New |
stock_location_accuracy |
stock_location_accuracy | ir.ui.view | qweb | New |
view_inventory_filter |
stock.inventory.filter - stock_cycle_count | stock.inventory | field | Inherits stock.view_inventory_filter |
view_inventory_form |
Inventory form view - cycle count extension | stock.inventory | field | Inherits stock.view_inventory_form |
view_inventory_graph |
stock.inventory.graph | stock.inventory | graph | New |
view_inventory_pivot |
stock.inventory.pivot | stock.inventory | pivot | New |
view_inventory_tree |
Inventory tree view - cycle count extension | stock.inventory | field | Inherits stock.view_inventory_tree |
view_location_form |
Location form - cycle count extension | stock.location | xpath | Inherits stock.view_location_form |
view_warehouse_form |
Warehouse form - cycle count extension | stock.warehouse | notebook | Inherits stock.view_warehouse |
No new fields.
Public methods (1)render_html(self, data=None)
company_id
Many2one → res.company
comodel_name='res.company'
default=_company_get
readonly=True
required=True
string='Company'
cycle_count_rule_id
Many2one → stock.cycle.count.rule
comodel_name='stock.cycle.count.rule'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Cycle count rule'
track_visibility='onchange'
date_deadline
Date
readonly=True
states={'draft': [('readonly', False)]}
string='Required Date'
track_visibility='onchange'
inventory_adj_count
Integer
compute=_count_inventory_adj
location_id
Many2one → stock.location
comodel_name='stock.location'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Location'
name
Char
readonly=True
string='Name'
responsible_id
Many2one → res.users
comodel_name='res.users'
readonly=True
states={'draft': [('readonly', False)]}
string='Assigned to'
track_visibility='onchange'
state
Selection
default='draft'
selection=[('draft', 'Planned'), ('open', 'Execution'), ('cancelled', 'Cancelled'), ('done', 'Done')]
string='State'
track_visibility='onchange'
stock_adjustment_ids
One2many → stock.inventory
comodel_name='stock.inventory'
inverse_name='cycle_count_id'
string='Inventory Adjustment'
track_visibility='onchange'
action_create_inventory_adjustment(self)
action_view_inventory(self)
create(self, vals)
do_cancel(self)
accuracy_threshold
Float
digits=(3, 2)
string='Minimum Accuracy Threshold'
active
Boolean
default=True
string='Active'
apply_in
Selection
default='warehouse'
selection=[('warehouse', 'Selected warehouses'), ('location', 'Selected Location Zones.')]
string='Apply this rule in:'
currency_id
Many2one → res.currency
comodel_name='res.currency'
compute=_compute_currency
string='Currency'
location_ids
Many2many → stock.location
column1='rule_id'
column2='location_id'
comodel_name='stock.location'
relation='location_cycle_count_rule_rel'
string='Zones where applied'
name
Char
required=True
args: 'Name'
periodic_count_period
Integer
string='Period in days'
periodic_qty_per_period
Integer
default=1
string='Counts per period'
rule_description
Char
compute=_get_rule_description
string='Rule Description'
rule_type
Selection
required=True
selection='_selection_rule_types'
string='Type of rule'
turnover_inventory_value_threshold
Float
string='Turnover Inventory Value Threshold'
warehouse_ids
Many2many → stock.warehouse
column1='rule_id'
column2='warehouse_id'
comodel_name='stock.warehouse'
relation='warehouse_cycle_count_rule_rel'
string='Warehouses where applied'
compute_rule(self, locs)
cycle_count_id
Many2one → stock.cycle.count
comodel_name='stock.cycle.count'
ondelete='cascade'
readonly=True
string='Stock Cycle Count'
inventory_accuracy
Float
compute=_compute_inventory_accuracy
digits=(3, 2)
group_operator='avg'
store=True
string='Accuracy'
action_done(self)
write(self, vals)
cycle_count_disabled
Boolean
default=False
help='Define whether the location is going to be cycle counted.'
string='Exclude from Cycle Count'
loc_accuracy
Float
compute=_compute_loc_accuracy
digits=(3, 2)
string='Inventory Accuracy'
qty_variance_inventory_threshold
Float
zero_confirmation_disabled
Boolean
default=False
help='Define whether this location will trigger a zero-confirmation validation when a rule for its warehouse is defined to perform zero-confirmations.'
string='Disable Zero Confirmations'
action_accuracy_stats(self)
check_zero_confirmation(self)
create_zero_confirmation_cycle_count(self)
No new fields.
Public methods (1)action_done(self)
counts_for_accuracy_qty
Integer
default=1
help='Number of latest inventories used to calculate location accuracy'
string='Inventories for location accuracy calculation'
cycle_count_planning_horizon
Integer
help='Cycle Count planning horizon in days. Only the counts inside the horizon will be created.'
string='Cycle Count Planning Horizon (in days)'
cycle_count_rule_ids
Many2many → stock.cycle.count.rule
column1='warehouse_id'
column2='rule_id'
comodel_name='stock.cycle.count.rule'
relation='warehouse_cycle_count_rule_rel'
string='Cycle Count Rules'
action_compute_cycle_count_rules(self)
cron_cycle_count(self)
get_horizon_date(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-warehouse |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-warehouse.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-warehouse/tree/8.0/stock_cycle_count |
| VERSION | |
| VERSION | 1.2.0 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Eficent |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Eficent |
| COMMITTERS | |
| COMMITTERS | Lois Rilo, OCA Transbot, oca-travis, Weblate |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-warehouse |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:11:21 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/stock-logistics-warehouse: - stock_inventory_discrepancy - stock_inventory_exclude_sublocation odoo/odoo: - stock - product - base - decimal_precision - base_setup - web_kanban - web - report - procurement - board - web_kanban_gauge - web_kanban_sparkline |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
numpy |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
report_cyclecount |
report_cyclecount | ir.ui.view | qweb | New |
stock_cycle_count_form_view |
stock.cycle.count.form | stock.cycle.count | form | New |
stock_cycle_count_rule_form_view |
stock.cycle.count.rule.form | stock.cycle.count.rule | form | New |
stock_cycle_count_rule_tree_view |
stock.cycle.count.rule.tree | stock.cycle.count.rule | tree | New |
stock_cycle_count_search_view |
stock.cycle.count.search | stock.cycle.count | search | New |
stock_cycle_count_tree_view |
stock.cycle.count.tree | stock.cycle.count | tree | New |
stock_location_accuracy |
stock_location_accuracy | ir.ui.view | qweb | New |
view_inventory_filter |
stock.inventory.filter - stock_cycle_count | stock.inventory | field | Inherits stock.view_inventory_filter |
view_inventory_form |
Inventory form view - cycle count extension | stock.inventory | field | Inherits stock.view_inventory_form |
view_inventory_graph |
stock.inventory.graph | stock.inventory | graph | New |
view_inventory_pivot |
stock.inventory.pivot | stock.inventory | graph | New |
view_inventory_tree |
Inventory tree view - cycle count extension | stock.inventory | field | Inherits stock.view_inventory_tree |
view_location_form |
Location form - cycle count extension | stock.location | xpath | Inherits stock.view_location_form |
view_warehouse_form |
Warehouse form - cycle count extension | stock.warehouse | notebook | Inherits stock.view_warehouse |
No new fields.
Public methods (1)render_html(self, data=None)
company_id
Many2one → res.company
comodel_name='res.company'
default=_company_get
readonly=True
required=True
string='Company'
cycle_count_rule_id
Many2one → stock.cycle.count.rule
comodel_name='stock.cycle.count.rule'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Cycle count rule'
track_visibility='onchange'
date_deadline
Date
readonly=True
states={'draft': [('readonly', False)]}
string='Required Date'
track_visibility='onchange'
inventory_adj_count
Integer
compute=_count_inventory_adj
location_id
Many2one → stock.location
comodel_name='stock.location'
readonly=True
required=True
states={'draft': [('readonly', False)]}
string='Location'
name
Char
readonly=True
string='Name'
responsible_id
Many2one → res.users
comodel_name='res.users'
readonly=True
states={'draft': [('readonly', False)]}
string='Assigned to'
track_visibility='onchange'
state
Selection
default='draft'
selection=[('draft', 'Planned'), ('open', 'Execution'), ('cancelled', 'Cancelled'), ('done', 'Done')]
string='State'
track_visibility='onchange'
stock_adjustment_ids
One2many → stock.inventory
comodel_name='stock.inventory'
inverse_name='cycle_count_id'
string='Inventory Adjustment'
track_visibility='onchange'
action_create_inventory_adjustment(self)
action_view_inventory(self)
create(self, vals)
do_cancel(self)
accuracy_threshold
Float
digits=(3, 2)
string='Minimum Accuracy Threshold'
active
Boolean
default=True
string='Active'
apply_in
Selection
default='warehouse'
selection=[('warehouse', 'Selected warehouses'), ('location', 'Selected Location Zones.')]
string='Apply this rule in:'
currency_id
Many2one → res.currency
comodel_name='res.currency'
compute=_compute_currency
string='Currency'
location_ids
Many2many → stock.location
column1='rule_id'
column2='location_id'
comodel_name='stock.location'
relation='location_cycle_count_rule_rel'
string='Zones where applied'
name
Char
required=True
args: 'Name'
periodic_count_period
Integer
string='Period in days'
periodic_qty_per_period
Integer
default=1
string='Counts per period'
rule_description
Char
compute=_get_rule_description
string='Rule Description'
rule_type
Selection
required=True
selection='_selection_rule_types'
string='Type of rule'
turnover_inventory_value_threshold
Float
string='Turnover Inventory Value Threshold'
warehouse_ids
Many2many → stock.warehouse
column1='rule_id'
column2='warehouse_id'
comodel_name='stock.warehouse'
relation='warehouse_cycle_count_rule_rel'
string='Warehouses where applied'
compute_rule(self, locs)
cycle_count_id
Many2one → stock.cycle.count
comodel_name='stock.cycle.count'
ondelete='cascade'
readonly=True
string='Stock Cycle Count'
inventory_accuracy
Float
compute=_compute_inventory_accuracy
digits=(3, 2)
group_operator='avg'
store=True
string='Accuracy'
action_done(self)
write(self, vals)
cycle_count_disabled
Boolean
default=False
help='Define whether the location is going to be cycle counted.'
string='Exclude from Cycle Count'
loc_accuracy
Float
compute=_compute_loc_accuracy
digits=(3, 2)
string='Inventory Accuracy'
qty_variance_inventory_threshold
Float
zero_confirmation_disabled
Boolean
default=False
help='Define whether this location will trigger a zero-confirmation validation when a rule for its warehouse is defined to perform zero-confirmations.'
string='Disable Zero Confirmations'
action_accuracy_stats(self)
check_zero_confirmation(self)
create_zero_confirmation_cycle_count(self)
No new fields.
Public methods (1)action_done(self)
counts_for_accuracy_qty
Integer
default=1
help='Number of latest inventories used to calculate location accuracy'
string='Inventories for location accuracy calculation'
cycle_count_planning_horizon
Integer
help='Cycle Count planning horizon in days. Only the counts inside the horizon will be created.'
string='Cycle Count Planning Horizon (in days)'
cycle_count_rule_ids
Many2many → stock.cycle.count.rule
column1='warehouse_id'
column2='rule_id'
comodel_name='stock.cycle.count.rule'
relation='warehouse_cycle_count_rule_rel'
string='Cycle Count Rules'
action_compute_cycle_count_rules(self)
cron_cycle_count(self)
get_horizon_date(self)
| STATUS | |
|---|---|
| STATUS | Open migration PR - not merged yet for this version |
| REPOSITORY | |
| REPOSITORY | OCA/stock-logistics-warehouse |
| PULL REQUEST | |
| PULL REQUEST | [17.0][MIG] stock_cycle_count: Migration to 17.0 (#2475) |