From ef86b437cbfac3a5afa69561ad5da59c1b8a0c4b Mon Sep 17 00:00:00 2001 From: Abhinav Raut Date: Wed, 14 Sep 2022 11:55:03 +0530 Subject: [PATCH] fix: pending accrual entries (cherry picked from commit f2209045f8e0deceaa4e743c40ac2fe037d85e3a) --- .../doctype/loan_repayment/loan_repayment.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/erpnext/loan_management/doctype/loan_repayment/loan_repayment.py b/erpnext/loan_management/doctype/loan_repayment/loan_repayment.py index 19d0d84a46f..c17de234556 100644 --- a/erpnext/loan_management/doctype/loan_repayment/loan_repayment.py +++ b/erpnext/loan_management/doctype/loan_repayment/loan_repayment.py @@ -520,6 +520,8 @@ def get_accrued_interest_entries(against_loan, posting_date=None): if not posting_date: posting_date = getdate() + precision = cint(frappe.db.get_default("currency_precision")) or 2 + unpaid_accrued_entries = frappe.db.sql( """ SELECT name, posting_date, interest_amount - paid_interest_amount as interest_amount, @@ -540,6 +542,13 @@ def get_accrued_interest_entries(against_loan, posting_date=None): as_dict=1, ) + # Skip entries with zero interest amount & payable principal amount + unpaid_accrued_entries = [ + d + for d in unpaid_accrued_entries + if flt(d.interest_amount, precision) > 0 or flt(d.payable_principal_amount, precision) > 0 + ] + return unpaid_accrued_entries