Hello, we are using the Odoo 16 community edition. I need an option to mass lock sales orders once they are delivered. Any suggestions?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project
- MRP
This question has been flagged
Hi,
* To lock the sales order after delivery, we need to inherit the 'Validate' button in the Delivery Order (stock.picking).
class StockPicking(models.Model):
"""Inherits stock.picking"""
_inherit = 'stock.picking'
def button_validate(self):
"""Call the function for locking the sale order
while clicking on the validate button"""
res = super().button_validate()
self.sale_id.action_done()
return res
This will result in the corresponding sales order being locked whenever the delivery is confirmed.
* For mass locking, we have to add a server action.
1- Enable developer mode
2- Go to Settings > Technical > Server Actions
3 - Add new server action.
Action name: Mass Lock Sale Order
Model: Sales Order
Action Do: Execute Python code
Python Code :
for record in records:
action = record.action_done()
Click the 'Create Contextual Action' button
4- Go to sales orders and filter all the orders that are to be locked.
To get all delivered orders, add the following filter.
5- Select all the orders and click on the 'Mass Lock Sale Order' from the action menu.
6- You can see all the selected orders are now turned to locked state.
For more information, refer to the following
* https://www.cybrosys.com/blog/how-to-lock-confirmed-orders-in-odoo-16-sales-module
*https://youtu.be/DJ-V1ZLYcu0?si=1WdYlGnHgSgy7vmE
Hope it helps.
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
0
Dec 24
|
1018 | ||
|
2
Apr 25
|
1349 | ||
|
0
Apr 25
|
870 | ||
|
0
Mar 25
|
790 | ||
|
1
Mar 25
|
1023 |