TIP: You can type at any time to perform a new search.
Warehouse Management: Batch Transfer
stock_picking_batch · odoo/odoo
- Repository
- odoo/odoo · module folder
- Module version
- 1.0
- Category
- Supply Chain/Inventory
- Folder size
- 3.3 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- No
- Website
- None
- Last tracking update
- 2026-08-15 22:44:14
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Raphael Collet, Thibault Delavallée, Odoo Translation Bot, Arnold Moyaux, Julien Castiaux, Victor Feyens, William Henrotin, svs-odoo, Rémy Voet (ryv), Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, David (dafr), luvi, Renaud Thiry, Djamel Touati, Pieter Claeys (clpi), Dylan Kiss (dyki), micheledic, lase@odoo.com, Quentin Wolfs, Bruno Boi (boi), kcv-odoo, nihp-odoo, Quang Nguyen, Mohammad Abdulmoneim, dhha-odoo, Pierre Pulinckx (PIPU), Mohammad Abdulmoneim (abdu), djameltouati, Bastien PIERRE, Michaël Mattiello, MaximeNoirhomme, chha-odoo, Krzysztof Magusiak (krma), AllePilli, Lulu Grimalkin (lugr), rare-odoo, Lancelot Semal, saurabh, jodh-odoo
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- delivery_driver_stock_picking_batch, delivery_stock_picking_batch, l10n_ro_edi_stock, l10n_ro_edi_stock_batch, stock_fleet
- Description
This module adds the batch transfer option in warehouse management ==================================================================
Code Analysis ⓘ
Views touched (23)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
stock_add_to_wave_form |
stock.add.to.wave.form | stock.add.to.wave | form | New |
stock_move_line_view_search_inherit_stock_picking_batch |
stock.move.line.search.stock_picking_batch | stock.move.line | search | Inherits stock.stock_move_line_view_search |
stock_picking_batch.report_picking_batch |
stock_picking_batch.report_picking_batch | ir.ui.view | qweb | New |
stock_picking_batch_calendar |
stock.picking.batch.calendar | stock.picking.batch | calendar | New |
stock_picking_batch_filter |
stock.picking.batch.filter | stock.picking.batch | search | New |
stock_picking_batch_form |
stock.picking.batch.form | stock.picking.batch | form | New |
stock_picking_batch_kanban |
stock.picking.batch.kanban | stock.picking.batch | kanban | New |
stock_picking_batch_tree |
stock.picking.batch.list | stock.picking.batch | list | New |
stock_picking_form_inherit |
stock.picking.form.inherit | stock.picking | form | Inherits stock.view_picking_form |
stock_picking_to_batch_form |
stock.picking.to.batch.form | stock.picking.to.batch | form | New |
stock_picking_type_kanban_batch |
picking.type.kanban.batch | stock.picking.type | kanban | Inherits stock.stock_picking_type_kanban |
stock_picking_view_batch_tree_ref |
stock.picking.view.list.inherit.stock.picking.batch | stock.picking | list | Inherits stock.vpicktree |
stock_picking_wave_kanban |
stock.picking.wave.kanban | stock.picking.batch | kanban | Inherits stock_picking_batch.stock_picking_batch_kanban |
stock_picking_wave_tree |
stock.picking.wave.list | stock.picking.batch | list | Inherits stock_picking_batch.stock_picking_batch_tree |
view_move_line_tree |
stock_picking_batch.move.line.list | stock.move.line | list | New |
view_move_line_tree_detailed_wave |
stock_picking_wave.move.line.list.wave | stock.move.line | list | Inherits stock.view_move_line_tree_detailed |
view_move_line_tree_inherit_stock_picking_batch |
stock.move.line.list.stock_picking_batch | stock.move.line | list | Inherits stock.view_move_line_tree |
view_picking_form_inherited |
stock_picking_batch.picking.form | stock.picking | form | Inherits stock.view_picking_form |
view_picking_internal_search_inherit |
stock.picking.internal.search.inherit | stock.picking | search | Inherits stock.view_picking_internal_search |
view_picking_internal_search_inherit_stock_picking_batch |
stock.picking.search | stock.picking | search | Inherits stock.view_picking_internal_search |
view_picking_move_tree_inherited |
stock_picking_batch.picking.move.list | stock.move | list | Inherits stock.view_picking_move_tree |
view_picking_type_form_inherit |
stock.picking.type.form.inherit | stock.picking.type | form | Inherits stock.view_picking_type_form |
vpicktree |
stock.picking.list.inherit.stock.picking.batch | stock.picking | list | Inherits stock.vpicktree |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (8)
New fields (5)
-
line_idsMany2many → stock.move.lineargs: 'stock.move.line' -
modeSelectiondefault='existing' args: [('existing', 'an existing wave transfer'), ('new', 'a new wave transfer')] -
picking_idsMany2many → stock.pickingargs: 'stock.picking' -
user_idMany2one → res.usersstring='Responsible' args: 'res.users' -
wave_idMany2one → stock.picking.batchdomain="[('is_wave', '=', True), ('state', 'in', ('draft', 'in_progress'))]"string='Wave Transfer' args: 'stock.picking.batch'
-
attach_pickings(self) -
default_get(self, fields)@api.model
New fields (0)
No new fields.
Public methods (2)-
action_show_details(self) -
write(self, vals)
New fields (1)
-
batch_idMany2onerelated='picking_id.batch_id'
-
action_open_add_to_wave(self)
New fields (2)
-
batch_idMany2one → stock.picking.batchcheck_company=Truecopy=Falsehelp='Batch associated to this transfer'index=Truestring='Batch Transfer' args: 'stock.picking.batch' -
batch_sequenceIntegerstring='Sequence'
-
action_add_operations(self) -
action_cancel(self) -
action_confirm(self) -
action_view_batch(self) -
assign_batch_user(self, user_id) -
button_validate(self) -
create(self, vals_list)@api.model_create_multi -
write(self, vals)
New fields (20)
-
allowed_picking_idsOne2many → stock.pickingcompute='_compute_allowed_picking_ids' args: 'stock.picking' -
company_idMany2one → res.companydefault=<expr>index=Truereadonly=Truerequired=Truestring='Company' args: 'res.company' -
descriptionCharargs: 'Description' -
estimated_shipping_volumeFloatcompute='_compute_estimated_shipping_capacity'digits='Product Unit' args: 'shipping_volume' -
estimated_shipping_weightFloatcompute='_compute_estimated_shipping_capacity'digits='Product Unit' args: 'shipping_weight' -
is_waveBooleanargs: 'This batch is a wave' -
move_idsOne2many → stock.movecompute='_compute_move_ids'string='Stock moves' args: 'stock.move' -
move_line_idsOne2many → stock.move.linecompute='_compute_move_line_ids'inverse='_set_move_line_ids'search='_search_move_line_ids'string='Stock move lines' args: 'stock.move.line' -
nameCharcopy=Falsedefault=<expr>readonly=Truerequired=Truestring='Batch Transfer' -
picking_idsOne2many → stock.pickingcheck_company=Truedomain="[('id', 'in', allowed_picking_ids)]"help='List of transfers associated to this batch'string='Transfers' args: 'stock.picking', 'batch_id' -
picking_type_codeSelectionrelated='picking_type_id.code' -
picking_type_idMany2one → stock.picking.typecheck_company=Truecopy=Falseindex=True args: 'stock.picking.type', 'Operation Type' -
propertiesPropertiescopy=Truedefinition='picking_type_id.batch_properties_definition' args: 'Properties' -
scheduled_dateDatetimecompute='_compute_scheduled_date'copy=Falsehelp='Scheduled date for the transfers to be processed.\n - If manually set then scheduled date for all transfers in batch will automatically update to this date.\n - If not manually changed and transfers are added/removed/updated then this will be their earliest scheduled date\n but this scheduled date will not be set for all transfers in batch.'readonly=Falsestore=True args: 'Scheduled Date' -
show_allocationBooleancompute='_compute_show_allocation'string='Show Allocation Button' -
show_check_availabilityBooleancompute='_compute_move_ids'string='Show Check Availability' -
show_lots_textBooleancompute='_compute_show_lots_text' -
stateSelectioncompute='_compute_state'copy=Falsedefault='draft'index=Truereadonly=Truerequired=Truestore=Truetracking=True args: [('draft', 'Draft'), ('in_progress', 'In progress'), ('done', 'Done'), ('cancel', 'Cancelled')] -
user_idMany2one → res.userscheck_company=Truestring='Responsible'tracking=True args: 'res.users' -
warehouse_idMany2one → stock.warehouserelated='picking_type_id.warehouse_id' args: 'stock.warehouse'
-
action_assign(self) -
action_batch_detailed_operations(self) -
action_cancel(self) -
action_confirm(self)Sanity checks, confirm the pickings and mark the batch as confirmed. -
action_done(self) -
action_merge(self) -
action_open_label_layout(self) -
action_print(self) -
action_put_in_pack(self, *, package_id=False, package_type_id=False, package_name=False)Action to put move lines with 'Done' quantities into a new pack This method follows same logic to stock.picking. -
action_see_packages(self) -
action_view_reception_report(self) -
create(self, vals_list)@api.model_create_multi -
onchange_scheduled_date(self)@api.onchange('scheduled_date') -
write(self, vals)
New fields (5)
-
batch_idMany2one → stock.picking.batchdomain="[('is_wave', '=', False), ('state', 'in', ('draft', 'in_progress'))]"string='Batch Transfer' args: 'stock.picking.batch' -
descriptionCharargs: 'Description' -
is_create_draftBooleanhelp='When checked, create the batch in draft status'string='Draft' -
modeSelectiondefault='new' args: [('existing', 'an existing batch transfer'), ('new', 'a new batch transfer')] -
user_idMany2one → res.usersstring='Responsible' args: 'res.users'
-
attach_pickings(self)
New fields (16)
-
auto_batchBooleanhelp='Automatically put pickings into batches as they are confirmed when possible.' args: 'Automatic Batches' -
batch_auto_confirmBooleandefault=True args: 'Auto-confirm' -
batch_group_by_dest_locBooleanhelp='Automatically group batches by their destination location.' args: 'Group by Destination Location' -
batch_group_by_destinationBooleanhelp='Automatically group batches by destination country.' args: 'Destination Country' -
batch_group_by_partnerBooleanhelp='Automatically group batches by contacts.' args: 'Contact' -
batch_group_by_src_locBooleanhelp='Automatically group batches by their source location.' args: 'Group by Source Location' -
batch_max_linesIntegerhelp="A transfer will not be automatically added to batches that will exceed this number of lines if the transfer is added to it.\nLeave this value as '0' if no line limit." args: 'Maximum lines' -
batch_max_pickingsIntegerhelp="A transfer will not be automatically added to batches that will exceed this number of transfers.\nLeave this value as '0' if no transfer limit." args: 'Maximum transfers' -
batch_properties_definitionPropertiesDefinitionargs: 'Batch Properties' -
count_picking_batchIntegercompute='_compute_picking_count' -
count_picking_waveIntegercompute='_compute_picking_count' -
wave_category_idsMany2many → product.categoryhelp='Categories to consider when grouping waves.'string='Wave Product Categories' args: 'product.category' -
wave_group_by_categoryBooleanhelp='Split transfers by product category, then group transfers that have the same product category.' args: 'Product Category' -
wave_group_by_locationBooleanhelp='Split transfers by defined locations, then group transfers with the same location.' args: 'Location' -
wave_group_by_productBooleanhelp='Split transfers by product then group transfers that have the same product.' args: 'Product' -
wave_location_idsMany2many → stock.locationdomain="[('usage', '=', 'internal')]"help='Locations to consider when grouping waves.'string='Wave Locations' args: 'stock.location'
-
action_batch(self) -
action_wave(self)
New fields (0)
No new fields.
Public methods (0)No public methods.
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…