TIP: You can type at any time to perform a new search.
Stock Picking: group by partner and carrier
stock_picking_group_by_partner_by_carrier · OCA/stock-logistics-workflow
Security findings
- Repository
- OCA/stock-logistics-workflow · module folder · Try on Runboat
- Module version
- 2.1.0
- Category
- Warehouse
- Folder size
- 0.25 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/stock-logistics-workflow
- Last tracking update
- 2026-10-03 23:56:57
- Authors
- Camptocamp, Odoo Community Association (OCA), BCIM
- Maintainers
- Camptocamp, Odoo Community Association (OCA), BCIM
- Committers
- Jacques-Etienne Baudoux, Laurent Mignon (ACSONE), Thierry Ducrest, Karl Southern, Vincent Van Rossem, Weblate, OCA-git-bot, oca-ci, David Gallay
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- stock_picking_group_by_partner_by_carrier_by_date, stock_picking_group_by_partner_by_carrier_force_move_type, stock_picking_group_by_partner_by_carrier_sale_line_position
- Description
This module can be used if your customers expect that several different orders they passed will be shipped in a single delivery order. With this module installed, when a sale order is confirmed, the stock moves for the lines of the sale order can be placed in an existing delivery order that shares the same delivery address and carrier (or lack thereof). Sale orders with a Shipping Policy set to 'When all products are ready' always get their own shipping. When the delivery slip is printed, the list of pending quantities to deliver is shown at the end, grouped by order. The grouping can also be applied in case of external resupply. Moves at the destination of the same delivery address defined on the resupply stock rule will be grouped in a same delivery order. Note: The grouping is currently not propagated to the pulled internal moves if you don't use the module stock_available_to_promise_release in the stock-logistics-workflow repository.
Code Analysis
Views touched (9)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
report_delivery_document |
report_delivery_document | ir.ui.view | qweb | Inherits sale_stock.report_delivery_document_inherit_sale_stock |
report_delivery_document_inherit_sale_stock |
report_delivery_document_inherit_sale_stock | ir.ui.view | qweb | Inherits sale_stock.report_delivery_document_inherit_sale_stock |
stock_picking_merge_wiz_info |
stock_picking_merge_wiz_info | ir.ui.view | qweb | New |
stock_report_delivery_has_serial_move_line_inherit |
stock_report_delivery_has_serial_move_line_inherit | ir.ui.view | qweb | Inherits stock.stock_report_delivery_has_serial_move_line |
view_partner_form |
res.partner.form.inherit | res.partner | form | Inherits base.view_partner_form |
view_picking_type_form |
Operation Types | stock.picking.type | form | Inherits stock.view_picking_type_form |
view_stock_picking_groupby_form |
stock.picking.merge | form | New | |
view_stock_rule_form |
stock.rule.form | stock.rule | form | Inherits stock.view_stock_rule_form |
view_warehouse |
stock.warehouse | stock.warehouse | Inherits stock.view_warehouse |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (11)
New fields (3)
-
is_mergedBoolean -
picking_idsOne2many → stock.pickingcomodel_name='stock.picking'inverse_name='group_id'readonly=True -
sale_idsMany2many → sale.ordercomodel_name='sale.order'copy=True
No public methods.
New fields (0)
No new fields.
Public methods (2)-
get_remaining_to_deliver(self, picking)@api.model -
rounding_to_precision(self, rounding)@api.modelConvert rounding specification to precision digits Rounding is encoded in Odoo as a floating number with as many meaningful decimals as used for the rounding, e.g. 0.001 means rounding to 3 decimals. Precision is an integer that indicates that amount, directly, in this case 3. This method allows to convert from rounding to precision.
New fields (1)
-
disable_picking_groupingBooleandefault=Falsestring='Do not group deliveries'
No public methods.
New fields (1)
-
picking_idsMany2many → stock.pickingcolumn1='order_id'column2='picking_id'comodel_name='stock.picking'copy=Falserelation='sale_order_stock_picking_rel'string='Transfers'
-
get_name_for_delivery_line(self)Get the name for the sale order displayed on the delivery note
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
original_group_idMany2one → procurement.groupcomodel_name='procurement.group'string='Original Procurement Group'
-
write(self, vals)During picking assignation, Odoo is overwriting the group on stock moves from found picking. Here, get the original group on stock moves.
New fields (3)
-
canceled_by_mergeBooleandefault=Falsehelp='Technical field. Indicates the transfer is canceled because it was left empty after a manual merge.' -
group_idMany2oneindex=True -
sale_idsMany2many → sale.ordercolumn1='picking_id'column2='order_id'comodel_name='sale.order'compute='_compute_sale_ids'relation='sale_order_stock_picking_rel'store=True
-
action_cancel(self) -
get_customer_refs(self)Returns all unique sales order customer references. -
get_delivery_report_lines(self)Return the lines that will be on the report. If the picking concerns multiple sale order some fake records are inserted to have the sale information as line separators. Otherwise standard records are returned. -
init(self)This has to be called in every overriding module -
write(self, values)
New fields (6)
-
detailsHtmlcompute='_compute_info' -
discarded_picking_idsMany2many → stock.pickingcomodel_name='stock.picking'compute='_compute_pickings'string='Discarded Pickings' -
nothing_todoBooleancompute='_compute_info' -
selected_picking_idsMany2many → stock.pickingcomodel_name='stock.picking'default=<expr>string='Selected Pickings' -
show_discarded_detailBooleandefault=False -
valid_picking_idsMany2many → stock.pickingcomodel_name='stock.picking'compute='_compute_pickings'string='Valid Pickings'
-
action_merge(self)
New fields (3)
-
group_pickingsBooleanhelp='Group transfers for the same partner and carrier. ' args: 'Group pickings' -
group_pickings_oneBooleanhelp="Also group transfers with a shipping policy 'When all products are ready'. Transfers with different shipping policies are not grouped" args: "Also group when policy is 'one'" -
show_group_pickingsBooleancompute='_compute_show_group_pickings'
No public methods.
New fields (1)
-
propagate_original_groupBooleandefault=Truehelp="Propagate the original group on the created moves. This allows to prevent merging pulled moves. This allows to cancel a SO without canceling pulled moves from other SO (as we ensure they are not merged). You likely need this option if you don't propagate the merged procurement group to the pulled moves."
No public methods.
New fields (2)
-
group_shippingsBooleanreadonly=Falserelated='out_type_id.group_pickings' -
group_shippings_oneBooleanreadonly=Falserelated='out_type_id.group_pickings_one'
No public methods.
Loading…
Loading…
Loading…
Loading…