diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py index 184c0792dda..bcaf8f897f9 100644 --- a/erpnext/controllers/accounts_controller.py +++ b/erpnext/controllers/accounts_controller.py @@ -2328,7 +2328,9 @@ class AccountsController(TransactionBase): and automatically_fetch_payment_terms and self.linked_order_has_payment_terms(po_or_so, fieldname, doctype) ): - self.fetch_payment_terms_from_order(po_or_so, doctype, grand_total, base_grand_total) + self.fetch_payment_terms_from_order( + po_or_so, doctype, grand_total, base_grand_total, automatically_fetch_payment_terms + ) if self.get("payment_terms_template"): self.ignore_default_payment_terms_template = 1 elif self.get("payment_terms_template"): @@ -2372,7 +2374,9 @@ class AccountsController(TransactionBase): d.payment_amount * self.get("conversion_rate"), d.precision("base_payment_amount") ) else: - self.fetch_payment_terms_from_order(po_or_so, doctype, grand_total, base_grand_total) + self.fetch_payment_terms_from_order( + po_or_so, doctype, grand_total, base_grand_total, automatically_fetch_payment_terms + ) self.ignore_default_payment_terms_template = 1 def get_order_details(self): @@ -2410,7 +2414,9 @@ class AccountsController(TransactionBase): def linked_order_has_payment_schedule(self, po_or_so): return frappe.get_all("Payment Schedule", filters={"parent": po_or_so}) - def fetch_payment_terms_from_order(self, po_or_so, po_or_so_doctype, grand_total, base_grand_total): + def fetch_payment_terms_from_order( + self, po_or_so, po_or_so_doctype, grand_total, base_grand_total, automatically_fetch_payment_terms + ): """ Fetch Payment Terms from Purchase/Sales Order on creating a new Purchase/Sales Invoice. """ @@ -2429,7 +2435,7 @@ class AccountsController(TransactionBase): "paid_amount": schedule.paid_amount, } - if payment_schedule["invoice_portion"]: + if automatically_fetch_payment_terms: payment_schedule["payment_amount"] = flt( grand_total * flt(payment_schedule["invoice_portion"]) / 100, schedule.precision("payment_amount"),