Shopfloor - Batch Transfer Automatic Creation

shopfloor_batch_automatic_creation
REPOSITORY
REPOSITORYOCA/stock-logistics-shopfloor
GIT
GIThttps://github.com/OCA/stock-logistics-shopfloor.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-shopfloor/tree/18.0/shopfloor_batch_automatic_creation
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYInventory
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, Thierry Ducrest, Weblate, OCA-git-bot, oca-ci, Mmequignon
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-shopfloor
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:18
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/delivery-carrier:
    - stock_picking_delivery_link
OCA/product-attribute:
    - product_packaging_dimension
    - product_logistics_uom
    - product_manufacturer
    - product_packaging_level
    - product_dimension
OCA/rest-framework:
    - base_rest
OCA/server-tools:
    - jsonifier
OCA/shopfloor-app:
    - shopfloor_base
OCA/stock-logistics-shopfloor:
    - shopfloor
OCA/stock-logistics-tracking:
    - stock_quant_package_dimension
    - stock_quant_package_product_packaging
OCA/stock-logistics-warehouse:
    - stock_picking_completion_info
    - stock_move_common_dest
    - stock_picking_volume
OCA/stock-logistics-workflow:
    - stock_move_line_change_lot
    - stock_picking_progress
    - stock_move_line_qty_picked
    - stock_picking_batch_creation
    - stock_split_picking_dimension
    - stock_split_picking
OCA/web-api:
    - endpoint_route_handler
odoo/odoo:
    - base
    - web
    - base_sparse_field
    - stock
    - product
    - mail
    - base_setup
    - bus
    - web_tour
    - html_editor
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - stock_picking_batch
    - product_expiry
    - delivery
    - sale
    - sales_team
    - account_payment
    - account
    - onboarding
    - analytic
    - payment
    - utm
    - stock_delivery
    - sale_stock
    - stock_account
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES apispec
cerberus
parse-accept-language
pyquerystring
cachetools
openupgradelib
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Extension for Shopfloor's cluster picking.

When a user uses the "Get Work" button on the barcode device, if no
transfer batch is available, it automatically creates a new batch for
the user.

Some options can be configured on the Shopfloor menu:

- Activate or not the batch creation
- Group by commercial entity
- Max number of transfer per batch
- Max weight per batch
- Max volume per batch

The rules are:

- Transfers of higher priority are put first in the batch
- If some transfers are assigned to the user, the batch will only
  contain those, otherwise, it looks for unassigned transfers
- Priorities are not mixed to make transfers with higher priority faster
  e.g. if the limit is 5, with 3 Very Urgent transfer and 10 Normal
  transfer, the batch will contain only the 3 Very Urgent despite the
  higher limit
- The weight and volume are based on the Product Packaging when their
  weight and volume are defined

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
shopfloor_menu_form_view shopfloor menu form shopfloor.menu group Inherits shopfloor_base.shopfloor_menu_form_view
stock_device_type_form_view stock.device.type xpath Inherits stock_picking_batch_creation.stock_device_type_form_view
Models touched (2)

New fields (5)
  • batch_create Boolean
    default=False help='Automatically create a batch when an operator uses the "Get Work" button and no existing batch has been found. The system will first look for priority transfers and fill up the batch till the defined constraints (max of transfers, volume, weight, ...). It never mixes priorities, so if you get 2 available priority transfers and a max quantity of 3, the batch will only contain the 2 priority transfers.' string='Automatic Batch Creation'
  • batch_group_by_commercial_partner Boolean
    default=False help='If enabled, transfers will be grouped by commercial entity.This could mix priorities and will ignore the constraints to apply.' string='Group by commercial entity'
  • batch_maximum_number_of_preparation_lines Integer
    default=20 required=True string='Maximum number of preparation lines for the batch'
  • batch_split_picking_exceeding_limit Boolean
    default=False help='If checked, the pickings exceeding the maximum number of lines, volume or weight of available devices will be split into multiple pickings to respect the limits. If unchecked, the pickings exceeding the limits will not be added to the batch. The limits are defined by the limits of the last available devices.' string='Split pickings exceeding limits'
  • stock_device_type_ids Many2many → stock.device.type
    column1='shopfloor_menu_id' column2='device_type_id' comodel_name='stock.device.type' help='Default list of eligible device types when creating a batch transfer' relation='shopfloor_menu_device_type_rel' string='Default device types'
Public methods (0)

No public methods.

New fields (1)
  • line_sort_key_code Text
    groups='base.group_system' help="Python code to sort the lines in the batch.\n\n The 'line' will be a recordset of stock.move.line.\n and the method must assign a value to the variable 'key'\n that will be used to sort the lines. You can also call\n the super method to get the default behavior.\n " string='Line sort key method'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/wms
GIT
GIThttps://github.com/OCA/wms.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/wms/tree/16.0/shopfloor_batch_automatic_creation
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYInventory
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSLaurent Mignon (ACSONE), Weblate, OCA-git-bot, oca-ci, Nicolas Delbovier
WEBSITE
WEBSITEhttps://github.com/OCA/wms
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:59
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/delivery-carrier:
    - stock_picking_delivery_link
OCA/product-attribute:
    - product_packaging_dimension
    - product_logistics_uom
    - product_manufacturer
    - product_packaging_level
    - product_dimension
OCA/rest-framework:
    - base_rest
OCA/server-tools:
    - jsonifier
    - base_partition
OCA/stock-logistics-warehouse:
    - stock_helper
    - stock_move_common_dest
    - stock_location_fill_state
    - stock_location_pending_move
    - stock_storage_category_capacity_name
    - stock_picking_volume
OCA/stock-logistics-workflow:
    - stock_move_line_change_lot
    - stock_quant_package_dimension
    - stock_quant_package_product_packaging
    - stock_picking_progress
    - stock_move_line_reserved_quant
    - stock_putaway_hook
    - stock_split_picking_dimension
    - stock_split_picking
OCA/web-api:
    - endpoint_route_handler
OCA/wms:
    - shopfloor
    - shopfloor_base
    - stock_picking_completion_info
    - stock_storage_type
    - stock_picking_batch_creation
odoo/odoo:
    - base
    - web
    - base_sparse_field
    - stock
    - product
    - mail
    - base_setup
    - bus
    - web_tour
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - stock_picking_batch
    - product_expiry
    - delivery
    - sale_stock
    - sale
    - sales_team
    - account_payment
    - account
    - analytic
    - payment
    - utm
    - stock_account
    - sale_management
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES apispec
cerberus
parse-accept-language
pyquerystring
cachetools
openupgradelib
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
shopfloor_menu_form_view shopfloor menu form shopfloor.menu xpath Inherits shopfloor_base.shopfloor_menu_form_view
stock_device_type_form_view stock.device.type xpath Inherits stock_picking_batch_creation.stock_device_type_form_view
Models touched (2)

New fields (4)
  • batch_create Boolean
    default=False help='Automatically create a batch when an operator uses the "Get Work" button and no existing batch has been found. The system will first look for priority transfers and fill up the batch till the defined constraints (max of transfers, volume, weight, ...). It never mixes priorities, so if you get 2 available priority transfers and a max quantity of 3, the batch will only contain the 2 priority transfers.' string='Automatic Batch Creation'
  • batch_group_by_commercial_partner Boolean
    default=False help='If enabled, transfers will be grouped by commercial entity.This could mix priorities and will ignore the constraints to apply.' string='Group by commercial entity'
  • batch_maximum_number_of_preparation_lines Integer
    default=20 required=True string='Maximum number of preparation lines for the batch'
  • stock_device_type_ids Many2many → stock.device.type
    column1='shopfloor_menu_id' column2='device_type_id' comodel_name='stock.device.type' help='Default list of eligible device types when creating a batch transfer' relation='shopfloor_menu_device_type_rel' string='Default device types'
Public methods (0)

No public methods.

New fields (1)
  • line_sort_key_code Text
    groups='base.group_system' help="Python code to sort the lines in the batch.\n\n The 'line' will be a recordset of stock.move.line.\n and the method must assign a value to the variable 'key'\n that will be used to sort the lines. You can also call\n the super method to get the default behavior.\n " string='Line sort key method'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/wms
GIT
GIThttps://github.com/OCA/wms.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/wms/tree/14.0/shopfloor_batch_automatic_creation
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYInventory
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSOCA Transbot, Sébastien Alix, Sébastien BEAU, oca-travis, Weblate, OCA-git-bot, Simone Orsi, Michael Tietz, Hai Lang
WEBSITE
WEBSITEhttps://github.com/OCA/wms
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:12
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/delivery-carrier:
    - stock_picking_delivery_link
OCA/product-attribute:
    - product_packaging_dimension
    - product_logistics_uom
    - product_manufacturer
    - product_packaging_type
    - product_total_weight_from_packaging
OCA/rest-framework:
    - base_rest
OCA/server-tools:
    - jsonifier
    - base_m2m_custom_field
OCA/stock-logistics-warehouse:
    - stock_helper
    - stock_move_common_dest
    - stock_packaging_calculator
OCA/stock-logistics-workflow:
    - stock_quant_package_dimension
    - stock_quant_package_product_packaging
    - stock_picking_progress
    - stock_putaway_hook
OCA/web:
    - web_domain_field
OCA/web-api:
    - endpoint_route_handler
OCA/wms:
    - shopfloor
    - shopfloor_base
    - stock_picking_completion_info
    - stock_storage_type
odoo/odoo:
    - base
    - base_sparse_field
    - stock
    - product
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - stock_picking_batch
    - product_expiry
    - delivery
    - sale_stock
    - sale
    - sales_team
    - payment
    - account
    - analytic
    - utm
    - stock_account
    - sale_management
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES apispec
cerberus
parse-accept-language
pyquerystring
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
shopfloor_menu_form_view shopfloor menu form shopfloor.menu group Inherits shopfloor_base.shopfloor_menu_form_view
Models touched (1)

New fields (5)
  • batch_create Boolean
    default=False help='Automatically create a batch when an operator uses the "Get Work" button and no existing batch has been found. The system will first look for priority transfers and fill up the batch till the defined constraints (max of transfers, volume, weight, ...). It never mixes priorities, so if you get 2 available priority transfers and a max quantity of 3, the batch will only contain the 2 priority transfers.' string='Automatic Batch Creation'
  • batch_create_max_picking Integer
    default=0 help='Maximum number of transfers to add in an automatic batch. 0 means no limit.' string='Max transfers'
  • batch_create_max_volume Float
    default=0 digits=(8, 4) help='Maximum volume in cubic meters of goods in transfers to add in an automatic batch. 0 means no limit.' string='Max volume (m³)'
  • batch_create_max_weight Float
    default=0 help='Maximum weight in kg of goods in transfers to add in an automatic batch. 0 means no limit.' string='Max Weight (kg)'
  • batch_group_by_commercial_partner Boolean
    default=False help='If enabled, transfers will be grouped by commercial entity.This could mix priorities and will ignore the constraints to apply.' string='Group by commercial entity'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/wms
GIT
GIThttps://github.com/OCA/wms.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/wms/tree/13.0/shopfloor_batch_automatic_creation
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYInventory
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSGuewen Baconnier, OCA Transbot, Sébastien Alix, oca-travis, Weblate, OCA-git-bot, Simone Orsi
WEBSITE
WEBSITEhttps://github.com/OCA/wms
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/delivery-carrier:
    - stock_picking_delivery_link
OCA/product-attribute:
    - product_packaging_dimension
    - product_manufacturer
    - product_packaging_type
    - product_total_weight_from_packaging
OCA/rest-framework:
    - base_rest
OCA/server-auth:
    - auth_api_key
OCA/server-env:
    - server_environment
OCA/server-tools:
    - base_jsonify
    - base_m2m_custom_field
OCA/stock-logistics-warehouse:
    - stock_helper
    - stock_picking_completion_info
    - stock_move_common_dest
    - stock_packaging_calculator
OCA/stock-logistics-workflow:
    - stock_quant_package_product_packaging
    - stock_quant_package_dimension
    - stock_putaway_hook
OCA/web:
    - web_domain_field
OCA/wms:
    - shopfloor
    - shopfloor_base
    - stock_storage_type
odoo/odoo:
    - base
    - base_sparse_field
    - stock
    - product
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
    - stock_picking_batch
    - product_expiry
    - 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 apispec
cerberus
parse-accept-language
pyquerystring
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
shopfloor_menu_form_view shopfloor menu form shopfloor.menu group Inherits shopfloor_base.shopfloor_menu_form_view
Models touched (1)

New fields (5)
  • batch_create Boolean
    default=False help='Automatically create a batch when an operator uses the "Get Work" button and no existing batch has been found. The system will first look for priority transfers and fill up the batch till the defined constraints (max of transfers, volume, weight, ...). It never mixes priorities, so if you get 2 available priority transfers and a max quantity of 3, the batch will only contain the 2 priority transfers.' string='Automatic Batch Creation'
  • batch_create_max_picking Integer
    default=0 help='Maximum number of transfers to add in an automatic batch. 0 means no limit.' string='Max transfers'
  • batch_create_max_volume Float
    default=0 digits=(8, 4) help='Maximum volume in cubic meters of goods in transfers to add in an automatic batch. 0 means no limit.' string='Max volume (m³)'
  • batch_create_max_weight Float
    default=0 help='Maximum weight in kg of goods in transfers to add in an automatic batch. 0 means no limit.' string='Max Weight (kg)'
  • batch_group_by_commercial_partner Boolean
    default=False help='If enabled, transfers will be grouped by commercial entity.This could mix priorities and will ignore the constraints to apply.' string='Group by commercial entity'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/wms
GIT
GIThttps://github.com/OCA/wms.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/wms/tree/10.0/shopfloor_batch_automatic_creation
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYInventory
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSGuewen Baconnier, Laurent Mignon (ACSONE), oca-travis, OCA-git-bot, Simone Orsi
WEBSITE
WEBSITEhttps://github.com/OCA/wms
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:03
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/product-attribute:
    - product_manufacturer
OCA/rest-framework:
    - base_rest
OCA/server-auth:
    - auth_api_key
OCA/server-tools:
    - base_jsonify
    - server_environment
OCA/stock-logistics-warehouse:
    - stock_picking_completion_info
    - stock_move_common_dest
    - stock_packaging_calculator
OCA/stock-logistics-workflow:
    - stock_quant_package_product_packaging
OCA/web:
    - web_domain_field
OCA/wms:
    - shopfloor
    - stock_storage_type
odoo/odoo:
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
    - report
    - procurement
    - barcodes
    - web_planner
    - product_expiry
    - delivery
    - sale_stock
    - sale
    - sales_team
    - account
    - analytic
    - stock_account
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES accept_language
cerberus
pyquerystring
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
shopfloor_menu_form_view shopfloor menu form shopfloor.menu group Inherits shopfloor.shopfloor_menu_form_view
Models touched (1)

New fields (4)
  • batch_create Boolean
    default=False help='Automatically create a batch when an operator uses the "Get Work" button and no existing batch has been found. The system will first look for priority transfers and fill up the batch till the defined constraints (max of transfers, volume, weight, ...). It never mixes priorities, so if you get 2 available priority transfers and a max quantity of 3, the batch will only contain the 2 priority transfers.' string='Automatic Batch Creation'
  • batch_create_max_picking Integer
    default=0 help='Maximum number of transfers to add in an automatic batch. 0 means no limit.' string='Max transfers'
  • batch_create_max_volume Float
    default=0 digits=(8, 4) help='Maximum volume in cubic meters of goods in transfers to add in an automatic batch. 0 means no limit.' string='Max volume (m³)'
  • batch_create_max_weight Float
    default=0 help='Maximum weight in kg of goods in transfers to add in an automatic batch. 0 means no limit.' string='Max Weight (kg)'
Public methods (0)

No public methods.