fix: Remarks fix

This commit is contained in:
Deepesh Garg 2020-11-07 00:14:40 +05:30
parent 3899079bb9
commit 2ad015450e
5 changed files with 25 additions and 12 deletions

View File

@ -7,7 +7,8 @@ frappe.ui.form.on('Loan', {
setup: function(frm) {
frm.make_methods = {
'Loan Disbursement': function() { frm.trigger('make_loan_disbursement') },
'Loan Security Unpledge': function() { frm.trigger('create_loan_security_unpledge') }
'Loan Security Unpledge': function() { frm.trigger('create_loan_security_unpledge') },
'Loan Write Off': function() { frm.trigger('make_loan_write_off_entry') }
}
},
onload: function (frm) {

View File

@ -27,6 +27,7 @@
"section_break_15",
"process_loan_interest_accrual",
"repayment_schedule_name",
"last_accrual_date",
"amended_from"
],
"fields": [
@ -163,13 +164,20 @@
"fieldtype": "Currency",
"label": "Penalty Amount",
"options": "Company:company:default_currency"
},
{
"fieldname": "last_accrual_date",
"fieldtype": "Date",
"hidden": 1,
"label": "Last Accrual Date",
"read_only": 1
}
],
"in_create": 1,
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],
"modified": "2020-10-11 11:17:44.704694",
"modified": "2020-11-06 13:22:40.197916",
"modified_by": "Administrator",
"module": "Loan Management",
"name": "Loan Interest Accrual",

View File

@ -22,6 +22,9 @@ class LoanInterestAccrual(AccountsController):
if not self.interest_amount and not self.payable_principal_amount:
frappe.throw(_("Interest Amount or Principal Amount is mandatory"))
if not self.last_accrual_date:
self.last_accrual_date = get_last_accrual_date(self.loan)
def on_submit(self):
self.make_gl_entries()
@ -50,7 +53,7 @@ class LoanInterestAccrual(AccountsController):
"against_voucher_type": "Loan",
"against_voucher": self.loan,
"remarks": _("Interest accrued from {0} to {1} against loan: {2}").format(
get_last_accural_date(self.loan), self.posting_date, self.loan),
self.last_accrual_date, self.posting_date, self.loan),
"cost_center": erpnext.get_default_cost_center(self.company),
"posting_date": self.posting_date
})
@ -67,7 +70,7 @@ class LoanInterestAccrual(AccountsController):
"against_voucher_type": "Loan",
"against_voucher": self.loan,
"remarks": ("Interest accrued from {0} to {1} against loan: {2}").format(
get_last_accural_date(self.loan), self.posting_date, self.loan),
self.last_accrual_date, self.posting_date, self.loan),
"cost_center": erpnext.get_default_cost_center(self.company),
"posting_date": self.posting_date
})
@ -213,13 +216,13 @@ def make_loan_interest_accrual_entry(args):
def get_no_of_days_for_interest_accural(loan, posting_date):
last_interest_accrual_date = get_last_accural_date(loan.name)
last_interest_accrual_date = get_last_accrual_date(loan.name)
no_of_days = date_diff(posting_date or nowdate(), last_interest_accrual_date) + 1
return no_of_days
def get_last_accural_date(loan):
def get_last_accrual_date(loan):
last_posting_date = frappe.db.sql(""" SELECT MAX(posting_date) from `tabLoan Interest Accrual`
WHERE loan = %s and docstatus = 1""", (loan))

View File

@ -14,7 +14,7 @@ from erpnext.controllers.accounts_controller import AccountsController
from erpnext.accounts.general_ledger import make_gl_entries
from erpnext.loan_management.doctype.loan_security_shortfall.loan_security_shortfall import update_shortfall_status
from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import process_loan_interest_accrual_for_demand_loans
from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import get_per_day_interest, get_last_accural_date
from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import get_per_day_interest, get_last_accrual_date
class LoanRepayment(AccountsController):
@ -78,7 +78,7 @@ class LoanRepayment(AccountsController):
if self.total_interest_paid > self.interest_payable:
if not self.is_term_loan:
# get last loan interest accrual date
last_accrual_date = get_last_accural_date(self.against_loan)
last_accrual_date = get_last_accrual_date(self.against_loan)
# get posting date upto which interest has to be accrued
per_day_interest = flt(get_per_day_interest(self.pending_principal_amount,
@ -87,7 +87,6 @@ class LoanRepayment(AccountsController):
no_of_days = flt(flt(self.total_interest_paid - self.interest_payable,
precision)/per_day_interest, 0) - 1
posting_date = add_days(last_accrual_date, no_of_days)
# book excess interest paid
@ -368,7 +367,7 @@ def get_amounts(amounts, against_loan, posting_date):
if due_date:
pending_days = date_diff(posting_date, due_date) + 1
else:
last_accrual_date = get_last_accural_date(against_loan_doc.name)
last_accrual_date = get_last_accrual_date(against_loan_doc.name)
pending_days = date_diff(posting_date, last_accrual_date) + 1
if pending_days > 0:

View File

@ -52,14 +52,16 @@
{
"fieldname": "accrual_type",
"fieldtype": "Select",
"hidden": 1,
"label": "Accrual Type",
"options": "Regular\nRepayment\nDisbursement"
"options": "Regular\nRepayment\nDisbursement",
"read_only": 1
}
],
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],
"modified": "2020-11-06 04:43:56.581670",
"modified": "2020-11-06 13:28:51.478909",
"modified_by": "Administrator",
"module": "Loan Management",
"name": "Process Loan Interest Accrual",