fix: difference amount calculation for company currency accounts
diff --git a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py
index e3d9c26..c9e3998 100644
--- a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py
+++ b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py
@@ -221,12 +221,15 @@
def get_difference_amount(self, payment_entry, invoice, allocated_amount):
difference_amount = 0
- if invoice.get("exchange_rate") and payment_entry.get("exchange_rate", 1) != invoice.get(
- "exchange_rate", 1
- ):
- allocated_amount_in_ref_rate = payment_entry.get("exchange_rate", 1) * allocated_amount
- allocated_amount_in_inv_rate = invoice.get("exchange_rate", 1) * allocated_amount
- difference_amount = allocated_amount_in_ref_rate - allocated_amount_in_inv_rate
+ if frappe.get_cached_value(
+ "Account", self.receivable_payable_account, "account_currency"
+ ) != frappe.get_cached_value("Company", self.company, "default_currency"):
+ if invoice.get("exchange_rate") and payment_entry.get("exchange_rate", 1) != invoice.get(
+ "exchange_rate", 1
+ ):
+ allocated_amount_in_ref_rate = payment_entry.get("exchange_rate", 1) * allocated_amount
+ allocated_amount_in_inv_rate = invoice.get("exchange_rate", 1) * allocated_amount
+ difference_amount = allocated_amount_in_ref_rate - allocated_amount_in_inv_rate
return difference_amount