[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"))