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)