diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 2bf5c77..913e70b 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -1109,7 +1109,7 @@
 			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):
+				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 not in ["Purchase Receipt"]:
@@ -1138,9 +1138,9 @@
 		
 		return po_or_so, po_or_so_doctype, po_or_so_doctype_name
 
-	def linked_order_has_payment_terms(self, po_or_so, fieldname):
+	def linked_order_has_payment_terms(self, po_or_so, fieldname, doctype):
 		if po_or_so and self.all_items_have_same_po_or_so(po_or_so, fieldname):
-			if self.linked_order_has_payment_terms_template(po_or_so):
+			if self.linked_order_has_payment_terms_template(po_or_so, doctype):
 				return True
 			elif self.linked_order_has_payment_schedule(po_or_so):
 				return True
@@ -1154,8 +1154,8 @@
 		
 		return True
 
-	def linked_order_has_payment_terms_template(self, po_or_so):
-		return frappe.get_value('Sales Order', po_or_so, 'payment_terms_template')
+	def linked_order_has_payment_terms_template(self, po_or_so, doctype):
+		return frappe.get_value(doctype, po_or_so, 'payment_terms_template')
 
 	def linked_order_has_payment_schedule(self, po_or_so):
 		return frappe.get_all('Payment Schedule', filters={'parent': po_or_so})
