From b570d97b4d5ca4ea753cfe11d321fe9ffd1bc52c 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 --- .../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 bd24c09ce57..e82cbdc8be1 100644 --- a/erpnext/accounts/doctype/payment_request/payment_request.py +++ b/erpnext/accounts/doctype/payment_request/payment_request.py @@ -672,7 +672,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"