| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-workflow |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-workflow/tree/18.0/stock_picking_batch_extended |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, Carlos Roca |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:15 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock_picking_batch - stock - product - base - base_setup - web - bus - web_tour - html_editor - uom - barcodes_gs1_nomenclature - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource - stock_delivery - sale_stock - sale - sales_team - account_payment - account - onboarding - analytic - payment - utm - stock_account - delivery |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module: Adds extra fields to the batch picking creation wizard Adds extra fields and functionalities to the batch picking form. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_normal_form_view |
product.normal.form | product.product | field | Inherits product.product_normal_form_view |
report_batch_picking |
report_batch_picking | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.batch.picking | res.config.settings | field | Inherits stock.res_config_settings_view_form |
stock_picking_batch_filter |
stock.picking.batch | field | Inherits stock_picking_batch.stock_picking_batch_filter | |
stock_picking_batch_form |
stock.picking.batch | field | Inherits stock_picking_batch.stock_picking_batch_form | |
stock_picking_batch_tree |
stock.picking.batch | field | Inherits stock_picking_batch.stock_picking_batch_tree | |
stock_picking_to_batch_form |
stock.picking.to.batch | field | Inherits stock_picking_batch.stock_picking_to_batch_form | |
view_move_line_tree |
stock.move.line | field | Inherits stock_picking_batch.view_move_line_tree | |
view_picking_form |
stock.picking | field | Inherits stock_picking_batch.stock_picking_form_inherit | |
view_picking_internal_search |
stock.picking | filter | Inherits stock.view_picking_internal_search | |
view_warehouse |
stock.warehouse | field | Inherits stock.view_warehouse |
description_warehouse
Text
translate=True
args: 'Warehouse Description'
No public methods.
No new fields.
Public methods (7)key_level_0(self, operation)
key_level_1(self, operation)
new_level_0(self, operation)
new_level_1(self, operation)
sort_level_0(self, rec_list)
sort_level_1(self, rec_list)
update_level_1(self, group_dict, operation)
use_oca_batch_validation
Boolean
No public methods.
use_oca_batch_validation
Boolean
readonly=False
related='company_id.use_oca_batch_validation'
string='Use OCA approach to validate Picking Batch'
No public methods.
batch_id
Many2one → stock.picking.batch
comodel_name='stock.picking.batch'
index=True
related='picking_id.batch_id'
store=True
No public methods.
No new fields.
Public methods (0)No public methods.
active_picking_ids
One2many → stock.picking
comodel_name='stock.picking'
domain=[('state', 'not in', ('cancel', 'done'))]
help='List of active picking managed by this batch.'
inverse_name='batch_id'
readonly=True
string='Active Pickings'
date
Date
default=fields.Date.context_today
help='date on which the batch picking is to be processed'
index=True
required=True
name
Char
index=True
notes
Text
help='free form remarks'
picking_count
Integer
compute='_compute_picking_count'
string='# Pickings'
use_oca_batch_validation
Boolean
copy=False
default=<expr>
user_id
Many2one
index=True
action_cancel(self)
action_picking_move_line_tree(self)
action_picking_move_tree(self)
action_print_picking(self)
action_view_stock_picking(self)
remove_undone_pickings(self)
field_id
Many2one → ir.model.fields
comodel_name='ir.model.fields'
domain=[('model', '=', 'stock.picking'), ('store', '=', True)]
required=True
string='Field to group'
picking_to_batch_id
Many2one → stock.picking.to.batch
comodel_name='stock.picking.to.batch'
ondelete='cascade'
required=True
sequence
Integer
default=0
help='Group by picking field'
No public methods.
batch_by_group
Boolean
string='Create batch pickings grouped by fields'
batch_max_pickings
Integer
help="A transfer will not be added to batches that will exceed this number of transfers.\nLeave this value as '0' if no transfer limit."
args: 'Maximum transfers'
group_field_ids
One2many → stock.picking.batch.creator.group.field
comodel_name='stock.picking.batch.creator.group.field'
help='If set any, multiple batch picking will be created, one per group field'
inverse_name='picking_to_batch_id'
string='Group by field'
name
Char
help='Name of the batch picking'
notes
Text
help='Free form remarks'
user_id
Many2one
default=<expr>
action_create_batch(self)
action_view_batch_picking(self, batch_pickings)
confirm_batch_picking(self, batch)
create_batch_picking(self)
create_multiple_batch(self, domain)
create_simple_batch(self, domain)
default_get(self, fields)
load_store_fields(self)
onchange_batch_by_group(self)
split_chunks(self, pickings)
default_user_id
Many2one → res.users
help='the user to which the batch pickings are assigned by default'
index=True
args: 'res.users', 'Default Picker'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-workflow |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-workflow/tree/16.0/stock_picking_batch_extended |
| VERSION | |
| VERSION | 1.1.1 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | sergio-teruel, Weblate, OCA-git-bot, Rodrigo, oca-ci, Eduardo De Miguel |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:51 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock_picking_batch - stock - product - base - base_setup - web - bus - web_tour - uom - barcodes_gs1_nomenclature - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource - delivery - sale_stock - sale - sales_team - account_payment - account - analytic - payment - utm - stock_account - sale_management |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_normal_form_view |
product.normal.form | product.product | xpath | Inherits product.product_normal_form_view |
report_batch_picking |
report_batch_picking | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.batch.picking | res.config.settings | xpath | Inherits stock.res_config_settings_view_form |
stock_picking_batch_filter |
stock.picking.batch | field | Inherits stock_picking_batch.stock_picking_batch_filter | |
stock_picking_batch_form |
stock.picking.batch | field | Inherits stock_picking_batch.stock_picking_batch_form | |
stock_picking_batch_tree |
stock.picking.batch | field | Inherits stock_picking_batch.stock_picking_batch_tree | |
stock_picking_to_batch_form |
stock.picking.to.batch | field | Inherits stock_picking_batch.stock_picking_to_batch_form | |
view_picking_form |
stock.picking | field | Inherits stock.view_picking_form | |
view_warehouse |
stock.warehouse | field | Inherits stock.view_warehouse |
description_warehouse
Text
translate=True
args: 'Warehouse Description'
No public methods.
No new fields.
Public methods (7)key_level_0(self, operation)
key_level_1(self, operation)
new_level_0(self, operation)
new_level_1(self, operation)
sort_level_0(self, rec_list)
sort_level_1(self, rec_list)
update_level_1(self, group_dict, operation)
use_oca_batch_validation
Boolean
No public methods.
use_oca_batch_validation
Boolean
readonly=False
related='company_id.use_oca_batch_validation'
string='Use OCA approach to validate Picking Batch'
No public methods.
active_picking_ids
One2many → stock.picking
comodel_name='stock.picking'
domain=[('state', 'not in', ('cancel', 'done'))]
help='List of active picking managed by this batch.'
inverse_name='batch_id'
readonly=True
string='Active Pickings'
date
Date
default=fields.Date.context_today
help='date on which the batch picking is to be processed'
index=True
readonly=True
required=True
states={'draft': [('readonly', False)], 'in_progress': [('readonly', False)]}
name
Char
index=True
states={'draft': [('readonly', False)]}
notes
Text
help='free form remarks'
picking_count
Integer
compute='_compute_picking_count'
string='# Pickings'
use_oca_batch_validation
Boolean
copy=False
default=<expr>
user_id
Many2one
index=True
action_cancel(self)
action_print_picking(self)
action_view_stock_picking(self)
remove_undone_pickings(self)
field_id
Many2one → ir.model.fields
comodel_name='ir.model.fields'
domain=[('model', '=', 'stock.picking'), ('store', '=', True)]
required=True
string='Field to group'
picking_to_batch_id
Many2one → stock.picking.to.batch
comodel_name='stock.picking.to.batch'
ondelete='cascade'
required=True
sequence
Integer
default=0
help='Group by picking field'
No public methods.
batch_by_group
Boolean
string='Create batch pickings grouped by fields'
group_field_ids
One2many → stock.picking.batch.creator.group.field
comodel_name='stock.picking.batch.creator.group.field'
help='If set any, multiple batch picking will be created, one per group field'
inverse_name='picking_to_batch_id'
string='Group by field'
name
Char
help='Name of the batch picking'
notes
Text
help='Free form remarks'
user_id
Many2one
default=<expr>
action_create_batch(self)
action_view_batch_picking(self, batch_pickings)
confirm_batch_picking(self, batch)
create_batch_picking(self)
create_multiple_batch(self, domain)
create_simple_batch(self, domain)
default_get(self, fields)
load_store_fields(self)
onchange_batch_by_group(self)
default_user_id
Many2one → res.users
help='the user to which the batch pickings are assigned by default'
index=True
args: 'res.users', 'Default Picker'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-workflow |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-workflow/tree/15.0/stock_picking_batch_extended |
| VERSION | |
| VERSION | 2.5.0 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | Carlos Dauden, sergio-teruel, Weblate, OCA-git-bot, David, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:37 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock_picking_batch - stock - product - base - base_setup - web - bus - web_tour - uom - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource - delivery - sale_stock - sale - sales_team - payment - account - analytic - utm - stock_account - sale_management |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_normal_form_view |
product.normal.form | product.product | xpath | Inherits product.product_normal_form_view |
report_batch_picking |
report_batch_picking | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.batch.picking | res.config.settings | div | Inherits stock.res_config_settings_view_form |
stock_picking_batch_filter |
stock.picking.batch | field | Inherits stock_picking_batch.stock_picking_batch_filter | |
stock_picking_batch_form |
stock.picking.batch | field | Inherits stock_picking_batch.stock_picking_batch_form | |
stock_picking_batch_tree |
stock.picking.batch | field | Inherits stock_picking_batch.stock_picking_batch_tree | |
stock_picking_to_batch_form |
stock.picking.to.batch | field | Inherits stock_picking_batch.stock_picking_to_batch_form | |
view_move_line_tree |
stock.move.line | field | Inherits stock_picking_batch.view_move_line_tree | |
view_picking_form |
stock.picking | field | Inherits stock.view_picking_form | |
view_warehouse |
stock.warehouse | field | Inherits stock.view_warehouse |
description_warehouse
Text
translate=True
args: 'Warehouse Description'
No public methods.
No new fields.
Public methods (7)key_level_0(self, operation)
key_level_1(self, operation)
new_level_0(self, operation)
new_level_1(self, operation)
sort_level_0(self, rec_list)
sort_level_1(self, rec_list)
update_level_1(self, group_dict, operation)
use_oca_batch_validation
Boolean
No public methods.
use_oca_batch_validation
Boolean
readonly=False
related='company_id.use_oca_batch_validation'
string='Use OCA approach to validate Picking Batch'
No public methods.
batch_id
Many2one → stock.picking.batch
comodel_name='stock.picking.batch'
related='picking_id.batch_id'
store=True
No public methods.
No new fields.
Public methods (0)No public methods.
active_picking_ids
One2many → stock.picking
comodel_name='stock.picking'
domain=[('state', 'not in', ('cancel', 'done'))]
help='List of active picking managed by this batch.'
inverse_name='batch_id'
readonly=True
string='Active Pickings'
date
Date
default=fields.Date.context_today
help='date on which the batch picking is to be processed'
index=True
readonly=True
required=True
states={'draft': [('readonly', False)], 'in_progress': [('readonly', False)]}
entire_package_detail_ids
Many2many → stock.quant.package
comodel_name='stock.quant.package'
compute='_compute_entire_package_ids'
help='Those are the entire packages of a picking shown in the view of detailed operations'
entire_package_ids
Many2many → stock.quant.package
comodel_name='stock.quant.package'
compute='_compute_entire_package_ids'
help='Those are the entire packages of a picking shown in the view of operations'
name
Char
index=True
states={'draft': [('readonly', False)]}
notes
Text
help='free form remarks'
picking_count
Integer
compute='_compute_picking_count'
string='# Pickings'
use_oca_batch_validation
Boolean
copy=False
default=<expr>
user_id
Many2one
index=True
action_cancel(self)
action_picking_move_line_tree(self)
action_picking_move_tree(self)
action_print_picking(self)
action_view_stock_picking(self)
remove_undone_pickings(self)
field_id
Many2one → ir.model.fields
comodel_name='ir.model.fields'
domain=[('model', '=', 'stock.picking'), ('store', '=', True)]
required=True
string='Field to group'
picking_to_batch_id
Many2one → stock.picking.to.batch
comodel_name='stock.picking.to.batch'
ondelete='cascade'
required=True
sequence
Integer
default=0
help='Group by picking field'
No public methods.
batch_by_group
Boolean
string='Create batch pickings grouped by fields'
group_field_ids
One2many → stock.picking.batch.creator.group.field
comodel_name='stock.picking.batch.creator.group.field'
help='If set any, multiple batch picking will be created, one per group field'
inverse_name='picking_to_batch_id'
string='Group by field'
name
Char
help='Name of the batch picking'
notes
Text
help='Free form remarks'
user_id
Many2one
default=<expr>
action_create_batch(self)
action_view_batch_picking(self, batch_pickings)
create_multiple_batch(self, domain)
create_simple_batch(self, domain)
default_get(self, fields)
load_store_fields(self)
onchange_batch_by_group(self)
default_user_id
Many2one → res.users
help='the user to which the batch pickings are assigned by default'
index=True
args: 'res.users', 'Default Picker'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-workflow |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-workflow/tree/14.0/stock_picking_batch_extended |
| VERSION | |
| VERSION | 1.0.2 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | OCA Transbot, oca-travis, Weblate, OCA-git-bot, sergiocorato, oca-ci, Kevin Luna, oca-git-bot, sonhd |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:41:04 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock_picking_batch - stock - product - base - base_setup - web - bus - web_tour - uom - barcodes - digest - portal - web_editor - http_routing - auth_signup - resource - delivery - sale_stock - sale - sales_team - payment - account - analytic - utm - stock_account - sale_management |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_normal_form_view |
product.normal.form | product.product | xpath | Inherits product.product_normal_form_view |
report_batch_picking |
report_batch_picking | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.batch.picking | res.config.settings | div | Inherits stock.res_config_settings_view_form |
stock_batch_picking_form |
stock.picking.batch.form | stock.picking.batch | form | New |
stock_batch_picking_search |
batch.picking.search | stock.picking.batch | search | New |
stock_batch_picking_tree |
stock.picking.batch.tree | stock.picking.batch | tree | New |
view_create_batch_picking |
batch_picking_create_form | stock.picking.batch.creator | form | New |
view_picking_form |
stock.picking.form.batch | stock.picking | field | Inherits stock.view_picking_form |
view_picking_internal_search |
stock.picking.search.batch_picking | stock.picking | field | Inherits stock.view_picking_internal_search |
view_warehouse |
stock.warehouse | field | Inherits stock.view_warehouse |
description_warehouse
Text
translate=True
args: 'Warehouse Description'
No public methods.
No new fields.
Public methods (7)key_level_0(self, operation)
key_level_1(self, operation)
new_level_0(self, operation)
new_level_1(self, operation)
sort_level_0(self, rec_list)
sort_level_1(self, rec_list)
update_level_1(self, group_dict, operation)
use_oca_batch_validation
Boolean
No public methods.
use_oca_batch_validation
Boolean
readonly=False
related='company_id.use_oca_batch_validation'
string='Use OCA approach to validate Picking Batch'
No public methods.
batch_id
Many2one
domain="[('state', '=', 'draft')]"
string='Batch'
action_assign(self)
action_cancel(self)
force_transfer(self, force_qty=True)
active_picking_ids
One2many → stock.picking
comodel_name='stock.picking'
domain=[('state', 'not in', ('cancel', 'done'))]
help='List of active picking managed by this batch.'
inverse_name='batch_id'
readonly=True
string='Active Pickings'
date
Date
default=fields.Date.context_today
help='date on which the batch picking is to be processed'
index=True
readonly=True
required=True
states={'draft': [('readonly', False)], 'in_progress': [('readonly', False)]}
string='Date'
entire_package_detail_ids
Many2many → stock.quant.package
comodel_name='stock.quant.package'
compute='_compute_entire_package_ids'
help='Those are the entire packages of a picking shown in the view of detailed operations'
entire_package_ids
Many2many → stock.quant.package
comodel_name='stock.quant.package'
compute='_compute_entire_package_ids'
help='Those are the entire packages of a picking shown in the view of operations'
move_line_ids
Many2many → stock.move.line
comodel_name='stock.move.line'
compute='_compute_move_line_ids'
readonly=False
string='Detailed operations'
move_lines
Many2many → stock.move
comodel_name='stock.move'
compute='_compute_move_lines'
string='Operations'
name
Char
default=<expr>
index=True
states={'draft': [('readonly', False)]}
notes
Text
help='free form remarks'
args: 'Notes'
picking_count
Integer
compute='_compute_picking_count'
string='# Pickings'
picking_ids
One2many
help='List of picking managed by this batch.'
readonly=True
states={'draft': [('readonly', False)]}
string='Pickings'
state
Selection
help='the state of the batch picking. Workflow is draft -> in_progress/assigned -> done or cancel'
index=True
ondelete={'assigned': 'set default'}
readonly=True
selection_add=[('assigned', 'Available')]
use_oca_batch_validation
Boolean
copy=False
default=<expr>
user_id
Many2one → res.users
comodel_name='res.users'
help='the user to which the pickings are assigned'
index=True
readonly=True
states={'draft': [('readonly', False)], 'in_progress': [('readonly', False)]}
string='Picker'
action_assign(self)
action_cancel(self)
action_print_picking(self)
action_transfer(self)
action_view_stock_picking(self)
get_not_empties(self)
remove_undone_pickings(self)
verify_state(self, expected_state=None)
batch_by_group
Boolean
string='Create batch pickings grouped by fields'
date
Date
default=fields.Date.context_today
help='Date on which the batch picking is to be processed'
index=True
required=True
args: 'Date'
group_field_ids
One2many → stock.picking.batch.creator.group.field
comodel_name='stock.picking.batch.creator.group.field'
help='If set any, multiple batch picking will be created, one per group field'
inverse_name='batch_picking_creator_id'
string='Group by field'
name
Char
default=<expr>
help='Name of the batch picking'
required=True
args: 'Name'
notes
Text
help='Free form remarks'
args: 'Notes'
user_id
Many2one → res.users
default=<expr>
help='The user to which the pickings are assigned'
string='Picker'
args: 'res.users'
action_create_batch(self)
action_view_batch_picking(self, batch_pickings)
create_multiple_batch(self, domain)
create_simple_batch(self, domain)
default_get(self, fields)
load_store_fields(self)
onchange_batch_by_group(self)
batch_picking_creator_id
Many2one → stock.picking.batch.creator
comodel_name='stock.picking.batch.creator'
ondelete='cascade'
required=True
field_id
Many2one → ir.model.fields
comodel_name='ir.model.fields'
domain=[('model', '=', 'stock.picking'), ('store', '=', True)]
required=True
string='Field to group'
sequence
Integer
default=0
help='Group by picking field'
No public methods.
default_user_id
Many2one → res.users
help='the user to which the batch pickings are assigned by default'
index=True
args: 'res.users', 'Default Picker'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-workflow |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-workflow/tree/13.0/stock_picking_batch_extended |
| VERSION | |
| VERSION | 1.3.0 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Carlos Dauden, OCA Transbot, sergio-teruel, Víctor Martínez, oca-travis, Weblate, OCA-git-bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:16 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - stock_picking_batch - stock - product - base - base_setup - web - bus - web_tour - uom - barcodes - delivery - sale_stock - sale - sales_team - payment - account - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - utm - stock_account - sale_management |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_normal_form_view |
product.normal.form | product.product | xpath | Inherits product.product_normal_form_view |
report_batch_picking |
report_batch_picking | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.batch.picking | res.config.settings | div | Inherits stock.res_config_settings_view_form |
stock_batch_picking_form |
stock.picking.batch.form | stock.picking.batch | form | New |
stock_batch_picking_search |
batch.picking.search | stock.picking.batch | search | New |
stock_batch_picking_tree |
stock.picking.batch.tree | stock.picking.batch | tree | New |
view_create_batch_picking |
batch_picking_create_form | stock.picking.batch.creator | form | New |
view_picking_form |
stock.picking.form.batch | stock.picking | field | Inherits stock.view_picking_form |
view_picking_internal_search |
stock.picking.search.batch_picking | stock.picking | field | Inherits stock.view_picking_internal_search |
view_warehouse |
stock.warehouse | field | Inherits stock.view_warehouse |
description_warehouse
Text
translate=True
args: 'Warehouse Description'
No public methods.
No new fields.
Public methods (7)key_level_0(self, operation)
key_level_1(self, operation)
new_level_0(self, operation)
new_level_1(self, operation)
sort_level_0(self, rec_list)
sort_level_1(self, rec_list)
update_level_1(self, group_dict, operation)
use_oca_batch_validation
Boolean
No public methods.
use_oca_batch_validation
Boolean
readonly=False
related='company_id.use_oca_batch_validation'
string='Use OCA approach to validate Picking Batch'
No public methods.
batch_id
Many2one
domain="[('state', '=', 'draft')]"
string='Batch'
action_assign(self)
action_cancel(self)
action_done(self)
force_transfer(self, force_qty=True)
active_picking_ids
One2many → stock.picking
comodel_name='stock.picking'
domain=[('state', 'not in', ('cancel', 'done'))]
inverse_name='batch_id'
readonly=True
string='Active Pickings'
date
Date
default=fields.Date.context_today
help='date on which the batch picking is to be processed'
index=True
readonly=True
required=True
states={'draft': [('readonly', False)], 'in_progress': [('readonly', False)]}
string='Date'
entire_package_detail_ids
Many2many → stock.quant.package
comodel_name='stock.quant.package'
compute='_compute_entire_package_ids'
help='Those are the entire packages of a picking shown in the view of detailed operations'
entire_package_ids
Many2many → stock.quant.package
comodel_name='stock.quant.package'
compute='_compute_entire_package_ids'
help='Those are the entire packages of a picking shown in the view of operations'
move_line_ids
Many2many → stock.move.line
comodel_name='stock.move.line'
compute='_compute_move_line_ids'
readonly=False
string='Detailed operations'
move_lines
Many2many → stock.move
comodel_name='stock.move'
compute='_compute_move_lines'
string='Operations'
name
Char
default=<expr>
index=True
states={'draft': [('readonly', False)]}
unique=True
notes
Text
help='free form remarks'
args: 'Notes'
picking_count
Integer
compute='_compute_picking_count'
string='# Pickings'
picking_ids
One2many
help='List of picking managed by this batch.'
readonly=True
states={'draft': [('readonly', False)]}
string='Pickings'
state
Selection
help='the state of the batch picking. Workflow is draft -> in_progress/assigned -> done or cancel'
index=True
readonly=True
selection_add=[('assigned', 'Available')]
use_oca_batch_validation
Boolean
copy=False
default=<expr>
user_id
Many2one → res.users
comodel_name='res.users'
help='the user to which the pickings are assigned'
index=True
old_name='picker_id'
readonly=True
states={'draft': [('readonly', False)], 'in_progress': [('readonly', False)]}
string='Picker'
action_assign(self)
action_cancel(self)
action_print_picking(self)
action_transfer(self)
action_view_stock_picking(self)
get_not_empties(self)
remove_undone_pickings(self)
verify_state(self, expected_state=None)
batch_by_group
Boolean
string='Create batch pickings grouped by fields'
date
Date
default=fields.Date.context_today
help='Date on which the batch picking is to be processed'
index=True
required=True
args: 'Date'
group_field_ids
One2many → stock.picking.batch.creator.group.field
comodel_name='stock.picking.batch.creator.group.field'
help='If set any, multiple batch picking will be created, one per group field'
inverse_name='batch_picking_creator_id'
string='Group by field'
name
Char
default=<expr>
help='Name of the batch picking'
required=True
args: 'Name'
notes
Text
help='Free form remarks'
args: 'Notes'
user_id
Many2one → res.users
default=<expr>
help='The user to which the pickings are assigned'
string='Picker'
args: 'res.users'
action_create_batch(self)
action_view_batch_picking(self, batch_pickings)
create_multiple_batch(self, domain)
create_simple_batch(self, domain)
default_get(self, fields)
load_store_fields(self)
onchange_batch_by_group(self)
batch_picking_creator_id
Many2one → stock.picking.batch.creator
comodel_name='stock.picking.batch.creator'
ondelete='cascade'
required=True
field_id
Many2one → ir.model.fields
comodel_name='ir.model.fields'
domain=[('model', '=', 'stock.picking'), ('store', '=', True)]
required=True
string='Field to group'
sequence
Integer
default=0
help='Group by picking field'
No public methods.
default_user_id
Many2one → res.users
help='the user to which the batch pickings are assigned by default'
index=True
args: 'res.users', 'Default Picker'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/stock-logistics-workflow |
| GIT | |
| GIT | https://github.com/OCA/stock-logistics-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/stock-logistics-workflow/tree/12.0/stock_picking_batch_extended |
| VERSION | |
| VERSION | 1.3.1 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Denis Roussel, Carlos Dauden, OCA Transbot, sergio-teruel, oca-travis, Weblate, OCA-git-bot, Iryna Vushnevska, Adrià Gil Sorribes |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/stock-logistics-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:21 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/stock-logistics-workflow: - stock_picking_mass_action odoo/odoo: - stock_picking_batch - stock - product - base - decimal_precision - base_setup - web - bus - web_tour - uom - barcodes - delivery - sale_stock - sale - sales_team - payment - account - analytic - portal - http_routing - digest - stock_account - sale_management |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_normal_form_view |
product.normal.form | product.product | xpath | Inherits product.product_normal_form_view |
report_batch_picking |
report_batch_picking | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.batch.picking | res.config.settings | div | Inherits stock.res_config_settings_view_form |
stock_batch_picking_form |
stock.picking.batch.form | stock.picking.batch | form | New |
stock_batch_picking_search |
batch.picking.search | stock.picking.batch | search | New |
stock_batch_picking_tree |
stock.picking.batch.tree | stock.picking.batch | tree | New |
view_create_batch_picking |
batch_picking_create_form | stock.picking.batch.creator | form | New |
view_picking_form |
stock.picking.form.batch | stock.picking | field | Inherits stock.view_picking_form |
view_picking_internal_search |
stock.picking.search.batch_picking | stock.picking | field | Inherits stock.view_picking_internal_search |
view_warehouse |
stock.warehouse | field | Inherits stock.view_warehouse |
description_warehouse
Text
translate=True
args: 'Warehouse Description'
No public methods.
No new fields.
Public methods (7)key_level_0(self, operation)
key_level_1(self, operation)
new_level_0(self, operation)
new_level_1(self, operation)
sort_level_0(self, rec_list)
sort_level_1(self, rec_list)
update_level_1(self, group_dict, operation)
use_oca_batch_validation
Boolean
No public methods.
use_oca_batch_validation
Boolean
readonly=False
related='company_id.use_oca_batch_validation'
string='Use OCA approach to validate Picking Batch'
No public methods.
batch_id
Many2one
domain="[('state', '=', 'draft')]"
string='Batch'
action_assign(self)
action_cancel(self)
action_done(self)
force_transfer(self, force_qty=True)
active_picking_ids
One2many → stock.picking
comodel_name='stock.picking'
domain=[('state', 'not in', ('cancel', 'done'))]
inverse_name='batch_id'
readonly=True
string='Active Pickings'
date
Date
default=fields.Date.context_today
help='date on which the batch picking is to be processed'
index=True
readonly=True
required=True
states={'draft': [('readonly', False)], 'in_progress': [('readonly', False)]}
string='Date'
entire_package_detail_ids
Many2many → stock.quant.package
comodel_name='stock.quant.package'
compute='_compute_entire_package_ids'
help='Those are the entire packages of a picking shown in the view of detailed operations'
entire_package_ids
Many2many → stock.quant.package
comodel_name='stock.quant.package'
compute='_compute_entire_package_ids'
help='Those are the entire packages of a picking shown in the view of operations'
move_line_ids
Many2many → stock.move.line
comodel_name='stock.move.line'
compute='_compute_move_line_ids'
inverse=<expr>
string='Detailed operations'
move_lines
Many2many → stock.move
comodel_name='stock.move'
compute='_compute_move_lines'
readonly=True
string='Operations'
name
Char
default=<expr>
index=True
states={'draft': [('readonly', False)]}
unique=True
notes
Text
help='free form remarks'
args: 'Notes'
picking_count
Integer
compute='_compute_picking_count'
string='# Pickings'
picking_ids
One2many
help='List of picking managed by this batch.'
readonly=True
states={'draft': [('readonly', False)]}
string='Pickings'
state
Selection
help='the state of the batch picking. Workflow is draft -> in_progress/assigned -> done or cancel'
index=True
readonly=True
selection_add=[('assigned', 'Available')]
use_oca_batch_validation
Boolean
copy=False
default=<expr>
user_id
Many2one → res.users
comodel_name='res.users'
help='the user to which the pickings are assigned'
index=True
old_name='picker_id'
readonly=True
states={'draft': [('readonly', False)], 'in_progress': [('readonly', False)]}
string='Picker'
action_assign(self)
action_cancel(self)
action_print_picking(self)
action_transfer(self)
action_view_stock_picking(self)
get_not_empties(self)
remove_undone_pickings(self)
verify_state(self, expected_state=None)
batch_by_group
Boolean
string='Create batch pickings grouped by fields'
date
Date
default=fields.Date.context_today
help='Date on which the batch picking is to be processed'
index=True
required=True
args: 'Date'
group_field_ids
One2many → stock.picking.batch.creator.group.field
comodel_name='stock.picking.batch.creator.group.field'
help='If set any, multiple batch picking will be created, one per group field'
inverse_name='batch_picking_creator_id'
string='Group by field'
name
Char
default=<expr>
help='Name of the batch picking'
required=True
args: 'Name'
notes
Text
help='Free form remarks'
args: 'Notes'
user_id
Many2one → res.users
default=<expr>
help='The user to which the pickings are assigned'
oldname='picker_id'
string='Picker'
args: 'res.users'
action_create_batch(self)
action_view_batch_picking(self, batch_pickings)
create_multiple_batch(self, domain)
create_simple_batch(self, domain)
default_get(self, fields)
load_store_fields(self)
onchange_batch_by_group(self)
batch_picking_creator_id
Many2one → stock.picking.batch.creator
comodel_name='stock.picking.batch.creator'
ondelete='cascade'
required=True
field_id
Many2one → ir.model.fields
comodel_name='ir.model.fields'
domain=[('model', '=', 'stock.picking'), ('store', '=', True)]
required=True
string='Field to group'
sequence
Integer
default=0
help='Group by picking field'
No public methods.
default_user_id
Many2one → res.users
help='the user to which the batch pickings are assigned by default'
index=True
args: 'res.users', 'Default Picker'
No public methods.
| STATUS | |
|---|---|
| STATUS | Open migration PR - not merged yet for this version |
| REPOSITORY | |
| REPOSITORY | OCA/stock-logistics-workflow |
| PULL REQUEST | |
| PULL REQUEST | [17.0][MIG] stock_picking_batch_extended: Migration to version 17.0 (#1997) |