TIP: You can type at any time to perform a new search.
Sale Order Line Multi Warehouse
sale_order_line_multi_warehouse · OCA/sale-workflow
- Repository
- OCA/sale-workflow · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Sales
- Folder size
- 0.13 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/sale-workflow
- Last tracking update
- 2026-08-07 08:22:54
- Authors
- Odoo Community Association (OCA), Sygel
- Maintainers
- Odoo Community Association (OCA), Sygel
- Committers
- Weblate, OCA-git-bot, oca-ci, Edilio Escalona Almira
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
This module allows to select multiple warehouses in sale order lines so the sale order is split into multiple pickings depending on the warehouses selected in the lines.
Code Analysis ⓘ
Views touched (5)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
sale_order_line_warehouse_view |
sale.order.line.warehouse.view | sale.order.line | form | New |
so_line_multi_warehouse_res_config_settings_view_form |
so.line.multi.warehouse.res.config.settings.view.form | res.config.settings | form | Inherits stock.res_config_settings_view_form |
so_line_multi_warehouse_view_order_form |
so.line.multi.warehouse.view.order.form | sale.order | form | Inherits sale.view_order_form |
so_line_multi_warehouse_view_warehouse |
so.line.multi.warehouse.view.warehouse | stock.warehouse | Inherits stock.view_warehouse | |
so_multi_warehouse_change_wizard_view |
so.multi.warehouse.change.wizard.view | so.multi.warehouse.change.wizard | form | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (10)
New fields (1)
-
allow_sale_multi_warehouseBoolean
No public methods.
New fields (1)
-
allow_sale_multi_warehouseBooleanreadonly=Falserelated='company_id.allow_sale_multi_warehouse'string='Multi Warehouse in Sale Orders'
No public methods.
New fields (2)
-
allow_sale_multi_warehouseBooleanrelated='company_id.allow_sale_multi_warehouse'store=True -
suitable_warehouse_idsMany2many → stock.warehousecomodel_name='stock.warehouse'compute='_compute_suitable_warehouse_ids'string='Suitable Warehouses'
-
action_open_so_multi_warehouse_change(self) -
get_incompatible_multi_warehouse_lines(self, warehouse)
New fields (4)
-
allow_sale_multi_warehouseBooleanrelated='order_id.allow_sale_multi_warehouse' -
qty_assigned_to_warehouseFloatcompute='_compute_qty_assigned_to_warehouse'digits='Product Unit of Measure'store=Truestring='Qty. Assigned to Warehouses' -
sale_order_line_warehouse_idsOne2many → sale.order.line.warehousecomodel_name='sale.order.line.warehouse'inverse_name='order_line_id'string='SO Line Warehouses' -
suitable_warehouse_idsMany2many → stock.warehousecomodel_name='stock.warehouse'related='order_id.suitable_warehouse_ids'string='Suitable Warehouses'
-
action_show_warehouse_lines(self) -
adjust_qty_assigned_to_warehouse(self, qty) -
adjust_qty_assigned_to_warehouse_decrease(self, qty) -
adjust_qty_assigned_to_warehouse_increase(self, qty) -
create(self, vals_list)@api.model_create_multi -
write(self, values)
New fields (10)
-
move_idsOne2many → stock.movecomodel_name='stock.move'inverse_name='sale_order_line_warehouse_id'string='Moves' -
order_line_idMany2one → sale.order.linecomodel_name='sale.order.line'ondelete='cascade'required=Truestring='Sale Order Line' -
product_idMany2one → product.productcomodel_name='product.product'related='order_line_id.product_id'string='Product' -
product_uom_idMany2one → uom.uomcomodel_name='uom.uom'related='order_line_id.product_uom'string='UoM' -
product_uom_qtyFloatdigits='Product Unit of Measure'string='Quantity' -
qty_deliveredFloatcompute='_compute_qty_delivered'digits='Product Unit of Measure'string='Qty. Delivered' -
qty_forecastFloatcompute='_compute_qty_forecast'digits='Product Unit of Measure'string='Forecast Qty.' -
qty_forecast_uom_idMany2one → uom.uomcomodel_name='uom.uom'related='product_id.uom_id'string='Forecast Qty. UoM' -
suitable_warehouse_idsMany2many → stock.warehousecomodel_name='stock.warehouse'related='order_line_id.order_id.suitable_warehouse_ids' -
warehouse_idMany2one → stock.warehousecomodel_name='stock.warehouse'domain="[('id', 'in', suitable_warehouse_ids)]"required=Truestring='Warehouse'
-
create(self, vals_list)@api.model_create_multi -
unlink(self) -
write(self, values)
New fields (6)
-
product_idMany2one → product.productcomodel_name='product.product'related='sale_order_line_warehouse_id.product_id'string='Product' -
product_uom_idMany2one → uom.uomcomodel_name='uom.uom'related='sale_order_line_warehouse_id.product_uom_id'string='Unit Of Measure' -
product_uom_qtyFloatdigits='Product Unit of Measure'related='sale_order_line_warehouse_id.product_uom_qty'string='Quantity' -
sale_order_line_warehouse_idMany2one → sale.order.line.warehousecomodel_name='sale.order.line.warehouse'readonly=Truerequired=Truestring='Current Warehouse' -
so_multi_warehouse_change_wizard_idMany2one → so.multi.warehouse.change.wizardcomodel_name='so.multi.warehouse.change.wizard'ondelete='cascade'required=Truestring='SO Multi Warehouse Change Wizard' -
warehouse_idMany2one → stock.warehousecomodel_name='stock.warehouse'related='sale_order_line_warehouse_id.warehouse_id'string='Warehouse'
No public methods.
New fields (5)
-
current_warehouse_idMany2one → stock.warehousecomodel_name='stock.warehouse'related='sale_order_id.warehouse_id'string='Current Warehouse' -
has_incompatibilitiesBooleancopy=Falsedefault=False -
new_warehouse_idMany2one → stock.warehousecomodel_name='stock.warehouse'string='New Warehouse' -
sale_order_idMany2one → sale.ordercomodel_name='sale.order'string='Sale Order' -
so_multi_warehouse_change_line_idsOne2many → so.multi.warehouse.change.line.wizardcomodel_name='so.multi.warehouse.change.line.wizard'inverse_name='so_multi_warehouse_change_wizard_id'
-
change_warehouse(self) -
check_incompatible(self)
New fields (1)
-
sale_order_line_warehouse_idMany2one → sale.order.line.warehousecomodel_name='sale.order.line.warehouse'string='Sale Order Line Warehouse'
No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
alternative_warehouse_idsMany2many → stock.warehousecolumn1='warehouse_id'column2='alternative_warehouse_id'comodel_name='stock.warehouse'domain="[('id', '!=', id)]"relation='alternative_warehouse'string='Alternative Warehouses'
No public methods.
Loading…