From b826b7c3e6ad627d439e74a5ebba6ed36f66f970 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Fri, 31 Jul 2026 12:35:48 +0000 Subject: [PATCH] fix: use payment entry posting date for received amount exchange rate (backport #57660) (#57662) Co-authored-by: Diptanil Saha --- erpnext/accounts/doctype/payment_entry/payment_entry.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py index 09f7d5c7d51..ad692f1557d 100644 --- a/erpnext/accounts/doctype/payment_entry/payment_entry.py +++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py @@ -3316,13 +3316,11 @@ def set_paid_amount_and_received_amount( company_currency = frappe.get_cached_value("Company", doc.get("company"), "default_currency") if bank and company_currency != bank.account_currency: # doc currency can be different from bank currency - posting_date = doc.get("posting_date") or doc.get("transaction_date") - conversion_rate = get_exchange_rate( - bank.account_currency, party_account_currency, posting_date - ) + conversion_rate = get_exchange_rate(bank.account_currency, party_account_currency) received_amount = paid_amount / conversion_rate else: - received_amount = paid_amount * doc.get("conversion_rate", 1) + conversion_rate = get_exchange_rate(doc.get("currency", company_currency), company_currency) + received_amount = paid_amount * conversion_rate # if payment type is pay, then paid amount and received amount are swapped if payment_type == "Pay":