TIP: You can type at any time to perform a new search.
Merge sale orders
sale_order_merge · OCA/sale-workflow
Security findings
Migration considerations
- Imports from the old `openerp` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.tools.translate` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.exceptions` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.tools.translate` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- For a target of Odoo 10.0+: use the `__manifest__.py` manifest name instead of `__openerp__.py`. The filename alone does not establish module age or compatibility. migration-openerp-manifest · source
sale_order_form— For a target of Odoo 17.0+: view 'sale_order_form' uses `attrs=`/`states=`, which are no longer supported. Convert modifiers to direct Python boolean expressions in `invisible`/`readonly`/`required`; preserve the original AND/OR logic. migration-view-attrs-states · sourceview_sale_order_merge_form— For a target of Odoo 17.0+: view 'view_sale_order_merge_form' uses `attrs=`/`states=`, which are no longer supported. Convert modifiers to direct Python boolean expressions in `invisible`/`readonly`/`required`; preserve the original AND/OR logic. migration-view-attrs-states · source
Migration review checklist, not a compatibility verdict. No target version is selected: apply version-specific advice only when migrating to that version or later.
- Repository
- OCA/sale-workflow · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Sales Management
- Folder size
- 0.26 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/oca/sale-workflow
- Last tracking update
- 2026-08-07 07:03:04
- Authors
- Odoo Community Association (OCA), Opener B.V.
- Maintainers
- Odoo Community Association (OCA), Opener B.V.
- Committers
- Jordi Ballester Alomar, Weblate, OCA Transbot, OCA-git-bot, oca-travis
Code Analysis
Views touched (2)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
sale_order_form |
Add merge button to sale order form | sale.order | form | Inherits sale.view_order_form |
view_sale_order_merge_form |
sale.order.merge | form | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (2)
New fields (2)
-
merge_okBooleancompute='_compute_merge_ok' args: 'Has candidates to merge with' -
merge_withMany2many → sale.ordercomodel_name='sale.order'compute='_compute_merge_with'search='_search_merge_with'string='Can be merged with'
-
button_merge(self)@api.multi
New fields (3)
-
mergeableMany2many → sale.ordercomodel_name='sale.order'related='sale_order.merge_with' -
sale_orderMany2one → sale.orderreadonly=Truerequired=True args: 'sale.order', 'Merge into' -
to_mergeMany2many → sale.orderargs: 'sale.order', 'rel_sale_to_merge', 'sale_id', 'to_merge_id', 'Orders to merge'
-
merge(self)@api.multiIf not all orders have the same policy: If not all confirmed orders have the same policy: raise Set the policy to the policy of the confirmed order(s) If there is one confirmed order, confirm all other orders. For prepaid orders, this will generate draft invoices. -
merge_invoices(self)@api.multiMerge all draft invoices. For prepaid orders, the payment of the original invoice is leading to start the procurement, but there may still be other confirmed invoices. -
merge_order_lines(self)@api.multi -
merge_pickings(self)@api.multiAssign all pickings to the target sale order and merge any pending pickings -
open_sale(self)@api.multi
- Status
- Open migration PR — not merged yet for this version
- CI status
- checks failing
- Open since
- 381 days ago
- Last activity
- 97 days ago
- Repository
- OCA/sale-workflow
- Pull request
- [17.0][MIG] sale_order_merge (#3904)