Merge pull request #16342 from finbyz/staging-fixes
fix: rounded total if available while caclulating advance paid
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index fe6b39d..cd373b8 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -604,13 +604,14 @@
advance.account_currency)
if advance.account_currency == self.currency:
- order_total = self.grand_total
- formatted_order_total = fmt_money(order_total, precision=self.precision("grand_total"),
- currency=advance.account_currency)
+ order_total = self.get("rounded_total") or self.grand_total
+ precision = "rounded_total" if self.get("rounded_total") else "grand_total"
else:
- order_total = self.base_grand_total
- formatted_order_total = fmt_money(order_total, precision=self.precision("base_grand_total"),
- currency=advance.account_currency)
+ order_total = self.get("base_rounded_total") or self.base_grand_total
+ precision = "base_rounded_total" if self.get("base_rounded_total") else "base_grand_total"
+
+ formatted_order_total = fmt_money(order_total, precision=self.precision(precision),
+ currency=advance.account_currency)
if self.currency == self.company_currency and advance_paid > order_total:
frappe.throw(_("Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2})")