mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-05 13:24:47 +00:00
Merge pull request #23975 from deepeshgarg007/jv_zero_value
fix: Validation for journal entry with 0 debit and credit values
This commit is contained in:
@@ -137,11 +137,12 @@ class InvoiceDiscounting(AccountsController):
|
|||||||
"cost_center": erpnext.get_default_cost_center(self.company)
|
"cost_center": erpnext.get_default_cost_center(self.company)
|
||||||
})
|
})
|
||||||
|
|
||||||
je.append("accounts", {
|
if self.bank_charges:
|
||||||
"account": self.bank_charges_account,
|
je.append("accounts", {
|
||||||
"debit_in_account_currency": flt(self.bank_charges),
|
"account": self.bank_charges_account,
|
||||||
"cost_center": erpnext.get_default_cost_center(self.company)
|
"debit_in_account_currency": flt(self.bank_charges),
|
||||||
})
|
"cost_center": erpnext.get_default_cost_center(self.company)
|
||||||
|
})
|
||||||
|
|
||||||
je.append("accounts", {
|
je.append("accounts", {
|
||||||
"account": self.short_term_loan,
|
"account": self.short_term_loan,
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ class TestInvoiceDiscounting(unittest.TestCase):
|
|||||||
short_term_loan=self.short_term_loan,
|
short_term_loan=self.short_term_loan,
|
||||||
bank_charges_account=self.bank_charges_account,
|
bank_charges_account=self.bank_charges_account,
|
||||||
bank_account=self.bank_account,
|
bank_account=self.bank_account,
|
||||||
|
bank_charges=100
|
||||||
)
|
)
|
||||||
|
|
||||||
je = inv_disc.create_disbursement_entry()
|
je = inv_disc.create_disbursement_entry()
|
||||||
@@ -289,6 +290,7 @@ def create_invoice_discounting(invoices, **args):
|
|||||||
inv_disc.bank_account=args.bank_account
|
inv_disc.bank_account=args.bank_account
|
||||||
inv_disc.loan_start_date = args.start or nowdate()
|
inv_disc.loan_start_date = args.start or nowdate()
|
||||||
inv_disc.loan_period = args.period or 30
|
inv_disc.loan_period = args.period or 30
|
||||||
|
inv_disc.bank_charges = flt(args.bank_charges)
|
||||||
|
|
||||||
for d in invoices:
|
for d in invoices:
|
||||||
inv_disc.append("invoices", {
|
inv_disc.append("invoices", {
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ class JournalEntry(AccountsController):
|
|||||||
self.validate_entries_for_advance()
|
self.validate_entries_for_advance()
|
||||||
self.validate_multi_currency()
|
self.validate_multi_currency()
|
||||||
self.set_amounts_in_company_currency()
|
self.set_amounts_in_company_currency()
|
||||||
|
self.validate_debit_credit_amount()
|
||||||
self.validate_total_debit_and_credit()
|
self.validate_total_debit_and_credit()
|
||||||
self.validate_against_jv()
|
self.validate_against_jv()
|
||||||
self.validate_reference_doc()
|
self.validate_reference_doc()
|
||||||
@@ -368,6 +369,11 @@ class JournalEntry(AccountsController):
|
|||||||
if flt(d.debit > 0): d.against_account = ", ".join(list(set(accounts_credited)))
|
if flt(d.debit > 0): d.against_account = ", ".join(list(set(accounts_credited)))
|
||||||
if flt(d.credit > 0): d.against_account = ", ".join(list(set(accounts_debited)))
|
if flt(d.credit > 0): d.against_account = ", ".join(list(set(accounts_debited)))
|
||||||
|
|
||||||
|
def validate_debit_credit_amount(self):
|
||||||
|
for d in self.get('accounts'):
|
||||||
|
if not flt(d.debit) and not flt(d.credit):
|
||||||
|
frappe.throw(_("Row {0}: Both Debit and Credit values cannot be zero").format(d.idx))
|
||||||
|
|
||||||
def validate_total_debit_and_credit(self):
|
def validate_total_debit_and_credit(self):
|
||||||
self.set_total_debit_credit()
|
self.set_total_debit_credit()
|
||||||
if self.difference:
|
if self.difference:
|
||||||
|
|||||||
Reference in New Issue
Block a user