diff --git a/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py b/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py
index 5fc0ee0..b629338 100644
--- a/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py
+++ b/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py
@@ -29,17 +29,21 @@
 
 	def validate_accounts_freeze(self):
 		acc_settings = frappe.db.get_value(
-			'Accounts Settings',
-			'Accounts Settings',
-			['acc_frozen_upto', 'frozen_accounts_modifier'],
-			as_dict=1
+			"Accounts Settings",
+			"Accounts Settings",
+			["acc_frozen_upto", "frozen_accounts_modifier"],
+			as_dict=1,
 		)
 		if not acc_settings.acc_frozen_upto:
 			return
-		if acc_settings.frozen_accounts_modifier and self.owner in get_users_with_role(acc_settings.frozen_accounts_modifier):
+		if acc_settings.frozen_accounts_modifier and self.owner in get_users_with_role(
+			acc_settings.frozen_accounts_modifier
+		):
 			return
 		if getdate(self.posting_date) <= getdate(acc_settings.acc_frozen_upto):
-			frappe.throw(_("You cannot repost item valuation before {}").format(acc_settings.acc_frozen_upto))
+			frappe.throw(
+				_("You cannot repost item valuation before {}").format(acc_settings.acc_frozen_upto)
+			)
 
 	def reset_field_values(self):
 		if self.based_on == "Transaction":
diff --git a/erpnext/stock/doctype/repost_item_valuation/test_repost_item_valuation.py b/erpnext/stock/doctype/repost_item_valuation/test_repost_item_valuation.py
index dc03c79..f166775 100644
--- a/erpnext/stock/doctype/repost_item_valuation/test_repost_item_valuation.py
+++ b/erpnext/stock/doctype/repost_item_valuation/test_repost_item_valuation.py
@@ -343,10 +343,10 @@
 
 		accounts_settings = frappe.get_doc("Accounts Settings")
 		accounts_settings.acc_frozen_upto = today
-		accounts_settings.frozen_accounts_modifier = ''
+		accounts_settings.frozen_accounts_modifier = ""
 		accounts_settings.save()
 
 		self.assertRaises(frappe.ValidationError, riv.save)
 
-		accounts_settings.acc_frozen_upto = ''
-		accounts_settings.save()
\ No newline at end of file
+		accounts_settings.acc_frozen_upto = ""
+		accounts_settings.save()
