[Fix] Payment terms validation issue (#12092)

diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index c8d30c8..c26715a 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -692,9 +692,11 @@
 		if self.get("payment_schedule"):
 			total = 0
 			for d in self.get("payment_schedule"):
-				total += flt(d.payment_amount)
+				total += flt(d.payment_amount, d.precision("payment_amount"))
 
-			grand_total = self.get("rounded_total") or self.grand_total
+			grand_total = flt(self.get("rounded_total"), self.precision("rounded_total")) \
+				or flt(self.grand_total, self.precision("grand_total"))
+
 			if total != grand_total:
 				frappe.throw(_("Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total"))