Merge pull request #35868 from ruthra-kumar/get_base_grand_total_while_pulling_reference_details
fix: incorrect outstanding and total amount in reference table of payment entry
This commit is contained in:
commit
a90fe25cc4
@ -1735,7 +1735,7 @@ def get_reference_details(reference_doctype, reference_name, party_account_curre
|
|||||||
if not total_amount:
|
if not total_amount:
|
||||||
if party_account_currency == company_currency:
|
if party_account_currency == company_currency:
|
||||||
# for handling cases that don't have multi-currency (base field)
|
# for handling cases that don't have multi-currency (base field)
|
||||||
total_amount = ref_doc.get("grand_total") or ref_doc.get("base_grand_total")
|
total_amount = ref_doc.get("base_grand_total") or ref_doc.get("grand_total")
|
||||||
exchange_rate = 1
|
exchange_rate = 1
|
||||||
else:
|
else:
|
||||||
total_amount = ref_doc.get("grand_total")
|
total_amount = ref_doc.get("grand_total")
|
||||||
|
@ -11,6 +11,7 @@ from frappe.utils import flt, nowdate
|
|||||||
from erpnext.accounts.doctype.payment_entry.payment_entry import (
|
from erpnext.accounts.doctype.payment_entry.payment_entry import (
|
||||||
InvalidPaymentEntry,
|
InvalidPaymentEntry,
|
||||||
get_payment_entry,
|
get_payment_entry,
|
||||||
|
get_reference_details,
|
||||||
)
|
)
|
||||||
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import (
|
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import (
|
||||||
make_purchase_invoice,
|
make_purchase_invoice,
|
||||||
@ -1037,6 +1038,29 @@ class TestPaymentEntry(FrappeTestCase):
|
|||||||
|
|
||||||
self.assertRaises(frappe.ValidationError, pe_draft.submit)
|
self.assertRaises(frappe.ValidationError, pe_draft.submit)
|
||||||
|
|
||||||
|
def test_details_update_on_reference_table(self):
|
||||||
|
so = make_sales_order(
|
||||||
|
customer="_Test Customer USD", currency="USD", qty=1, rate=100, do_not_submit=True
|
||||||
|
)
|
||||||
|
so.conversion_rate = 50
|
||||||
|
so.submit()
|
||||||
|
pe = get_payment_entry("Sales Order", so.name)
|
||||||
|
pe.references.clear()
|
||||||
|
pe.paid_from = "Debtors - _TC"
|
||||||
|
pe.paid_from_account_currency = "INR"
|
||||||
|
pe.source_exchange_rate = 50
|
||||||
|
pe.save()
|
||||||
|
|
||||||
|
ref_details = get_reference_details(so.doctype, so.name, pe.paid_from_account_currency)
|
||||||
|
expected_response = {
|
||||||
|
"total_amount": 5000.0,
|
||||||
|
"outstanding_amount": 5000.0,
|
||||||
|
"exchange_rate": 1.0,
|
||||||
|
"due_date": None,
|
||||||
|
"bill_no": None,
|
||||||
|
}
|
||||||
|
self.assertDictEqual(ref_details, expected_response)
|
||||||
|
|
||||||
|
|
||||||
def create_payment_entry(**args):
|
def create_payment_entry(**args):
|
||||||
payment_entry = frappe.new_doc("Payment Entry")
|
payment_entry = frappe.new_doc("Payment Entry")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user