fix: Condition for fetching Payment Terms from Sales/Purchase Orders
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 913e70b..f475bc2 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -1101,16 +1101,16 @@
base_grand_total = flt(grand_total * self.get("conversion_rate"), self.precision("base_grand_total"))
if not self.get("payment_schedule"):
+ if self.doctype in ["Sales Invoice", "Purchase Invoice"] and not self.get("payment_terms_template"):
+ po_or_so, doctype, fieldname = self.get_order_details()
+
if self.get("payment_terms_template"):
data = get_payment_terms(self.payment_terms_template, posting_date, grand_total, base_grand_total)
for item in data:
self.append("payment_schedule", item)
- elif self.doctype in ["Sales Invoice", "Purchase Invoice"]:
- po_or_so, doctype, fieldname = self.get_order_details()
-
- if self.linked_order_has_payment_terms(po_or_so, fieldname, doctype):
- self.fetch_payment_terms_from_order(po_or_so, doctype)
+ elif self.doctype in ["Sales Invoice", "Purchase Invoice"] and self.linked_order_has_payment_terms(po_or_so, fieldname, doctype):
+ self.fetch_payment_terms_from_order(po_or_so, doctype)
elif self.doctype not in ["Purchase Receipt"]:
data = dict(due_date=due_date, invoice_portion=100, payment_amount=grand_total, base_payment_amount=base_grand_total)