Stock Inventory Adjustment

stock_inventory
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/19.0/stock_inventory
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYInventory/Inventory
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSDavidJForgeFlow
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, JasminSForgeFlow
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:46
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
    - http_routing
    - auth_signup
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows to group Inventory Adjustments and have a group
traceability (like before Odoo 15.0).

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
res_config_settings_view_form res_config_settings_view_form - stock_inventory res.config.settings xpath Inherits stock.res_config_settings_view_form
stock_inventory_search_view stock.inventory search New
view_inventory_group_form stock.inventory.form.view stock.inventory form New
view_inventory_group_tree stock.inventory.tree.view stock.inventory list New
view_stock_move_line_inventory_tree stock.move.line.tree.view.inventory stock.move.line list New
view_stock_quant_search_not_done stock.quant.search.not.done stock.quant filter Inherits stock.quant_search_view
Models touched (5)

New fields (1)
  • stock_inventory_auto_complete Boolean
    default=False help='If enabled, when all the quants prepared for the adjustment are done, the adjustment is automatically set to done.'
Public methods (0)

No public methods.

New fields (1)
  • stock_inventory_auto_complete Boolean
    readonly=False related='company_id.stock_inventory_auto_complete'
Public methods (0)

No public methods.

New fields (19)
  • action_state_to_cancel_allowed Boolean
    compute='_compute_action_state_to_cancel_allowed'
  • category_id Many2one → product.category
    readonly=True string='Product Category' args: 'product.category'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> index=True readonly=True required=True
  • count_stock_moves Integer
    compute='_compute_count_stock_moves' string='Stock Moves Lines'
  • count_stock_quants Integer
    compute='_compute_count_stock_quants' string='# Adjustments'
  • count_stock_quants_string Char
    compute='_compute_count_stock_quants' string='Adjustments'
  • date Datetime
    default=<expr> readonly=True
  • exclude_sublocation Boolean
    help='If enabled, it will only take into account the locations selected, and not their children.'
  • location_ids Many2many → stock.location
    domain="[('usage', '=', 'internal'), '|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True string='Locations' args: 'stock.location'
  • lot_ids Many2many → stock.lot
    domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True string='Lot/Serial Numbers' args: 'stock.lot'
  • name Char
    default='Inventory' readonly=True required=True string='Inventory Reference'
  • owner_id Many2one → res.partner
    help='This is the owner of the inventory adjustment' readonly=True args: 'res.partner', 'Owner'
  • product_ids Many2many → product.product
    domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True string='Products' args: 'product.product'
  • product_selection Selection
    default='all' readonly=True required=True args: [('all', 'All Products'), ('manual', 'Manual Selection'), ('category', 'Product Category'), ('one', 'One Product'), ('lot', 'Lot/Serial Number')]
  • products_under_review_ids Many2many → product.product
    comodel_name='product.product' compute='_compute_products_under_review_ids' relation='stock_inventory_product_review_rel' search='_search_products_under_review_ids' string='Products Under Review'
  • responsible_id Many2one → res.users
    comodel_name='res.users' help='Specific responsible of Inventory Adjustment.' readonly=True string='Assigned to'
  • state Selection
    default='draft' tracking=True args: [('draft', 'Draft'), ('in_progress', 'In Progress'), ('done', 'Done'), ('cancel', 'Cancelled')]
  • stock_move_ids One2many → stock.move.line
    readonly=True string='Inventory Adjustments Done' args: 'stock.move.line', 'inventory_adjustment_id'
  • stock_quant_ids Many2many → stock.quant
    domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True string='Inventory Adjustment' args: 'stock.quant'
Public methods (9)
  • action_auto_state_to_done(self)
  • action_state_to_cancel(self)
  • action_state_to_done(self)
  • action_state_to_draft(self)
  • action_state_to_in_progress(self)
  • action_view_inventory_adjustment(self)
  • action_view_stock_moves(self)
  • refresh_stock_quant_ids(self)
  • unlink(self)

New fields (1)
  • inventory_adjustment_id Many2one → stock.inventory
    index=True ondelete='restrict' args: 'stock.inventory'
Public methods (0)

No public methods.

New fields (3)
  • current_inventory_id Many2one → stock.inventory
    store=True string='Current Inventory' args: 'stock.inventory'
  • stock_inventory_ids Many2many → stock.inventory
    copy=False string='Stock Inventories' args: 'stock.inventory', 'stock_inventory_stock_quant_rel'
  • to_do Boolean
    default=False
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi
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
VERSION
VERSION 1.1.2
CATEGORY
CATEGORYInventory/Inventory
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSDavidJForgeFlow
COMMITTERS
COMMITTERSLois Rilo, Weblate, OCA-git-bot, oca-ci, Arnau, rjaraspearhead
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
This module allows to group Inventory Adjustments and have a group
traceability (like before Odoo 15.0).

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
res_config_settings_view_form res_config_settings_view_form - stock_inventory res.config.settings xpath Inherits stock.res_config_settings_view_form
stock_inventory_search_view stock.inventory search New
view_inventory_group_form stock.inventory.form.view stock.inventory form New
view_inventory_group_tree stock.inventory.tree.view stock.inventory list New
view_stock_move_line_inventory_tree stock.move.line.tree.view.inventory stock.move.line list New
view_stock_quant_search_not_done stock.quant.search.not.done stock.quant filter Inherits stock.quant_search_view
Models touched (5)

New fields (1)
  • stock_inventory_auto_complete Boolean
    default=False help='If enabled, when all the quants prepared for the adjustment are done, the adjustment is automatically set to done.'
Public methods (0)

No public methods.

New fields (1)
  • stock_inventory_auto_complete Boolean
    readonly=False related='company_id.stock_inventory_auto_complete'
Public methods (0)

No public methods.

New fields (19)
  • action_state_to_cancel_allowed Boolean
    compute='_compute_action_state_to_cancel_allowed'
  • category_id Many2one → product.category
    readonly=True string='Product Category' args: 'product.category'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> index=True readonly=True required=True
  • count_stock_moves Integer
    compute='_compute_count_stock_moves' string='Stock Moves Lines'
  • count_stock_quants Integer
    compute='_compute_count_stock_quants' string='# Adjustments'
  • count_stock_quants_string Char
    compute='_compute_count_stock_quants' string='Adjustments'
  • date Datetime
    default=<expr> readonly=True
  • exclude_sublocation Boolean
    help='If enabled, it will only take into account the locations selected, and not their children.'
  • location_ids Many2many → stock.location
    domain="[('usage', '=', 'internal'), '|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True string='Locations' args: 'stock.location'
  • lot_ids Many2many → stock.lot
    domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True string='Lot/Serial Numbers' args: 'stock.lot'
  • name Char
    default='Inventory' readonly=True required=True string='Inventory Reference'
  • owner_id Many2one → res.partner
    help='This is the owner of the inventory adjustment' readonly=True args: 'res.partner', 'Owner'
  • product_ids Many2many → product.product
    domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True string='Products' args: 'product.product'
  • product_selection Selection
    default='all' readonly=True required=True args: [('all', 'All Products'), ('manual', 'Manual Selection'), ('category', 'Product Category'), ('one', 'One Product'), ('lot', 'Lot/Serial Number')]
  • products_under_review_ids Many2many → product.product
    comodel_name='product.product' compute='_compute_products_under_review_ids' relation='stock_inventory_product_review_rel' search='_search_products_under_review_ids' string='Products Under Review'
  • responsible_id Many2one → res.users
    comodel_name='res.users' help='Specific responsible of Inventory Adjustment.' readonly=True string='Assigned to'
  • state Selection
    default='draft' tracking=True args: [('draft', 'Draft'), ('in_progress', 'In Progress'), ('done', 'Done'), ('cancel', 'Cancelled')]
  • stock_move_ids One2many → stock.move.line
    readonly=True string='Inventory Adjustments Done' args: 'stock.move.line', 'inventory_adjustment_id'
  • stock_quant_ids Many2many → stock.quant
    domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True string='Inventory Adjustment' args: 'stock.quant'
Public methods (9)
  • action_auto_state_to_done(self)
  • action_state_to_cancel(self)
  • action_state_to_done(self)
  • action_state_to_draft(self)
  • action_state_to_in_progress(self)
  • action_view_inventory_adjustment(self)
  • action_view_stock_moves(self)
  • refresh_stock_quant_ids(self)
  • unlink(self)

New fields (1)
  • inventory_adjustment_id Many2one → stock.inventory
    index=True ondelete='restrict' args: 'stock.inventory'
Public methods (0)

No public methods.

New fields (3)
  • current_inventory_id Many2one → stock.inventory
    store=True string='Current Inventory' args: 'stock.inventory'
  • stock_inventory_ids Many2many → stock.inventory
    copy=False string='Stock Inventories' args: 'stock.inventory', 'stock_inventory_stock_quant_rel'
  • to_do Boolean
    default=False
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi
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
VERSION
VERSION 1.3.0
CATEGORY
CATEGORYInventory/Inventory
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSDavidJForgeFlow
COMMITTERS
COMMITTERSLois Rilo, Ruchir Shukla, Weblate, OCA-git-bot, oca-ci, Joan Sisquella, FernandoRomera
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
This module allows to group Inventory Adjustments and have a group
traceability (like before Odoo 15.0).

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
res_config_settings_view_form res_config_settings_view_form - stock_inventory res.config.settings xpath Inherits stock.res_config_settings_view_form
stock_inventory_search_view stock.inventory search New
view_inventory_group_form stock.inventory.form.view stock.inventory form New
view_inventory_group_tree stock.inventory.tree.view stock.inventory tree New
view_stock_move_line_inventory_tree stock.move.line.tree.view.inventory stock.move.line tree New
view_stock_quant_search_not_done stock.quant.search.not.done stock.quant filter Inherits stock.quant_search_view
Models touched (5)

New fields (1)
  • stock_inventory_auto_complete Boolean
    default=False help='If enabled, when all the quants prepared for the adjustment are done, the adjustment is automatically set to done.'
Public methods (0)

No public methods.

New fields (1)
  • stock_inventory_auto_complete Boolean
    readonly=False related='company_id.stock_inventory_auto_complete'
Public methods (0)

No public methods.

New fields (19)
  • action_state_to_cancel_allowed Boolean
    compute='_compute_action_state_to_cancel_allowed'
  • category_id Many2one → product.category
    readonly=True string='Product Category' args: 'product.category'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> index=True readonly=True required=True
  • count_stock_moves Integer
    compute='_compute_count_stock_moves' string='Stock Moves Lines'
  • count_stock_quants Integer
    compute='_compute_count_stock_quants' string='# Adjustments'
  • count_stock_quants_string Char
    compute='_compute_count_stock_quants' string='Adjustments'
  • date Datetime
    default=<expr> readonly=True
  • exclude_sublocation Boolean
    help='If enabled, it will only take into account the locations selected, and not their children.'
  • location_ids Many2many → stock.location
    domain="[('usage', '=', 'internal'), '|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True string='Locations' args: 'stock.location'
  • lot_ids Many2many → stock.lot
    domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True string='Lot/Serial Numbers' args: 'stock.lot'
  • name Char
    default='Inventory' readonly=True required=True string='Inventory Reference'
  • owner_id Many2one → res.partner
    help='This is the owner of the inventory adjustment' readonly=True args: 'res.partner', 'Owner'
  • product_ids Many2many → product.product
    domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True string='Products' args: 'product.product'
  • product_selection Selection
    default='all' readonly=True required=True args: [('all', 'All Products'), ('manual', 'Manual Selection'), ('category', 'Product Category'), ('one', 'One Product'), ('lot', 'Lot/Serial Number')]
  • products_under_review_ids Many2many → product.product
    comodel_name='product.product' compute='_compute_products_under_review_ids' relation='stock_inventory_product_review_rel' search='_search_products_under_review_ids' string='Products Under Review'
  • responsible_id Many2one → res.users
    comodel_name='res.users' help='Specific responsible of Inventory Adjustment.' readonly=True string='Assigned to'
  • state Selection
    default='draft' tracking=True args: [('draft', 'Draft'), ('in_progress', 'In Progress'), ('done', 'Done'), ('cancel', 'Cancelled')]
  • stock_move_ids One2many → stock.move.line
    readonly=True string='Inventory Adjustments Done' args: 'stock.move.line', 'inventory_adjustment_id'
  • stock_quant_ids Many2many → stock.quant
    domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True string='Inventory Adjustment' args: 'stock.quant'
Public methods (9)
  • action_auto_state_to_done(self)
  • action_state_to_cancel(self)
  • action_state_to_done(self)
  • action_state_to_draft(self)
  • action_state_to_in_progress(self)
  • action_view_inventory_adjustment(self)
  • action_view_stock_moves(self)
  • refresh_stock_quant_ids(self)
  • unlink(self)

New fields (1)
  • inventory_adjustment_id Many2one → stock.inventory
    index=True ondelete='restrict' args: 'stock.inventory'
Public methods (0)

No public methods.

New fields (3)
  • current_inventory_id Many2one → stock.inventory
    store=True string='Current Inventory' args: 'stock.inventory'
  • stock_inventory_ids Many2many → stock.inventory
    copy=False string='Stock Inventories' args: 'stock.inventory', 'stock_inventory_stock_quant_rel'
  • to_do Boolean
    default=False
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi
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
VERSION
VERSION 3.0.0
CATEGORY
CATEGORYInventory/Inventory
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSDavidJForgeFlow
COMMITTERS
COMMITTERSDenis Roussel, Lois Rilo, AaronHForgeFlow, Weblate, OCA-git-bot, Tom, oca-ci, Joan Sisquella, DavidJForgeFlow, CristianoMafraJunior, ArnauCForgeFlow, sygel, Bhavesh Heliconia
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 (6)
XML IDNameModelTypeStatus
res_config_settings_view_form res_config_settings_view_form - stock_inventory res.config.settings xpath Inherits stock.res_config_settings_view_form
stock_inventory_search_view stock.inventory search New
view_inventory_group_form stock.inventory.form.view stock.inventory form New
view_inventory_group_tree stock.inventory.tree.view stock.inventory tree New
view_stock_move_line_inventory_tree stock.move.line.tree.view.inventory stock.move.line tree New
view_stock_quant_search_not_done stock.quant.search.not.done stock.quant filter Inherits stock.quant_search_view
Models touched (5)

New fields (2)
  • stock_inventory_auto_complete Boolean
    default=False help='If enabled, when all the quants prepared for the adjustment are done, the adjustment is automatically set to done.'
  • stock_inventory_batch_size Integer
    default=1000 help='Number of quants to process per batch during inventory adjustments. Lower this value if you experience memory issues.'
Public methods (0)

No public methods.

New fields (2)
  • stock_inventory_auto_complete Boolean
    readonly=False related='company_id.stock_inventory_auto_complete'
  • stock_inventory_batch_size Integer
    readonly=False related='company_id.stock_inventory_batch_size'
Public methods (0)

No public methods.

New fields (19)
  • action_state_to_cancel_allowed Boolean
    compute='_compute_action_state_to_cancel_allowed'
  • category_id Many2one → product.category
    readonly=True states=READONLY_STATES string='Product Category' args: 'product.category'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> index=True readonly=True required=True states={'draft': [('readonly', False)]}
  • count_stock_moves Integer
    compute='_compute_count_stock_moves' string='Stock Moves Lines'
  • count_stock_quants Integer
    compute='_compute_count_stock_quants' string='# Adjustments'
  • count_stock_quants_string Char
    compute='_compute_count_stock_quants' string='Adjustments'
  • date Datetime
    default=<expr> readonly=True states=READONLY_STATES
  • exclude_sublocation Boolean
    help='If enabled, it will only take into account the locations selected, and not their children.'
  • location_ids Many2many → stock.location
    domain="[('usage', '=', 'internal'), '|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True states=READONLY_STATES string='Locations' args: 'stock.location'
  • lot_ids Many2many → stock.lot
    domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True states=READONLY_STATES string='Lot/Serial Numbers' args: 'stock.lot'
  • name Char
    default='Inventory' readonly=True required=True states=READONLY_STATES string='Inventory Reference'
  • owner_id Many2one → res.partner
    help='This is the owner of the inventory adjustment' readonly=True states=READONLY_STATES args: 'res.partner', 'Owner'
  • product_ids Many2many → product.product
    domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True states=READONLY_STATES string='Products' args: 'product.product'
  • product_selection Selection
    default='all' readonly=True required=True states=READONLY_STATES args: [('all', 'All Products'), ('manual', 'Manual Selection'), ('category', 'Product Category'), ('one', 'One Product'), ('lot', 'Lot/Serial Number')]
  • products_under_review_ids Many2many → product.product
    comodel_name='product.product' compute='_compute_products_under_review_ids' relation='stock_inventory_product_review_rel' search='_search_products_under_review_ids' string='Products Under Review'
  • responsible_id Many2one → res.users
    comodel_name='res.users' help='Specific responsible of Inventory Adjustment.' readonly=True states={'draft': [('readonly', False)]} string='Assigned to'
  • state Selection
    default='draft' tracking=True args: [('draft', 'Draft'), ('in_progress', 'In Progress'), ('done', 'Done'), ('cancel', 'Cancelled')]
  • stock_move_ids One2many → stock.move.line
    readonly=True states=READONLY_STATES string='Inventory Adjustments Done' args: 'stock.move.line', 'inventory_adjustment_id'
  • stock_quant_ids Many2many → stock.quant
    domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True states=READONLY_STATES string='Inventory Adjustment' args: 'stock.quant'
Public methods (9)
  • action_auto_state_to_done(self)
  • action_state_to_cancel(self)
  • action_state_to_done(self)
  • action_state_to_draft(self)
  • action_state_to_in_progress(self)
  • action_view_inventory_adjustment(self)
  • action_view_stock_moves(self)
  • refresh_stock_quant_ids(self)
  • unlink(self)

New fields (1)
  • inventory_adjustment_id Many2one → stock.inventory
    index=True ondelete='restrict' args: 'stock.inventory'
Public methods (0)

No public methods.

New fields (3)
  • current_inventory_id Many2one → stock.inventory
    store=True string='Current Inventory' args: 'stock.inventory'
  • stock_inventory_ids Many2many → stock.inventory
    copy=False string='Stock Inventories' args: 'stock.inventory', 'stock_inventory_stock_quant_rel'
  • to_do Boolean
    default=False
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi
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
VERSION
VERSION 2.5.1
CATEGORY
CATEGORYInventory/Inventory
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow
MAINTAINERS
MAINTAINERSDavidJForgeFlow
COMMITTERS
COMMITTERSLois Rilo, AaronHForgeFlow, Weblate, OCA-git-bot, oca-ci, Joan Sisquella, DavidJForgeFlow, ArnauCForgeFlow, AlexPForgeFlow, sygel
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
res_config_settings_view_form res_config_settings_view_form - stock_inventory res.config.settings xpath Inherits stock.res_config_settings_view_form
stock_inventory_search_view stock.inventory search New
view_inventory_group_form stock.inventory.form.view stock.inventory form New
view_inventory_group_tree stock.inventory.tree.view stock.inventory tree New
view_stock_move_line_inventory_tree stock.move.line.tree.view.inventory stock.move.line tree New
view_stock_quant_search_not_done stock.quant.search.not.done stock.quant filter Inherits stock.quant_search_view
Models touched (5)

New fields (1)
  • stock_inventory_auto_complete Boolean
    default=False help='If enabled, when all the quants prepared for the adjustment are done, the adjustment is automatically set to done.'
Public methods (0)

No public methods.

New fields (1)
  • stock_inventory_auto_complete Boolean
    readonly=False related='company_id.stock_inventory_auto_complete'
Public methods (0)

No public methods.

New fields (19)
  • action_state_to_cancel_allowed Boolean
    compute='_compute_action_state_to_cancel_allowed'
  • category_id Many2one → product.category
    readonly=True states=READONLY_STATES string='Product Category' args: 'product.category'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> index=True readonly=True required=True states={'draft': [('readonly', False)]}
  • count_stock_moves Integer
    compute='_compute_count_stock_moves' string='Stock Moves Lines'
  • count_stock_quants Integer
    compute='_compute_count_stock_quants' string='Adjustments'
  • count_stock_quants_string Char
    compute='_compute_count_stock_quants' string='Adjustments Count'
  • date Datetime
    default=<expr> readonly=True states=READONLY_STATES
  • exclude_sublocation Boolean
    help='If enabled, it will only take into account the locations selected, and not their children.'
  • location_ids Many2many → stock.location
    domain="[('usage', '=', 'internal'), '|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True states=READONLY_STATES string='Locations' args: 'stock.location'
  • lot_ids Many2many → stock.production.lot
    domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True states=READONLY_STATES string='Lot/Serial Numbers' args: 'stock.production.lot'
  • name Char
    default='Inventory' readonly=True required=True states=READONLY_STATES string='Inventory Reference'
  • owner_id Many2one → res.partner
    help='This is the owner of the inventory adjustment' readonly=True states=READONLY_STATES args: 'res.partner', 'Owner'
  • product_ids Many2many → product.product
    domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True states=READONLY_STATES string='Products' args: 'product.product'
  • product_selection Selection
    default='all' readonly=True required=True states=READONLY_STATES args: [('all', 'All Products'), ('manual', 'Manual Selection'), ('category', 'Product Category'), ('one', 'One Product'), ('lot', 'Lot/Serial Number')]
  • products_under_review_ids Many2many → product.product
    comodel_name='product.product' compute='_compute_products_under_review_ids' relation='stock_inventory_product_review_rel' search='_search_products_under_review_ids' string='Products Under Review'
  • responsible_id Many2one → res.users
    comodel_name='res.users' help='Specific responsible of Inventory Adjustment.' readonly=True states={'draft': [('readonly', False)]} string='Assigned to'
  • state Selection
    default='draft' tracking=True args: [('draft', 'Draft'), ('in_progress', 'In Progress'), ('done', 'Done'), ('cancel', 'Cancelled')]
  • stock_move_ids One2many → stock.move.line
    readonly=True states=READONLY_STATES string='Inventory Adjustments Done' args: 'stock.move.line', 'inventory_adjustment_id'
  • stock_quant_ids Many2many → stock.quant
    domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]" readonly=True states=READONLY_STATES string='Inventory Adjustment' args: 'stock.quant'
Public methods (9)
  • action_auto_state_to_done(self)
  • action_state_to_cancel(self)
  • action_state_to_done(self)
  • action_state_to_draft(self)
  • action_state_to_in_progress(self)
  • action_view_inventory_adjustment(self)
  • action_view_stock_moves(self)
  • refresh_stock_quant_ids(self)
  • unlink(self)

New fields (1)
  • inventory_adjustment_id Many2one → stock.inventory
    ondelete='restrict' args: 'stock.inventory'
Public methods (0)

No public methods.

New fields (3)
  • current_inventory_id Many2one → stock.inventory
    store=True string='Current Inventory' args: 'stock.inventory'
  • stock_inventory_ids Many2many → stock.inventory
    copy=False string='Stock Inventories' args: 'stock.inventory', 'stock_inventory_stock_quant_rel'
  • to_do Boolean
    default=False
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi