fix: incorrect exc gain/loss for PE against JE for payable accounts
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 66097ce..bd7d926 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -1439,7 +1439,8 @@
dr_or_cr = "debit" if d.exchange_gain_loss > 0 else "credit"
- if d.reference_doctype == "Purchase Invoice":
+ # Inverse debit/credit for payable accounts
+ if self.is_payable_account(d.reference_doctype, party_account):
dr_or_cr = "debit" if dr_or_cr == "credit" else "credit"
reverse_dr_or_cr = "debit" if dr_or_cr == "credit" else "credit"
@@ -1473,6 +1474,14 @@
)
)
+ def is_payable_account(self, reference_doctype, account):
+ if reference_doctype == "Purchase Invoice" or (
+ reference_doctype == "Journal Entry"
+ and frappe.get_cached_value("Account", account, "account_type") == "Payable"
+ ):
+ return True
+ return False
+
def update_against_document_in_jv(self):
"""
Links invoice and advance voucher: