diff --git a/erpnext/accounts/doctype/promotional_scheme/promotional_scheme.py b/erpnext/accounts/doctype/promotional_scheme/promotional_scheme.py
index 2b7f156..53239fe 100644
--- a/erpnext/accounts/doctype/promotional_scheme/promotional_scheme.py
+++ b/erpnext/accounts/doctype/promotional_scheme/promotional_scheme.py
@@ -30,8 +30,15 @@
 			frappe.throw(_("Price or product discount slabs are required"))
 
 	def on_update(self):
-		data = frappe.get_all('Pricing Rule', fields = ["promotional_scheme_id", "name", "creation"], order_by = 'creation asc',
-			filters = {'promotional_scheme': self.name, 'applicable_for': self.applicable_for}) or {}
+		data = frappe.get_all(
+			'Pricing Rule',
+			fields = ["promotional_scheme_id", "name", "creation"],
+			filters = {
+				'promotional_scheme': self.name,
+				'applicable_for': self.applicable_for
+			},
+			order_by = 'creation asc',
+		) or {}
 		self.update_pricing_rules(data)
 
 	def update_pricing_rules(self, data):
@@ -77,10 +84,15 @@
 	for d in doc.get(child_doc):
 		if d.name in rules:
 			for applicable_for_value in args.get(applicable_for):
-				
 				temp_args = args.copy()
-				docname = frappe.get_all('Pricing Rule', fields = ["promotional_scheme_id", "name", applicable_for],
-					filters = {'promotional_scheme_id': d.name, applicable_for: applicable_for_value})
+				docname = frappe.get_all(
+					'Pricing Rule',
+					fields = ["promotional_scheme_id", "name", applicable_for],
+					filters = {
+						'promotional_scheme_id': d.name,
+						applicable_for: applicable_for_value
+					}
+				)
 					
 				if docname:
 					pr = frappe.get_doc('Pricing Rule', docname[0].get('name'))
@@ -139,7 +151,6 @@
 			for applicable_for_values in doc.get(applicable_for):
 				items.append(applicable_for_values.get(applicable_for))	
 			args[d] = items	
-		
 		else:
 			args[d] = doc.get(d)
 	return args
