Scenario
Warehouse is configured with a 2-Step Delivery Process (Pick + Delivery).
A Sales Order is created and confirmed.
Odoo creates:
Pick Operation: WH/Stock → WH/Output
Delivery Operation: WH/Output → Customer
The Pick Operation is validated and marked as Done.
The Delivery Operation remains in Ready state.
The Sales Order is then cancelled.
Observed Behavior
Odoo automatically cancels the second Delivery Operation (WH/Output → Customer).
The first Pick Operation (WH/Stock → WH/Output) remains in Done state.
We understand that the stock has already been moved from WH/Stock to WH/Output and therefore Odoo may not automatically cancel completed stock moves. Please confirm whether this is the expected standard behavior.
Additional Scenario
After cancelling the Sales Order:
We reset the Sales Order back to Quotation.
Added an additional product to the Sales Order.
Confirmed the Sales Order again.
In this case, Odoo creates delivery orders only for the newly added product. The products that were part of the original Sales Order are not included in the newly generated delivery orders.
Note: The products added first time still in WH/Output location and not moved to customer location which makes more confusion on the workflow
Could you please clarify:
Whether the behavior described above is standard Odoo functionality.
What is the recommended process if a user wants to:
Cancel a Sales Order after the Pick Operation has been completed but before the final Delivery Operation is validated.
Modify the Sales Order and reconfirm it.
Is it necessary to create a Return Transfer from WH/Output back to WH/Stock before reconfirming the Sales Order?
If a Return Transfer is created, are there any additional steps required to regenerate delivery orders for the original products?
What is the recommended standard workflow for this business scenario?
We would appreciate your guidance on the correct process and any configuration considerations we may have missed.
Thanks in advance
Hello
I will test this scenario in my local db and let you know.