Sale Order Split Strategy

sale_order_split_strategy
REPOSITORY
REPOSITORYOCA/sale-workflow
GIT
GIThttps://github.com/OCA/sale-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/sale-workflow/tree/19.0/sale_order_split_strategy
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYSales Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Borruso
WEBSITE
WEBSITEhttps://github.com/OCA/sale-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:48
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - account_payment
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module provides the possibility to define split strategies to be
applied on sales order for splitting.

This is useful (but not only) when a sales order from external sources (webshop, edi) includes
products that need to be shipped by different standards (temperature/environment)
and so with different carriers.

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
res_config_settings_view_form_sale_exception res.config.settings block Inherits sale.res_config_settings_view_form
sale_order_split_strategy_view_form sale.order.split.strategy.view.form sale.order.split.strategy form New
sale_order_split_strategy_view_tree sale.order.split.strategy.view.tree sale.order.split.strategy list New
split_from split_from ir.ui.view qweb New
split_to split_to ir.ui.view qweb New
view_order_form sale.order.form sale.order button Inherits sale.view_order_form
Models touched (4)

New fields (1)
  • sale_order_split_strategy_errors Selection
    default='raise_errors' required=True args: [('raise_errors', 'Raise errors'), ('post_message', 'Post message'), ('do_nothing', 'Do nothing')]
Public methods (0)

No public methods.

New fields (1)
  • sale_order_split_strategy_errors Selection
    readonly=False related='company_id.sale_order_split_strategy_errors'
Public methods (0)

No public methods.

New fields (1)
  • split_strategy_id Many2one → sale.order.split.strategy
    comodel_name='sale.order.split.strategy' help='The strategy that will be used to split the sales order'
Public methods (1)
  • action_split(self, silent_errors=False)

New fields (6)
  • copy_notes Boolean
  • copy_sections Boolean
  • line_filter_id Many2one → ir.filters
    domain="[('model_id', '=', 'sale.order.line')]" required=True args: 'ir.filters'
  • name Char
    required=True
  • remove_empty_sections_after_split Boolean
  • sequence Integer
    default=10
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/sale-workflow
GIT
GIThttps://github.com/OCA/sale-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/sale-workflow/tree/18.0/sale_order_split_strategy
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYSales Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSAkim Juillerat, Thierry Ducrest, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/sale-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:11
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - account_payment
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module provides the possibility to define split strategies to be
applied on sales order for splitting.

This is useful (but not only) when a sales order from external sources (webshop, edi) includes
products that need to be shipped by different standards (temperature/environment)
and so with different carriers.

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
res_config_settings_view_form_sale_exception res.config.settings block Inherits sale.res_config_settings_view_form
sale_order_split_strategy_view_form sale.order.split.strategy.view.form sale.order.split.strategy form New
sale_order_split_strategy_view_tree sale.order.split.strategy.view.tree sale.order.split.strategy list New
split_from split_from ir.ui.view qweb New
split_to split_to ir.ui.view qweb New
view_order_form sale.order.form sale.order button Inherits sale.view_order_form
Models touched (4)

New fields (1)
  • sale_order_split_strategy_errors Selection
    default='raise_errors' required=True args: [('raise_errors', 'Raise errors'), ('post_message', 'Post message'), ('do_nothing', 'Do nothing')]
Public methods (0)

No public methods.

New fields (1)
  • sale_order_split_strategy_errors Selection
    readonly=False related='company_id.sale_order_split_strategy_errors'
Public methods (0)

No public methods.

New fields (1)
  • split_strategy_id Many2one → sale.order.split.strategy
    comodel_name='sale.order.split.strategy' help='The strategy that will be used to split the sales order'
Public methods (1)
  • action_split(self, silent_errors=False)

New fields (6)
  • copy_notes Boolean
  • copy_sections Boolean
  • line_filter_id Many2one → ir.filters
    domain="[('model_id', '=', 'sale.order.line')]" required=True args: 'ir.filters'
  • name Char
    required=True
  • remove_empty_sections_after_split Boolean
  • sequence Integer
    default=10
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/sale-workflow
GIT
GIThttps://github.com/OCA/sale-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/sale-workflow/tree/14.0/sale_order_split_strategy
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYSales Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSAkim Juillerat, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/sale-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - utm
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
sale_order_split_strategy_view_form sale.order.split.strategy.view.form sale.order.split.strategy form New
sale_order_split_strategy_view_tree sale.order.split.strategy.view.tree sale.order.split.strategy tree New
split_from split_from ir.ui.view qweb New
split_to split_to ir.ui.view qweb New
view_order_form sale.order.form sale.order button Inherits sale.view_order_form
Models touched (2)

New fields (1)
  • split_strategy_id Many2one → sale.order.split.strategy
    args: 'sale.order.split.strategy'
Public methods (1)
  • action_split(self, silent_errors=False)

New fields (6)
  • copy_notes Boolean
  • copy_sections Boolean
  • line_filter_id Many2one → ir.filters
    domain="[('model_id', '=', 'sale.order.line')]" required=True args: 'ir.filters'
  • name Char
    required=True
  • remove_empty_sections_after_split Boolean
  • sequence Integer
    default=10
Public methods (0)

No public methods.