From c2235e2d17d207dc448a3c72450263725b611ada Mon Sep 17 00:00:00 2001 From: venkat102 Date: Thu, 24 Apr 2025 11:33:18 +0530 Subject: [PATCH] fix(payment request): get advance amount based on transaction currency (cherry picked from commit b570d97b4d5ca4ea753cfe11d321fe9ffd1bc52c) --- .../accounts/doctype/payment_request/payment_request.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py index 0027f0aa8be..344248b57b6 100644 --- a/erpnext/accounts/doctype/payment_request/payment_request.py +++ b/erpnext/accounts/doctype/payment_request/payment_request.py @@ -670,7 +670,12 @@ def get_amount(ref_doc, payment_account=None): dt = ref_doc.doctype if dt in ["Sales Order", "Purchase Order"]: - grand_total = (flt(ref_doc.rounded_total) or flt(ref_doc.grand_total)) - ref_doc.advance_paid + advance_amount = flt(ref_doc.advance_paid) + if ref_doc.party_account_currency != ref_doc.currency: + advance_amount = flt(flt(ref_doc.advance_paid) / ref_doc.conversion_rate) + + grand_total = (flt(ref_doc.rounded_total) or flt(ref_doc.grand_total)) - advance_amount + elif dt in ["Sales Invoice", "Purchase Invoice"]: if ( dt == "Sales Invoice"