| 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_checkout_sync |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | Jacques-Etienne Baudoux, Sébastien Alix, OCA-git-bot, oca-ci |
| 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 |
OCA/stock-logistics-warehouse: - stock_move_common_dest odoo/odoo: - 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 |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Regroup moves at the same location when they reach an operation type. Example of use case: - We use several operation types for Picking Transfers (Pick Shelves, Pick Reserve) - We use several operation types for Packing (Pack, Pack Post) - The "Checkout Synchronization" flag is activated on the 2 Packing operation types - The Packing can occur in several areas (Packing/PACK1, Packing/PACK2, Packing/PACK3) Based on these assumptions, we have these pickings, all for the same order: - SHELF001, pick 2 goods in the shelves - RESER001, pick 2 goods in the reserve - PACK001, pack 3 of the goods (2 from SHELF001, 1 from RESER001) - PPOST001, pack the remaining good of the reserve The operator uses the button "Checkout Sync" on a pick transfer, for instance SHELF001, and select Packing/PACK2 as destination. We want all the lines that reach PACK001 to be updated with: - The move lines (except the one that goes to PPOST001) must now reach Packing/PACK2 - The same moves' destination must reach Packing/PACK2 as well: we constrain the user to move the goods there as we want to move all the goods at the same place for the packing. - As the moves' destinations are updated to the same packing location, new move lines will have the correct destination as well  Notes: Works best when used with `stock_available_to_promise_release`: - When using the mentioned module, we assume that we release moves (which creates the whole chain of moves) only when we know that we have the quantities in stock (otherwise the module splits the delivery). Any exception (which is now rare when you release this ways) that would lead to a backorder is handled by canceling the remaining line. - When the module is not used, then the destination of the backorders may be changed at the same time Compatible with `stock_dynamic_routing`. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_picking_form |
stock.picking.form | stock.picking | button | Inherits stock.view_picking_form |
view_picking_type_form_inherit |
Operation Types Inherit | stock.picking.type | group | Inherits stock.view_picking_type_form |
view_stock_move_checkout_sync |
stock.move.checkout.sync.form | stock.move.checkout.sync | form | New |
No new fields.
Public methods (1)sync_checkout_destination(self, location)
dest_picking_id
Many2one → stock.picking
comodel_name='stock.picking'
help='Destination operation for these moves.'
readonly=True
required=True
done_dest_picking_ids
Many2many → stock.picking
comodel_name='stock.picking'
relation='stock_move_checkout_sync_stock_picking_done_dest_rel'
location_id
Many2one → stock.location
comodel_name='stock.location'
help='Destination location where all the moves will be sent.'
move_ids
Many2many → stock.move
comodel_name='stock.move'
readonly=True
picking_ids
Many2many → stock.picking
comodel_name='stock.picking'
required=True
picking_type_location_id
Many2one
readonly=True
related='dest_picking_id.picking_type_id.default_location_src_id'
remaining_help
Html
readonly=True
show_skip_button
Boolean
skip_to_next(self)
sync(self)
can_sync_to_checkout
Boolean
compute='_compute_can_sync_to_checkout'
help='Technical field. Indicates if the button to synchronize the destination towards a checkout location is visible.'
open_checkout_sync_wizard(self, done_picking_types=None)
checkout_sync
Boolean
help='When checked, a button on transfers allow users to select a single location for all moves reaching this operation type. On selection, all the move lines are updated with the same destination.'
string='Checkout Synchronization'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/wms |
| GIT | |
| GIT | https://github.com/OCA/wms.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/wms/tree/14.0/stock_checkout_sync |
| VERSION | |
| VERSION | 1.1.0 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | oca-travis, Weblate, OCA-git-bot, Simone Orsi, Hai Lang |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/wms |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:41:12 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/stock-logistics-warehouse: - stock_move_common_dest odoo/odoo: - stock - product - base - 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_picking_form |
stock.picking.form | stock.picking | button | Inherits stock.view_picking_form |
view_picking_type_form_inherit |
Operation Types Inherit | stock.picking.type | field | Inherits stock.view_picking_type_form |
view_stock_move_checkout_sync |
stock.move.checkout.sync.form | stock.move.checkout.sync | form | New |
No new fields.
Public methods (1)sync_checkout_destination(self, location)
dest_picking_id
Many2one → stock.picking
comodel_name='stock.picking'
help='Destination operation for these moves.'
readonly=True
required=True
done_dest_picking_ids
Many2many → stock.picking
comodel_name='stock.picking'
relation='stock_move_checkout_sync_stock_picking_done_dest_rel'
location_id
Many2one → stock.location
comodel_name='stock.location'
help='Destination location where all the moves will be sent.'
move_ids
Many2many → stock.move
comodel_name='stock.move'
readonly=True
picking_ids
Many2many → stock.picking
comodel_name='stock.picking'
required=True
picking_type_location_id
Many2one
readonly=True
related='dest_picking_id.picking_type_id.default_location_src_id'
remaining_help
Html
readonly=True
show_skip_button
Boolean
default=False
skip_to_next(self)
sync(self)
can_sync_to_checkout
Boolean
compute='_compute_can_sync_to_checkout'
help='Technical field. Indicates if the button to synchronize the destination towards a checkout location is visible.'
open_checkout_sync_wizard(self, done_picking_types=None)
checkout_sync
Boolean
help='When checked, a button on transfers allow users to select a single location for all moves reaching this operation type. On selection, all the move lines are updated with the same destination.'
string='Checkout Synchronization'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/wms |
| GIT | |
| GIT | https://github.com/OCA/wms.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/wms/tree/13.0/stock_checkout_sync |
| VERSION | |
| VERSION | 1.1.0 |
| CATEGORY | |
| CATEGORY | Warehouse Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | Guewen Baconnier, OCA Transbot, oca-travis, Weblate, OCA-git-bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/wms |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:20 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/stock-logistics-warehouse: - stock_move_common_dest odoo/odoo: - stock - product - base - base_setup - web - bus - web_tour - uom - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_picking_form |
stock.picking.form | stock.picking | button | Inherits stock.view_picking_form |
view_picking_type_form_inherit |
Operation Types Inherit | stock.picking.type | field | Inherits stock.view_picking_type_form |
view_stock_move_checkout_sync |
stock.move.checkout.sync.form | stock.move.checkout.sync | form | New |
No new fields.
Public methods (1)sync_checkout_destination(self, location)
dest_picking_id
Many2one → stock.picking
comodel_name='stock.picking'
help='Destination operation for these moves.'
readonly=True
required=True
done_dest_picking_ids
Many2many → stock.picking
comodel_name='stock.picking'
relation='stock_move_checkout_sync_stock_picking_done_dest_rel'
location_id
Many2one → stock.location
comodel_name='stock.location'
help='Destination location where all the moves will be sent.'
move_ids
Many2many → stock.move
comodel_name='stock.move'
readonly=True
picking_ids
Many2many → stock.picking
comodel_name='stock.picking'
required=True
picking_type_location_id
Many2one
readonly=True
related='dest_picking_id.picking_type_id.default_location_src_id'
remaining_help
Html
readonly=True
show_skip_button
Boolean
default=False
skip_to_next(self)
sync(self)
can_sync_to_checkout
Boolean
compute='_compute_can_sync_to_checkout'
help='Technical field. Indicates if the button to synchronize the destination towards a checkout location is visible.'
open_checkout_sync_wizard(self, done_picking_types=None)
checkout_sync
Boolean
help='When checked, a button on transfers allow users to select a single location for all moves reaching this operation type. On selection, all the move lines are updated with the same destination.'
string='Checkout Synchronization'
No public methods.