Stock Reservation Rules

stock_reserve_rule
REPOSITORY
REPOSITORYOCA/stock-logistics-reservation
GIT
GIThttps://github.com/OCA/stock-logistics-reservation.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-reservation/tree/18.0/stock_reserve_rule
VERSION
VERSION 1.2.2
CATEGORY
CATEGORYStock Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp, BCIM
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp, BCIM
COMMITTERS
COMMITTERSJacques-Etienne Baudoux, Denis Roussel, Akim Juillerat, Ruchir Shukla, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-reservation
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/product-attribute:
    - product_packaging_level
OCA/stock-logistics-warehouse:
    - stock_location_is_sublocation
    - stock_route_location_source
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 openupgradelib
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds rules for advanced reservation / removal strategies.

Rules are applied on a location and its sub-locations.

A rule can exclude quants or locations based on configurable criteria,
and based on the selected quants, apply advanced removal strategies.

The rules have a sequence, which will be respected for the reservation.
So even without filter or advanced removal strategies, we can give a
priority to reserve in a location before another.

The advanced removal strategies are applied on top of the default one
(fifo, fefo, ...).

The included advanced removal strategies are:

- Default Removal Strategy: apply the default configured one (fifo,
  fefo, ...)
- Empty Bins: goods are removed from a bin only if the bin will be empty
  after the removal (favor largest bins first to minimize the number of
  operations, then apply the default removal strategy for equal
  quantities).
- Full Packaging: tries to remove full packaging (configured on the
  products) first, by largest to smallest package or based on a
  pre-selected package (default removal strategy is then applied for
  equal quantities).

Examples of scenario:

rules:

- location A: no filter, no advanced removal strategy
- location B: no filter, Empty Bins
- location C: no filter, no advanced removal strategy

result:

- take what is available in location A
- then take in location B if available, only if bin(s) are emptied
- then take what is available in location C

The module is meant to be extensible, with a core mechanism on which new
rules and advanced removal strategies can be added.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_stock_reserve_rule_form stock.reserve.rule.form stock.reserve.rule form New
view_stock_reserve_rule_search stock.reserve.rule.search stock.reserve.rule search New
view_stock_reserve_rule_tree stock.reserve.rule stock.reserve.rule list New
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • reserve_rule_ids Many2many → stock.reserve.rule
    comodel_name='stock.reserve.rule'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (9)
  • active Boolean
    default=True
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr>
  • force_reassign_partial Boolean
    help='Check this box if you want to remove existing reservation when checking availabilty of partially available moves.'
  • location_id Many2one → stock.location
    comodel_name='stock.location' help='Rule applied only in this location and sub-locations.' required=True
  • name Char
    required=True string='Description'
  • picking_type_ids Many2many → stock.picking.type
    comodel_name='stock.picking.type' help='Apply this rule only if the operation type of the move is the same.' string='Operation Types'
  • rule_domain Char
    default=[] help='Domain based on Stock Moves, to define if the rule is applicable or not.'
  • rule_removal_ids One2many → stock.reserve.rule.removal
    comodel_name='stock.reserve.rule.removal' inverse_name='rule_id'
  • sequence Integer
    default=<expr>
Public methods (0)

No public methods.

New fields (7)
  • location_id Many2one → stock.location
    comodel_name='stock.location' required=True
  • name Char
    string='Description'
  • packaging_level_ids Many2many → product.packaging.level
    comodel_name='product.packaging.level' help="Optional packaging level when using 'Full Packaging'.\n"
  • quant_domain Char
    default=[] help='Filter Quants allowed to be reserved for this location and sub-locations.' string='Quants Domain'
  • removal_strategy Selection
    default='default' help='Defines if and how goods are taken from locations.Default: take the first ones with the configured Removal Strategy(FIFO, FEFO, ...).\nEmpty Bins: take goods from a location only if the bin is empty afterwards.\nFull Packaging: take goods from a location only if the location quantity matches a packaging quantity (do not open boxes).' required=True selection=[('default', 'Default Removal Strategy'), ('empty_bin', 'Empty Bins'), ('packaging', 'Full Packaging')] string='Advanced Removal Strategy'
  • rule_id Many2one → stock.reserve.rule
    comodel_name='stock.reserve.rule' ondelete='cascade' required=True
  • sequence Integer
    default=<expr>
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_reserve_rule
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYStock Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSDenis Roussel, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:44
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/product-attribute:
    - product_packaging_level
OCA/stock-logistics-warehouse:
    - stock_helper
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 openupgradelib
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_stock_reserve_rule_form stock.reserve.rule.form stock.reserve.rule form New
view_stock_reserve_rule_search stock.reserve.rule.search stock.reserve.rule search New
view_stock_reserve_rule_tree stock.reserve.rule stock.reserve.rule tree New
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • reserve_rule_ids Many2many → stock.reserve.rule
    comodel_name='stock.reserve.rule'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (8)
  • active Boolean
    default=True
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr>
  • location_id Many2one → stock.location
    comodel_name='stock.location' help='Rule applied only in this location and sub-locations.' required=True
  • name Char
    required=True string='Description'
  • picking_type_ids Many2many → stock.picking.type
    comodel_name='stock.picking.type' help='Apply this rule only if the operation type of the move is the same.' string='Operation Types'
  • rule_domain Char
    default=[] help='Domain based on Stock Moves, to define if the rule is applicable or not.'
  • rule_removal_ids One2many → stock.reserve.rule.removal
    comodel_name='stock.reserve.rule.removal' inverse_name='rule_id'
  • sequence Integer
    default=<expr>
Public methods (0)

No public methods.

New fields (7)
  • location_id Many2one → stock.location
    comodel_name='stock.location' required=True
  • name Char
    string='Description'
  • packaging_level_ids Many2many → product.packaging.level
    comodel_name='product.packaging.level' help="Optional packaging level when using 'Full Packaging'.\n"
  • quant_domain Char
    default=[] help='Filter Quants allowed to be reserved for this location and sub-locations.' string='Quants Domain'
  • removal_strategy Selection
    default='default' help='Defines if and how goods are taken from locations.Default: take the first ones with the configured Removal Strategy(FIFO, FEFO, ...).\nEmpty Bins: take goods from a location only if the bin is empty afterwards.\nFull Packaging: take goods from a location only if the location quantity matches a packaging quantity (do not open boxes).' required=True selection=[('default', 'Default Removal Strategy'), ('empty_bin', 'Empty Bins'), ('packaging', 'Full Packaging')] string='Advanced Removal Strategy'
  • rule_id Many2one → stock.reserve.rule
    comodel_name='stock.reserve.rule' ondelete='cascade' required=True
  • sequence Integer
    default=<expr>
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_reserve_rule
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYStock Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSAaronHForgeFlow, Weblate, OCA-git-bot, oca-ci, Ricardoalso, Aungkokolin1997
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:33
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/stock-logistics-warehouse:
    - stock_helper
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 (3)
XML IDNameModelTypeStatus
view_stock_reserve_rule_form stock.reserve.rule.form stock.reserve.rule form New
view_stock_reserve_rule_search stock.reserve.rule.search stock.reserve.rule search New
view_stock_reserve_rule_tree stock.reserve.rule stock.reserve.rule tree New
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • reserve_rule_ids Many2many → stock.reserve.rule
    comodel_name='stock.reserve.rule'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (8)
  • active Boolean
    default=True
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr>
  • location_id Many2one → stock.location
    comodel_name='stock.location' help='Rule applied only in this location and sub-locations.' required=True
  • name Char
    required=True string='Description'
  • picking_type_ids Many2many → stock.picking.type
    comodel_name='stock.picking.type' help='Apply this rule only if the operation type of the move is the same.' string='Operation Types'
  • rule_domain Char
    default=[] help='Domain based on Stock Moves, to define if the rule is applicable or not.'
  • rule_removal_ids One2many → stock.reserve.rule.removal
    comodel_name='stock.reserve.rule.removal' inverse_name='rule_id'
  • sequence Integer
    default=<expr>
Public methods (0)

No public methods.

New fields (7)
  • location_id Many2one → stock.location
    comodel_name='stock.location' required=True
  • name Char
    string='Description'
  • packaging_type_ids Many2many → stock.package.type
    comodel_name='stock.package.type' help="Optional packaging when using 'Full Packaging'.\nOnly the quantities matching one of the packaging are removed.\nWhen empty, any packaging can be removed."
  • quant_domain Char
    default=[] help='Filter Quants allowed to be reserved for this location and sub-locations.' string='Quants Domain'
  • removal_strategy Selection
    default='default' help='Defines if and how goods are taken from locations.Default: take the first ones with the configured Removal Strategy(FIFO, FEFO, ...).\nEmpty Bins: take goods from a location only if the bin is empty afterwards.\nFull Packaging: take goods from a location only if the location quantity matches a packaging quantity (do not open boxes).' required=True selection=[('default', 'Default Removal Strategy'), ('empty_bin', 'Empty Bins'), ('packaging', 'Full Packaging')] string='Advanced Removal Strategy'
  • rule_id Many2one → stock.reserve.rule
    comodel_name='stock.reserve.rule' ondelete='cascade' required=True
  • sequence Integer
    default=<expr>
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_reserve_rule
VERSION
VERSION 1.3.1
CATEGORY
CATEGORYStock Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSJacques-Etienne Baudoux, Enric Tobella, Sébastien Alix, Thierry Ducrest, oca-travis, Weblate, OCA-git-bot, Simone Orsi, Michael Tietz, oca-ci, Alessandro Uffreduzzi, Henry Backman
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:56
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/product-attribute:
    - product_packaging_type
OCA/stock-logistics-warehouse:
    - stock_helper
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 (3)
XML IDNameModelTypeStatus
view_stock_reserve_rule_form stock.reserve.rule.form stock.reserve.rule form New
view_stock_reserve_rule_search stock.reserve.rule.search stock.reserve.rule search New
view_stock_reserve_rule_tree stock.reserve.rule stock.reserve.rule tree New
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • reserve_rule_ids Many2many → stock.reserve.rule
    comodel_name='stock.reserve.rule'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (8)
  • active Boolean
    default=True
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr>
  • location_id Many2one → stock.location
    comodel_name='stock.location' help='Rule applied only in this location and sub-locations.' required=True
  • name Char
    required=True string='Description'
  • picking_type_ids Many2many → stock.picking.type
    comodel_name='stock.picking.type' help='Apply this rule only if the operation type of the move is the same.' string='Operation Types'
  • rule_domain Char
    default=[] help='Domain based on Stock Moves, to define if the rule is applicable or not.' string='Rule Domain'
  • rule_removal_ids One2many → stock.reserve.rule.removal
    comodel_name='stock.reserve.rule.removal' inverse_name='rule_id'
  • sequence Integer
    default=<expr>
Public methods (0)

No public methods.

New fields (7)
  • location_id Many2one → stock.location
    comodel_name='stock.location' required=True
  • name Char
    string='Description'
  • packaging_type_ids Many2many → product.packaging.type
    comodel_name='product.packaging.type' help="Optional packaging when using 'Full Packaging'.\nOnly the quantities matching one of the packaging are removed.\nWhen empty, any packaging can be removed."
  • quant_domain Char
    default=[] help='Filter Quants allowed to be reserved for this location and sub-locations.' string='Quants Domain'
  • removal_strategy Selection
    default='default' help='Defines if and how goods are taken from locations.Default: take the first ones with the configured Removal Strategy(FIFO, FEFO, ...).\nEmpty Bins: take goods from a location only if the bin is empty afterwards.\nFull Packaging: take goods from a location only if the location quantity matches a packaging quantity (do not open boxes).\nFull Bin: take goods from a location if it reserves all its content' required=True selection=[('default', 'Default Removal Strategy'), ('empty_bin', 'Empty Bins'), ('packaging', 'Full Packaging'), ('full_bin', 'Full Bin')] string='Advanced Removal Strategy'
  • rule_id Many2one → stock.reserve.rule
    comodel_name='stock.reserve.rule' ondelete='cascade' required=True
  • sequence Integer
    default=<expr>
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_reserve_rule
VERSION
VERSION 1.5.0
CATEGORY
CATEGORYStock Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSGuewen Baconnier, sebalix, Kiril Vangelovski, oca-travis, OCA-git-bot, Juan Carreras
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:12
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/product-attribute:
    - product_packaging_type
OCA/stock-logistics-warehouse:
    - stock_helper
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 (3)
XML IDNameModelTypeStatus
view_stock_reserve_rule_form stock.reserve.rule.form stock.reserve.rule form New
view_stock_reserve_rule_search stock.reserve.rule.search stock.reserve.rule search New
view_stock_reserve_rule_tree stock.reserve.rule stock.reserve.rule tree New
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • reserve_rule_ids Many2many → stock.reserve.rule
    comodel_name='stock.reserve.rule' inverse_name='picking_type_ids'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (8)
  • active Boolean
    default=True
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr>
  • location_id Many2one → stock.location
    comodel_name='stock.location' help='Rule applied only in this location and sub-locations.' required=True
  • name Char
    required=True string='Description'
  • picking_type_ids Many2many → stock.picking.type
    comodel_name='stock.picking.type' help='Apply this rule only if the operation type of the move is the same.' string='Operation Types'
  • rule_domain Char
    default=[] help='Domain based on Stock Moves, to define if the rule is applicable or not.' string='Rule Domain'
  • rule_removal_ids One2many → stock.reserve.rule.removal
    comodel_name='stock.reserve.rule.removal' inverse_name='rule_id'
  • sequence Integer
    default=<expr>
Public methods (0)

No public methods.

New fields (7)
  • location_id Many2one → stock.location
    comodel_name='stock.location' required=True
  • name Char
    string='Description'
  • packaging_type_ids Many2many → product.packaging.type
    comodel_name='product.packaging.type' help="Optional packaging when using 'Full Packaging'.\nOnly the quantities matching one of the packaging are removed.\nWhen empty, any packaging can be removed."
  • quant_domain Char
    default=[] help='Filter Quants allowed to be reserved for this location and sub-locations.' string='Quants Domain'
  • removal_strategy Selection
    default='default' help='Defines if and how goods are taken from locations.Default: take the first ones with the configured Removal Strategy(FIFO, FEFO, ...).\nEmpty Bins: take goods from a location only if the bin is empty afterwards.\nFull Packaging: take goods from a location only if the location quantity matches a packaging quantity (do not open boxes).' required=True selection=[('default', 'Default Removal Strategy'), ('empty_bin', 'Empty Bins'), ('packaging', 'Full Packaging')] string='Advanced Removal Strategy'
  • rule_id Many2one → stock.reserve.rule
    comodel_name='stock.reserve.rule' ondelete='cascade' required=True
  • sequence Integer
    default=<expr>
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_reserve_rule
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYStock Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSoca-travis, OCA-git-bot, Adrià Gil Sorribes
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-warehouse
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/product-attribute:
    - product_packaging_type
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_stock_reserve_rule_form stock.reserve.rule.form stock.reserve.rule form New
view_stock_reserve_rule_search stock.reserve.rule.search stock.reserve.rule search New
view_stock_reserve_rule_tree stock.reserve.rule stock.reserve.rule tree New
Models touched (5)

New fields (0)

No new fields.

Public methods (1)
  • is_sublocation_of(self, others)
    Return True if self is a sublocation of at least one other

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (8)
  • active Boolean
    default=True
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr>
  • location_id Many2one → stock.location
    comodel_name='stock.location' help='Rule applied only in this location and sub-locations.' required=True
  • name Char
    required=True string='Description'
  • picking_type_id Many2one → stock.picking.type
    comodel_name='stock.picking.type' help='Apply this rule only if the operation type of the move is the same.' string='Operation Type'
  • rule_domain Char
    default=[] help='Domain based on Stock Moves, to define if the rule is applicable or not.' string='Rule Domain'
  • rule_removal_ids One2many → stock.reserve.rule.removal
    comodel_name='stock.reserve.rule.removal' inverse_name='rule_id'
  • sequence Integer
    default=<expr>
Public methods (0)

No public methods.

New fields (7)
  • location_id Many2one → stock.location
    comodel_name='stock.location' required=True
  • name Char
    string='Description'
  • packaging_type_ids Many2many → product.packaging.type
    comodel_name='product.packaging.type' help="Optional packaging when using 'Full Packaging'.\nOnly the quantities matching one of the packaging are removed.\nWhen empty, any packaging can be removed."
  • quant_domain Char
    default=[] help='Filter Quants allowed to be reserved for this location and sub-locations.' string='Quants Domain'
  • removal_strategy Selection
    default='default' help='Defines if and how goods are taken from locations.Default: take the first ones with the configured Removal Strategy(FIFO, FEFO, ...).\nEmpty Bins: take goods from a location only if the bin is empty afterwards.\nFull Packaging: take goods from a location only if the location quantity matches a packaging quantity (do not open boxes).' required=True selection=[('default', 'Default Removal Strategy'), ('empty_bin', 'Empty Bins'), ('packaging', 'Full Packaging')] string='Advanced Removal Strategy'
  • rule_id Many2one → stock.reserve.rule
    comodel_name='stock.reserve.rule' ondelete='cascade' required=True
  • sequence Integer
    default=<expr>
Public methods (0)

No public methods.