fix: Recalculate sales commission on item update
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index 9d86cb2..6b45c54 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -139,7 +139,7 @@
 			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 1fb1ae0..05080d7 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 2896203..d43b38d 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -519,6 +519,8 @@
 		pass
 
 	def on_update_after_submit(self):
+		self.calculate_commission()
+		self.calculate_contribution()
 		self.check_credit_limit()
 
 	def before_update_after_submit(self):