Stock Inventory Discrepancy

stock_inventory_discrepancy
REPOSITORY
REPOSITORYOCA/stock-logistics-warehouse
GIT
GIThttps://github.com/OCA/stock-logistics-warehouse.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-warehouse/tree/18.0/stock_inventory_discrepancy
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYWarehouse
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow
COMMITTERS
COMMITTERSCarlos Lopez, Weblate, OCA-git-bot, oca-ci, Arnau
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:06
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Adds the capability to show the discrepancy of every line in an
inventory and to block the inventory validation (setting it as 'Pending
to Approve') when the discrepancy is greater than an user defined
threshold.

Only new group "Validate All inventory Adjustments" will be able to
force the validation of those blocked inventories. By default, Stock
manager will belong to this group. In addition, Stock Users can validate
inventories under the threshold now.

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
confirm_discrepancy_wizard confirm.discrepancy.wiz.form confirm.discrepancy.wiz form New
quant_search_last_has_over_discrepancy stock.quant.last_has_over_discrepancy.search stock.quant filter Inherits stock.quant_search_view
stock_quant_confirm_discrepancy stock.quant button Inherits stock.view_stock_quant_tree_inventory_editable
view_location_form Location form - cycle count extension stock.location xpath Inherits stock.view_location_form
view_stock_config_settings res.config.settings - inventory_discrepancy res.config.settings xpath Inherits stock.res_config_settings_view_form
view_stock_quant_tree_inventory_editable stock.quant button Inherits stock.view_stock_quant_tree_inventory_editable
view_warehouse Warehouse form - Inventory Discrepancy extension stock.warehouse field Inherits stock.view_warehouse
Models touched (6)

New fields (1)
  • discrepancy_quant_ids Many2many → stock.quant
    comodel_name='stock.quant' default=_default_discrepancy_quant_ids readonly=True
Public methods (1)
  • button_apply(self)

New fields (1)
  • inventory_discrepancy_enable Boolean
    help='Block validation of the inventory adjustment if discrepancy exceeds the threshold.' string='Inventory Discrepancy Control'
Public methods (0)

No public methods.

New fields (1)
  • inventory_discrepancy_enable Boolean
    help='Block validation of the inventory adjustment if discrepancy exceeds the threshold.' readonly=False related='company_id.inventory_discrepancy_enable' string='Inventory Discrepancy Control'
Public methods (0)

No public methods.

New fields (2)
  • discrepancy_threshold Float
    digits=(3, 2) help="Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Thresholds defined in Locations have preference over Warehouse's ones." string='Maximum Discrepancy Rate Threshold'
  • propagate_discrepancy_threshold Boolean
    help='Propagate Maximum Discrepancy Rate Threshold to child locations' string='Propagate discrepancy threshold'
Public methods (1)
  • write(self, values)

New fields (3)
  • discrepancy_percent Float
    aggregator='avg' compute='_compute_discrepancy' compute_sudo=True digits=(3, 2) help='The discrepancy expressed in percent with theoretical quantity as basis' store=True string='Discrepancy percent (%)'
  • discrepancy_threshold Float
    compute='_compute_discrepancy_threshold' digits=(3, 2) help='Maximum Discrepancy Rate Threshold' string='Threshold (%)'
  • has_over_discrepancy Boolean
    compute='_compute_has_over_discrepancy' search='_search_has_over_discrepancy'
Public methods (1)
  • action_apply_inventory(self)

New fields (1)
  • discrepancy_threshold Float
    digits=(3, 2) help='Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Threshold defined in involved Location has preference.' string='Maximum Discrepancy Rate Threshold'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/stock-logistics-warehouse
GIT
GIThttps://github.com/OCA/stock-logistics-warehouse.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-warehouse/tree/17.0/stock_inventory_discrepancy
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYWarehouse
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow
COMMITTERS
COMMITTERSAaronHForgeFlow, Weblate, OCA-git-bot, oca-ci, JasminSForgeFlow
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:00
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Adds the capability to show the discrepancy of every line in an
inventory and to block the inventory validation (setting it as 'Pending
to Approve') when the discrepancy is greater than an user defined
threshold.

Only new group "Validate All inventory Adjustments" will be able to
force the validation of those blocked inventories. By default, Stock
manager will belong to this group. In addition, Stock Users can validate
inventories under the threshold now.

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
confirm_discrepancy_wizard confirm.discrepancy.wiz.form confirm.discrepancy.wiz form New
quant_search_last_has_over_discrepancy stock.quant.last_has_over_discrepancy.search stock.quant field Inherits stock.quant_search_view
stock_quant_confirm_discrepancy stock.quant button Inherits stock.view_stock_quant_tree_inventory_editable
view_location_form Location form - cycle count extension stock.location field Inherits stock.view_location_form
view_stock_quant_tree_inventory_editable stock.quant button Inherits stock.view_stock_quant_tree_inventory_editable
view_warehouse Warehouse form - Inventory Discrepancy extension stock.warehouse field Inherits stock.view_warehouse
Models touched (4)

New fields (1)
  • discrepancy_quant_ids Many2many → stock.quant
    comodel_name='stock.quant' default=_default_discrepancy_quant_ids readonly=True
Public methods (1)
  • button_apply(self)

New fields (2)
  • discrepancy_threshold Float
    digits=(3, 2) help="Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Thresholds defined in Locations have preference over Warehouse's ones." string='Maximum Discrepancy Rate Threshold'
  • propagate_discrepancy_threshold Boolean
    help='Propagate Maximum Discrepancy Rate Threshold to child locations' string='Propagate discrepancy threshold'
Public methods (1)
  • write(self, values)

New fields (3)
  • discrepancy_percent Float
    compute='_compute_discrepancy' compute_sudo=True digits=(3, 2) group_operator='avg' help='The discrepancy expressed in percent with theoretical quantity as basis' store=True string='Discrepancy percent (%)'
  • discrepancy_threshold Float
    compute='_compute_discrepancy_threshold' digits=(3, 2) help='Maximum Discrepancy Rate Threshold' string='Threshold (%)'
  • has_over_discrepancy Boolean
    compute='_compute_has_over_discrepancy' search='_search_has_over_discrepancy'
Public methods (1)
  • action_apply_inventory(self)

New fields (1)
  • discrepancy_threshold Float
    digits=(3, 2) help='Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Threshold defined in involved Location has preference.' string='Maximum Discrepancy Rate Threshold'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/stock-logistics-warehouse
GIT
GIThttps://github.com/OCA/stock-logistics-warehouse.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-warehouse/tree/16.0/stock_inventory_discrepancy
VERSION
VERSION 2.1.1
CATEGORY
CATEGORYWarehouse
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow
COMMITTERS
COMMITTERSAaronHForgeFlow, Weblate, OCA-git-bot, Tom, oca-ci, Eduardo de Miguel, Aungkokolin1997, Carolina Fernandez, CristianoMafraJunior
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:44
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
confirm_discrepancy_wizard confirm.discrepancy.wiz.form confirm.discrepancy.wiz form New
quant_search_last_has_over_discrepancy stock.quant.last_has_over_discrepancy.search stock.quant field Inherits stock.quant_search_view
stock_quant_confirm_discrepancy stock.quant button Inherits stock.view_stock_quant_tree_inventory_editable
view_location_form Location form - cycle count extension stock.location xpath Inherits stock.view_location_form
view_stock_config_settings res.config.settings - inventory_discrepancy res.config.settings xpath Inherits stock.res_config_settings_view_form
view_stock_quant_tree_inventory_editable stock.quant button Inherits stock.view_stock_quant_tree_inventory_editable
view_warehouse Warehouse form - Inventory Discrepancy extension stock.warehouse field Inherits stock.view_warehouse
Models touched (6)

New fields (1)
  • discrepancy_quant_ids Many2many → stock.quant
    comodel_name='stock.quant' default=_default_discrepancy_quant_ids readonly=True
Public methods (1)
  • button_apply(self)

New fields (1)
  • inventory_discrepancy_enable Boolean
    help='Block validation of the inventory adjustment if discrepancy exceeds the threshold.' string='Inventory Discrepancy Control'
Public methods (0)

No public methods.

New fields (1)
  • inventory_discrepancy_enable Boolean
    help='Block validation of the inventory adjustment if discrepancy exceeds the threshold.' readonly=False related='company_id.inventory_discrepancy_enable' string='Inventory Discrepancy Control'
Public methods (0)

No public methods.

New fields (2)
  • discrepancy_threshold Float
    digits=(3, 2) help="Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Thresholds defined in Locations have preference over Warehouse's ones." string='Maximum Discrepancy Rate Threshold'
  • propagate_discrepancy_threshold Boolean
    help='Propagate Maximum Discrepancy Rate Threshold to child locations' string='Propagate discrepancy threshold'
Public methods (1)
  • write(self, values)

New fields (3)
  • discrepancy_percent Float
    compute='_compute_discrepancy' compute_sudo=True digits=(3, 2) group_operator='avg' help='The discrepancy expressed in percent with theoretical quantity as basis' store=True string='Discrepancy percent (%)'
  • discrepancy_threshold Float
    compute='_compute_discrepancy_threshold' digits=(3, 2) help='Maximum Discrepancy Rate Threshold' string='Threshold (%)'
  • has_over_discrepancy Boolean
    compute='_compute_has_over_discrepancy' search='_search_has_over_discrepancy'
Public methods (2)
  • action_apply_inventory(self)
  • user_has_groups(self, groups)

New fields (1)
  • discrepancy_threshold Float
    digits=(3, 2) help='Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Threshold defined in involved Location has preference.' string='Maximum Discrepancy Rate Threshold'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/stock-logistics-warehouse
GIT
GIThttps://github.com/OCA/stock-logistics-warehouse.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-warehouse/tree/15.0/stock_inventory_discrepancy
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYWarehouse
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow
COMMITTERS
COMMITTERSPedro M. Baeza, Ernesto Tejeda, AaronHForgeFlow, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:33
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
confirm_discrepancy_wizard confirm.discrepancy.wiz.form confirm.discrepancy.wiz form New
quant_search_last_has_over_discrepancy stock.quant.last_has_over_discrepancy.search stock.quant field Inherits stock.quant_search_view
stock_quant_confirm_discrepancy stock.quant button Inherits stock.view_stock_quant_tree_inventory_editable
view_location_form Location form - cycle count extension stock.location field Inherits stock.view_location_form
view_stock_quant_tree_inventory_editable stock.quant button Inherits stock.view_stock_quant_tree_inventory_editable
view_warehouse Warehouse form - Inventory Discrepancy extension stock.warehouse field Inherits stock.view_warehouse
Models touched (4)

New fields (1)
  • discrepancy_quant_ids Many2many → stock.quant
    comodel_name='stock.quant' default=_default_discrepancy_quant_ids readonly=True
Public methods (1)
  • button_apply(self)

New fields (2)
  • discrepancy_threshold Float
    digits=(3, 2) help="Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Thresholds defined in Locations have preference over Warehouse's ones." string='Maximum Discrepancy Rate Threshold'
  • propagate_discrepancy_threshold Boolean
    help='Propagate Maximum Discrepancy Rate Threshold to child locations' string='Propagate discrepancy threshold'
Public methods (1)
  • write(self, values)

New fields (3)
  • discrepancy_percent Float
    compute='_compute_discrepancy' compute_sudo=True digits=(3, 2) group_operator='avg' help='The discrepancy expressed in percent with theoretical quantity as basis' store=True string='Discrepancy percent (%)'
  • discrepancy_threshold Float
    compute='_compute_discrepancy_threshold' digits=(3, 2) help='Maximum Discrepancy Rate Threshold' string='Threshold (%)'
  • has_over_discrepancy Boolean
    compute='_compute_has_over_discrepancy' search='_search_has_over_discrepancy'
Public methods (1)
  • action_apply_inventory(self)

New fields (1)
  • discrepancy_threshold Float
    digits=(3, 2) help='Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Threshold defined in involved Location has preference.' string='Maximum Discrepancy Rate Threshold'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/stock-logistics-warehouse
GIT
GIThttps://github.com/OCA/stock-logistics-warehouse.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-warehouse/tree/14.0/stock_inventory_discrepancy
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYWarehouse
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow
COMMITTERS
COMMITTERSDaniel Reis, oca-travis, Weblate, OCA-git-bot, Don Kendall, Mateu Griful
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
stock_assets_backend stock_inventory assets ir.ui.view qweb Inherits web.assets_backend
stock_inventory_line_tree2 stock.inventory.line.tree2 stock.inventory.line field Inherits stock.stock_inventory_line_tree
view_inventory_form Inventory form view - discrepancy extension stock.inventory field Inherits stock.view_inventory_form
view_location_form Location form - cycle count extension stock.location field Inherits stock.view_location_form
view_warehouse Warehouse form - Inventory Discrepancy extension stock.warehouse field Inherits stock.view_warehouse
Models touched (4)

New fields (2)
  • over_discrepancy_line_count Integer
    compute='_compute_over_discrepancy_line_count' store=True string='Number of Discrepancies Over Threshold'
  • state Selection
    copy=False help="States of the Inventory Adjustment:\n- Draft: Inventory not started.\n- In Progress: Inventory in execution.\n- Pending to Approve: Inventory have some discrepancies greater than the predefined threshold and it's waiting for the Control Manager approval.\n- Validated: Inventory Approved." index=True readonly=True selection_add=[('pending', 'Pending to Approve'), ('done')] string='Status'
Public methods (2)
  • action_force_done(self)
  • action_over_discrepancies(self)

New fields (4)
  • discrepancy_percent Float
    compute='_compute_discrepancy' compute_sudo=True digits=(3, 2) group_operator='avg' help='The discrepancy expressed in percent with theoretical quantity as basis' store=True string='Discrepancy percent (%)'
  • discrepancy_qty Float
    compute='_compute_discrepancy' compute_sudo=True default=0 digits='Product Unit of Measure' help='The difference between the actual qty counted and the theoretical quantity on hand.' string='Discrepancy'
  • discrepancy_threshold Float
    compute='_compute_discrepancy_threshold' digits=(3, 2) help='Maximum Discrepancy Rate Threshold' string='Threshold (%)'
  • has_over_discrepancy Boolean
    compute='_compute_has_over_discrepancy'
Public methods (0)

No public methods.

New fields (2)
  • discrepancy_threshold Float
    digits=(3, 2) help="Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Thresholds defined in Locations have preference over Warehouse's ones." string='Maximum Discrepancy Rate Threshold'
  • propagate_discrepancy_threshold Boolean
    help='Propagate Maximum Discrepancy Rate Threshold to child locations' string='Propagate discrepancy threshold'
Public methods (1)
  • write(self, values)

New fields (1)
  • discrepancy_threshold Float
    digits=(3, 2) help='Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Threshold defined in involved Location has preference.' string='Maximum Discrepancy Rate Threshold'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/stock-logistics-warehouse
GIT
GIThttps://github.com/OCA/stock-logistics-warehouse.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-warehouse/tree/13.0/stock_inventory_discrepancy
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYWarehouse
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow
COMMITTERS
COMMITTERSPedro M. Baeza, mreficent, Lois Rilo, OCA Transbot, oca-travis, Weblate, OCA-git-bot, hveficent
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:12
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
stock_assets_backend stock_inventory assets ir.ui.view qweb Inherits web.assets_backend
stock_inventory_line_tree2 stock.inventory.line.tree2 stock.inventory.line field Inherits stock.stock_inventory_line_tree2
view_inventory_form Inventory form view - discrepancy extension stock.inventory field Inherits stock.view_inventory_form
view_location_form Location form - cycle count extension stock.location field Inherits stock.view_location_form
view_warehouse Warehouse form - Inventory Discrepancy extension stock.warehouse field Inherits stock.view_warehouse
Models touched (4)

New fields (2)
  • over_discrepancy_line_count Integer
    compute='_compute_over_discrepancy_line_count' store=True string='Number of Discrepancies Over Threshold'
  • state Selection
    copy=False help="States of the Inventory Adjustment:\n- Draft: Inventory not started.\n- In Progress: Inventory in execution.\n- Pending to Approve: Inventory have some discrepancies greater than the predefined threshold and it's waiting for the Control Manager approval.\n- Validated: Inventory Approved." index=True readonly=True selection_add=[('pending', 'Pending to Approve'), ('done')] string='Status'
Public methods (2)
  • action_force_done(self)
  • action_over_discrepancies(self)

New fields (4)
  • discrepancy_percent Float
    compute='_compute_discrepancy' digits=(3, 2) help='The discrepancy expressed in percent with theoretical quantity as basis' string='Discrepancy percent (%)'
  • discrepancy_qty Float
    compute='_compute_discrepancy' default=0 digits='Product Unit of Measure' help='The difference between the actual qty counted and the theoretical quantity on hand.' string='Discrepancy'
  • discrepancy_threshold Float
    compute='_compute_discrepancy_threshold' digits=(3, 2) help='Maximum Discrepancy Rate Threshold' string='Threshold (%)'
  • has_over_discrepancy Boolean
    compute='_compute_has_over_discrepancy'
Public methods (0)

No public methods.

New fields (2)
  • discrepancy_threshold Float
    digits=(3, 2) help="Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Thresholds defined in Locations have preference over Warehouse's ones." string='Maximum Discrepancy Rate Threshold'
  • propagate_discrepancy_threshold Boolean
    help='Propagate Maximum Discrepancy Rate Threshold to child locations' string='Propagate discrepancy threshold'
Public methods (1)
  • write(self, values)

New fields (1)
  • discrepancy_threshold Float
    digits=(3, 2) help='Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Threshold defined in involved Location has preference.' string='Maximum Discrepancy Rate Threshold'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/stock-logistics-warehouse
GIT
GIThttps://github.com/OCA/stock-logistics-warehouse.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-warehouse/tree/12.0/stock_inventory_discrepancy
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYWarehouse
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Eficent
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Eficent
COMMITTERS
COMMITTERSmreficent, Lois Rilo, OCA Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_inventory_form Inventory form view - discrepancy extension stock.inventory field Inherits stock.view_inventory_form
view_location_form Location form - cycle count extension stock.location field Inherits stock.view_location_form
view_warehouse_form Warehouse form - Inventory Discrepancy extension stock.warehouse field Inherits stock.view_warehouse
Models touched (4)

New fields (2)
  • over_discrepancy_line_count Integer
    compute='_compute_over_discrepancy_line_count' store=True string='Number of Discrepancies Over Threshold'
  • state Selection
    copy=False help="States of the Inventory Adjustment:\n- Draft: Inventory not started.\n- In Progress: Inventory in execution.\n- Pending to Approve: Inventory have some discrepancies greater than the predefined threshold and it's waiting for the Control Manager approval.\n- Validated: Inventory Approved." index=True readonly=True selection=INVENTORY_STATE_SELECTION string='Status'
Public methods (2)
  • action_force_done(self)
    @api.multi
  • action_over_discrepancies(self)
    @api.multi

New fields (4)
  • discrepancy_percent Float
    compute='_compute_discrepancy' digits=(3, 2) help='The discrepancy expressed in percent with theoretical quantity as basis' string='Discrepancy percent (%)'
  • discrepancy_qty Float
    compute='_compute_discrepancy' default=0 digits=dp.get_precision('Product Unit of Measure') help='The difference between the actual qty counted and the theoretical quantity on hand.' string='Discrepancy'
  • discrepancy_threshold Float
    compute='_compute_discrepancy_threshold' digits=(3, 2) help='Maximum Discrepancy Rate Threshold' string='Threshold (%)'
  • has_over_discrepancy Boolean
    compute='_compute_has_over_discrepancy'
Public methods (0)

No public methods.

New fields (1)
  • discrepancy_threshold Float
    digits=(3, 2) help="Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Thresholds defined in Locations have preference over Warehouse's ones." string='Maximum Discrepancy Rate Threshold'
Public methods (0)

No public methods.

New fields (1)
  • discrepancy_threshold Float
    digits=(3, 2) help='Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Threshold defined in involved Location has preference.' string='Maximum Discrepancy Rate Threshold'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/stock-logistics-warehouse
GIT
GIThttps://github.com/OCA/stock-logistics-warehouse.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-warehouse/tree/11.0/stock_inventory_discrepancy
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYWarehouse Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Eficent
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Eficent
COMMITTERS
COMMITTERSoca-travis, Weblate, OCA-git-bot, andreas, Juan Humanes
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:23:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - barcodes
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_inventory_form Inventory form view - discrepancy extension stock.inventory field Inherits stock.view_inventory_form
view_location_form Location form - cycle count extension stock.location field Inherits stock.view_location_form
view_warehouse_form Warehouse form - Inventory Discrepancy extension stock.warehouse field Inherits stock.view_warehouse
Models touched (4)

New fields (2)
  • over_discrepancy_line_count Integer
    compute='_compute_over_discrepancy_line_count' store=True string='Number of Discrepancies Over Threshold'
  • state Selection
    copy=False help="States of the Inventory Adjustment:\n- Draft: Inventory not started.\n- In Progress: Inventory in execution.\n- Pending to Approve: Inventory have some discrepancies greater than the predefined threshold and it's waiting for the Control Manager approval.\n- Validated: Inventory Approved." index=True readonly=True selection=INVENTORY_STATE_SELECTION string='Status'
Public methods (3)
  • action_done(self)
  • action_force_done(self)
    @api.multi
  • action_over_discrepancies(self)
    @api.multi

New fields (3)
  • discrepancy_percent Float
    compute='_compute_discrepancy' digits=(3, 2) help='The discrepancy expressed in percent with theoretical quantity as basis' string='Discrepancy percent (%)'
  • discrepancy_qty Float
    compute='_compute_discrepancy' default=0 digits=dp.get_precision('Product Unit of Measure') help='The difference between the actual qty counted and the theoretical quantity on hand.' string='Discrepancy'
  • discrepancy_threshold Float
    compute='_compute_discrepancy_threshold' digits=(3, 2) help='Maximum Discrepancy Rate Threshold' string='Threshold (%)'
Public methods (0)

No public methods.

New fields (1)
  • discrepancy_threshold Float
    digits=(3, 2) help="Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Thresholds defined in Locations have preference over Warehouse's ones." string='Maximum Discrepancy Rate Threshold'
Public methods (0)

No public methods.

New fields (1)
  • discrepancy_threshold Float
    digits=(3, 2) help='Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Threshold defined in involved Location has preference.' string='Maximum Discrepancy Rate Threshold'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/stock-logistics-warehouse
GIT
GIThttps://github.com/OCA/stock-logistics-warehouse.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-warehouse/tree/10.0/stock_inventory_discrepancy
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYWarehouse Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Eficent
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Eficent
COMMITTERS
COMMITTERSAlexandre Fayolle, Denis Roussel, Jordi Ballester Alomar, OCA Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
    - report
    - procurement
    - barcodes
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_inventory_form Inventory form view - discrepancy extension stock.inventory field Inherits stock.view_inventory_form
view_location_form Location form - cycle count extension stock.location field Inherits stock.view_location_form
view_warehouse_form Warehouse form - Inventory Discrepancy extension stock.warehouse field Inherits stock.view_warehouse
Models touched (4)

New fields (2)
  • over_discrepancy_line_count Integer
    compute=_compute_over_discrepancy_line_count store=True string='Number of Discrepancies Over Threshold'
  • state Selection
    copy=False help="States of the Inventory Adjustment:\n- Draft: Inventory not started.\n- In Progress: Inventory in execution.\n- Pending to Approve: Inventory have some discrepancies greater than the predefined threshold and it's waiting for the Control Manager approval.\n- Validated: Inventory Approved." index=True readonly=True selection=INVENTORY_STATE_SELECTION string='Status'
Public methods (3)
  • action_done(self)
    @api.multi
  • action_force_done(self)
    @api.multi
  • action_over_discrepancies(self)
    @api.model

New fields (3)
  • discrepancy_percent Float
    compute=_compute_discrepancy digits=(3, 2) help='The discrepancy expressed in percent with theoretical quantity as basis' string='Discrepancy percent (%)'
  • discrepancy_qty Float
    compute=_compute_discrepancy help='The difference between the actual qty counted and the theoretical quantity on hand.' string='Discrepancy'
  • discrepancy_threshold Float
    compute=_compute_discrepancy_threshold digits=(3, 2) help='Maximum Discrepancy Rate Threshold' string='Threshold (%)'
Public methods (0)

No public methods.

New fields (1)
  • discrepancy_threshold Float
    digits=(3, 2) help="Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Thresholds defined in Locations have preference over Warehouse's ones." string='Maximum Discrepancy Rate Threshold'
Public methods (0)

No public methods.

New fields (1)
  • discrepancy_threshold Float
    digits=(3, 2) help='Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Threshold defined in involved Location has preference.' string='Maximum Discrepancy Rate Threshold'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/stock-logistics-warehouse
GIT
GIThttps://github.com/OCA/stock-logistics-warehouse.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-warehouse/tree/9.0/stock_inventory_discrepancy
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYWarehouse Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Eficent
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Eficent
COMMITTERS
COMMITTERSAlexandre Fayolle, Denis Roussel, Jordi Ballester Alomar, OCA Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - report
    - procurement
    - barcodes
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_inventory_form Inventory form view - discrepancy extension stock.inventory field Inherits stock.view_inventory_form
view_location_form Location form - cycle count extension stock.location field Inherits stock.view_location_form
view_warehouse_form Warehouse form - Inventory Discrepancy extension stock.warehouse field Inherits stock.view_warehouse
Models touched (4)

New fields (2)
  • over_discrepancy_line_count Integer
    compute=_compute_over_discrepancy_line_count store=True string='Number of Discrepancies Over Threshold'
  • state Selection
    copy=False help="States of the Inventory Adjustment:\n- Draft: Inventory not started.\n- In Progress: Inventory in execution.\n- Pending to Approve: Inventory have some discrepancies greater than the predefined threshold and it's waiting for the Control Manager approval.\n- Validated: Inventory Approved." index=True readonly=True selection=INVENTORY_STATE_SELECTION string='Status'
Public methods (3)
  • action_done(self)
    @api.multi
  • action_force_done(self)
    @api.multi
  • action_over_discrepancies(self)
    @api.model

New fields (3)
  • discrepancy_percent Float
    compute=_compute_discrepancy digits=(3, 2) help='The discrepancy expressed in percent with theoretical quantity as basis' string='Discrepancy percent (%)'
  • discrepancy_qty Float
    compute=_compute_discrepancy help='The difference between the actual qty counted and the theoretical quantity on hand.' string='Discrepancy'
  • discrepancy_threshold Float
    compute=_get_discrepancy_threshold digits=(3, 2) help='Maximum Discrepancy Rate Threshold' string='Threshold (%)'
Public methods (0)

No public methods.

New fields (1)
  • discrepancy_threshold Float
    digits=(3, 2) help="Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Thresholds defined in Locations have preference over Warehouse's ones." string='Maximum Discrepancy Rate Threshold'
Public methods (0)

No public methods.

New fields (1)
  • discrepancy_threshold Float
    digits=(3, 2) help='Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Threshold defined in involved Location has preference.' string='Maximum Discrepancy Rate Threshold'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/stock-logistics-warehouse
GIT
GIThttps://github.com/OCA/stock-logistics-warehouse.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-warehouse/tree/8.0/stock_inventory_discrepancy
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYWarehouse Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Eficent
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Eficent
COMMITTERS
COMMITTERSLois Rilo, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:21
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - report
    - procurement
    - board
    - web_kanban_gauge
    - web_kanban_sparkline
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_inventory_form Inventory form view - discrepancy extension stock.inventory field Inherits stock.view_inventory_form
view_location_form Location form - cycle count extension stock.location field Inherits stock.view_location_form
view_warehouse_form Warehouse form - Inventory Discrepancy extension stock.warehouse field Inherits stock.view_warehouse
Models touched (4)

New fields (2)
  • over_discrepancy_line_count Integer
    compute=_compute_over_discrepancy_line_count store=True string='Number of Discrepancies Over Threshold'
  • state Selection
    copy=False help="States of the Inventory Adjustment:\n- Draft: Inventory not started.\n- In Progress: Inventory in execution.\n- Pending to Approve: Inventory have some discrepancies greater than the predefined threshold and it's waiting for the Control Manager approval.\n- Validated: Inventory Approved." index=True readonly=True selection=INVENTORY_STATE_SELECTION string='Status'
Public methods (3)
  • action_done(self)
    @api.multi
  • action_force_done(self)
    @api.multi
  • action_over_discrepancies(self)

New fields (3)
  • discrepancy_percent Float
    compute=_compute_discrepancy digits=(3, 2) help='The discrepancy expressed in percent with theoretical quantity as basis' string='Discrepancy percent (%)'
  • discrepancy_qty Float
    compute=_compute_discrepancy help='The difference between the actual qty counted and the theoretical quantity on hand.' string='Discrepancy'
  • discrepancy_threshold Float
    compute=_get_discrepancy_threshold digits=(3, 2) help='Maximum Discrepancy Rate Threshold' string='Threshold (%)'
Public methods (0)

No public methods.

New fields (1)
  • discrepancy_threshold Float
    digits=(3, 2) help="Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Thresholds defined in Locations have preference over Warehouse's ones." string='Maximum Discrepancy Rate Threshold'
Public methods (0)

No public methods.

New fields (1)
  • discrepancy_threshold Float
    digits=(3, 2) help='Maximum Discrepancy Rate allowed for any product when doing an Inventory Adjustment. Threshold defined in involved Location has preference.' string='Maximum Discrepancy Rate Threshold'
Public methods (0)

No public methods.

STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/stock-logistics-warehouse
PULL REQUEST
PULL REQUEST[19.0][MIG] stock_inventory_discrepancy (#2481)