From 3586df8ed63140ae9c5421d4570c4e9a0f9757ca Mon Sep 17 00:00:00 2001 From: Ravibharathi <131471282+ravibharathi656@users.noreply.github.com> Date: Wed, 17 Jun 2026 02:19:56 +0530 Subject: [PATCH] fix: set transaction currency on payment entry gl entries (#55989) --- erpnext/accounts/doctype/payment_entry/payment_entry.py | 6 ++++++ .../accounts/doctype/payment_entry/test_payment_entry.py | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py index cb84204e053..4b457abe2d4 100644 --- a/erpnext/accounts/doctype/payment_entry/payment_entry.py +++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py @@ -1312,8 +1312,14 @@ class PaymentEntry(AccountsController): self.add_deductions_gl_entries(gl_entries) self.add_tax_gl_entries(gl_entries) add_regional_gl_entries(gl_entries, self) + self.set_transaction_currency_and_rate_in_gl_map(gl_entries) return gl_entries + def set_transaction_currency_and_rate_in_gl_map(self, gl_entries): + for gle in gl_entries: + gle.setdefault("transaction_currency", self.transaction_currency) + gle.setdefault("transaction_exchange_rate", self.transaction_exchange_rate) + def make_gl_entries(self, cancel=0, adv_adj=0): gl_entries = self.build_gl_map() diff --git a/erpnext/accounts/doctype/payment_entry/test_payment_entry.py b/erpnext/accounts/doctype/payment_entry/test_payment_entry.py index 7cf06944b53..90bba1f40d7 100644 --- a/erpnext/accounts/doctype/payment_entry/test_payment_entry.py +++ b/erpnext/accounts/doctype/payment_entry/test_payment_entry.py @@ -1037,14 +1037,17 @@ class TestPaymentEntry(ERPNextTestSuite): gle.credit_in_account_currency, gle.debit_in_transaction_currency, gle.credit_in_transaction_currency, + gle.transaction_currency, + gle.transaction_exchange_rate, ) .orderby(gle.account) .where(gle.voucher_no == payment_entry.name) .run() ) + # transaction currency/rate come from the paid-from USD account (company currency is INR) expected_gl_entries = ( - (paid_from, 0.0, 8440.0, 0.0, 100.0, 0.0, 100.0), - ("_Test Payable USD - _TC", 8440.0, 0.0, 100.0, 0.0, 100.0, 0.0), + (paid_from, 0.0, 8440.0, 0.0, 100.0, 0.0, 100.0, "USD", 84.4), + ("_Test Payable USD - _TC", 8440.0, 0.0, 100.0, 0.0, 100.0, 0.0, "USD", 84.4), ) self.assertEqual(gl_entries, expected_gl_entries)