Merge pull request #36940 from ruthra-kumar/invalid_gain_loss_in_expense_claim
fix: invalid gain/loss JE created on base currency Expense Claim
diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py
index 98a3c36..2c2efc0 100644
--- a/erpnext/accounts/doctype/payment_entry/payment_entry.py
+++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py
@@ -856,6 +856,11 @@
flt(d.allocated_amount) * flt(exchange_rate), self.precision("base_paid_amount")
)
+ # on rare case, when `exchange_rate` is unset, gain/loss amount is incorrectly calculated
+ # for base currency transactions
+ if d.exchange_rate is None:
+ d.exchange_rate = 1
+
allocated_amount_in_pe_exchange_rate = flt(
flt(d.allocated_amount) * flt(d.exchange_rate), self.precision("base_paid_amount")
)