TIP: You can type at any time to perform a new search.

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 info_outline

Views touched (9)
XML IDNameModelTypeStatus
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_merged Boolean
  • picking_ids One2many → stock.picking
    comodel_name='stock.picking' inverse_name='group_id' readonly=True
  • sale_ids Many2many → sale.order
    comodel_name='sale.order' copy=True
Public methods (0)

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.model
    Convert 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_grouping Boolean
    default=False string='Do not group deliveries'
Public methods (0)

No public methods.

New fields (1)
  • picking_ids Many2many → stock.picking
    column1='order_id' column2='picking_id' comodel_name='stock.picking' copy=False relation='sale_order_stock_picking_rel' string='Transfers'
Public methods (1)
  • 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_id Many2one → procurement.group
    comodel_name='procurement.group' string='Original Procurement Group'
Public methods (1)
  • 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_merge Boolean
    default=False help='Technical field. Indicates the transfer is canceled because it was left empty after a manual merge.'
  • group_id Many2one
    index=True
  • sale_ids Many2many → sale.order
    column1='picking_id' column2='order_id' comodel_name='sale.order' compute='_compute_sale_ids' relation='sale_order_stock_picking_rel' store=True
Public methods (5)
  • 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)
  • details Html
    compute='_compute_info'
  • discarded_picking_ids Many2many → stock.picking
    comodel_name='stock.picking' compute='_compute_pickings' string='Discarded Pickings'
  • nothing_todo Boolean
    compute='_compute_info'
  • selected_picking_ids Many2many → stock.picking
    comodel_name='stock.picking' default=<expr> string='Selected Pickings'
  • show_discarded_detail Boolean
    default=False
  • valid_picking_ids Many2many → stock.picking
    comodel_name='stock.picking' compute='_compute_pickings' string='Valid Pickings'
Public methods (1)
  • action_merge(self)

New fields (3)
  • group_pickings Boolean
    help='Group transfers for the same partner and carrier. ' args: 'Group pickings'
  • group_pickings_one Boolean
    help="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_pickings Boolean
    compute='_compute_show_group_pickings'
Public methods (0)

No public methods.

New fields (1)
  • propagate_original_group Boolean
    default=True help="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."
Public methods (0)

No public methods.

New fields (2)
  • group_shippings Boolean
    readonly=False related='out_type_id.group_pickings'
  • group_shippings_one Boolean
    readonly=False related='out_type_id.group_pickings_one'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…