From 5fe247557ef65034e69879db57a6f3d875a2aa4a Mon Sep 17 00:00:00 2001 From: ljain112 Date: Thu, 24 Apr 2025 18:54:03 +0530 Subject: [PATCH] fix: compare total debit/credit with precision for Inter Company Journal Entry --- .../accounts/doctype/journal_entry/journal_entry.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py index 37a6d21da27..e26558b4317 100644 --- a/erpnext/accounts/doctype/journal_entry/journal_entry.py +++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py @@ -253,11 +253,20 @@ class JournalEntry(AccountsController): def validate_inter_company_accounts(self): if self.voucher_type == "Inter Company Journal Entry" and self.inter_company_journal_entry_reference: - doc = frappe.get_doc("Journal Entry", self.inter_company_journal_entry_reference) + doc = frappe.db.get_value( + "Journal Entry", + self.inter_company_journal_entry_reference, + ["company", "total_debit", "total_credit"], + as_dict=True, + ) account_currency = frappe.get_cached_value("Company", self.company, "default_currency") previous_account_currency = frappe.get_cached_value("Company", doc.company, "default_currency") if account_currency == previous_account_currency: - if self.total_credit != doc.total_debit or self.total_debit != doc.total_credit: + credit_precision = self.precision("total_credit") + debit_precision = self.precision("total_debit") + if (flt(self.total_credit, credit_precision) != flt(doc.total_debit, debit_precision)) or ( + flt(self.total_debit, debit_precision) != flt(doc.total_credit, credit_precision) + ): frappe.throw(_("Total Credit/ Debit Amount should be same as linked Journal Entry")) def validate_depr_entry_voucher_type(self):