From f76da50b7ef67b70f2412bf20671448cfc89ecca Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Fri, 29 Mar 2024 17:57:58 +0530 Subject: [PATCH] fix: Recalculate sales commission on item update --- erpnext/controllers/selling_controller.py | 2 +- erpnext/selling/doctype/sales_order/sales_order.json | 3 ++- erpnext/selling/doctype/sales_order/sales_order.py | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py index 9d86cb264cf..6b45c54806f 100644 --- a/erpnext/controllers/selling_controller.py +++ b/erpnext/controllers/selling_controller.py @@ -139,7 +139,7 @@ class SellingController(StockController): self.in_words = money_in_words(amount, self.currency) def calculate_commission(self): - if not self.meta.get_field("commission_rate") or self.docstatus.is_submitted(): + if not self.meta.get_field("commission_rate"): return self.round_floats_in(self, ("amount_eligible_for_commission", "commission_rate")) diff --git a/erpnext/selling/doctype/sales_order/sales_order.json b/erpnext/selling/doctype/sales_order/sales_order.json index 1fb1ae0c040..05080d738a3 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.json +++ b/erpnext/selling/doctype/sales_order/sales_order.json @@ -1530,6 +1530,7 @@ "read_only": 1 }, { + "allow_on_submit": 1, "fieldname": "amount_eligible_for_commission", "fieldtype": "Currency", "label": "Amount Eligible for Commission", @@ -1657,7 +1658,7 @@ "idx": 105, "is_submittable": 1, "links": [], - "modified": "2024-03-20 16:04:43.627183", + "modified": "2024-03-29 16:27:41.539613", "modified_by": "Administrator", "module": "Selling", "name": "Sales Order", diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index 28962032d02..d43b38d0609 100755 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -519,6 +519,8 @@ class SalesOrder(SellingController): pass def on_update_after_submit(self): + self.calculate_commission() + self.calculate_contribution() self.check_credit_limit() def before_update_after_submit(self):