Skip to content

Commit

Permalink
Merge pull request #40511 from ruthra-kumar/incorrect_exc_gain_loss
Browse files Browse the repository at this point in the history
fix: invalid exchange loss booking on invoice against base accounts
  • Loading branch information
ruthra-kumar committed Mar 18, 2024
2 parents 7695759 + e1c2d00 commit 3dd6686
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 1 deletion.
4 changes: 3 additions & 1 deletion erpnext/accounts/doctype/payment_entry/payment_entry.py
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,9 @@ def set_missing_ref_details(
ref_details = get_reference_details(
d.reference_doctype, d.reference_name, self.party_account_currency
)
if ref_exchange_rate:

# Only update exchange rate when the reference is Journal Entry
if ref_exchange_rate and d.reference_doctype == "Journal Entry":
ref_details.update({"exchange_rate": ref_exchange_rate})

for field, value in ref_details.items():
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1130,6 +1130,17 @@ def test_no_difference_amount_for_base_currency_accounts(self):
self.assertEqual(pr.allocation[0].allocated_amount, 85)
self.assertEqual(pr.allocation[0].difference_amount, 0)

pr.reconcile()
si.reload()
self.assertEqual(si.outstanding_amount, 0)
# No Exchange Gain/Loss journal should be generated
exc_gain_loss_journals = frappe.db.get_all(
"Journal Entry Account",
filters={"reference_type": si.doctype, "reference_name": si.name, "docstatus": 1},
fields=["parent"],
)
self.assertEqual(exc_gain_loss_journals, [])

def test_reconciliation_purchase_invoice_against_return(self):
self.supplier = "_Test Supplier USD"
pi = self.create_purchase_invoice(qty=5, rate=50, do_not_submit=True)
Expand Down

0 comments on commit 3dd6686

Please sign in to comment.