fix: Add test to check if payment terms are fetched when creating a Sales Invoice
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index 974648d..bf69254 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -1229,7 +1229,42 @@
 
 		self.assertRaises(frappe.ValidationError, so.cancel)
 
+	def test_payment_terms_are_fetched_when_creating_invoice(self):
+		from erpnext.accounts.doctype.payment_entry.test_payment_entry import create_payment_terms_template
+		from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
 
+		automatically_fetch_payment_terms()
+
+		so = make_sales_order(uom="Nos", do_not_save=1)
+		create_payment_terms_template()
+		so.payment_terms_template = 'Test Receivable Template'
+		so.submit()
+
+		si = create_sales_invoice(qty=10, do_not_save=1)
+		si.items[0].sales_order = so.name
+		si.items[0].so_detail = so.items[0].name
+		si.insert()
+
+		self.assertEqual(so.payment_terms_template, si.payment_terms_template)
+		compare_payment_schedules(self, so, si)
+
+def automatically_fetch_payment_terms(enable=1):
+ 	accounts_settings = frappe.get_doc("Accounts Settings")
+ 	accounts_settings.automatically_fetch_payment_terms = enable
+ 	accounts_settings.save()
+
+def compare_payment_schedules(doc, doc1, doc2):
+	payment_schedule1 = frappe.db.sql("""select payment_term, description, due_date, mode_of_payment, invoice_portion, payment_amount
+		from `tabPayment Schedule`
+		where parenttype=%s and parent=%s
+		order by payment_term asc""", (doc1.doctype, doc1.name), as_dict=1)
+
+	payment_schedule2 = frappe.db.sql("""select payment_term, description, due_date, mode_of_payment, invoice_portion, payment_amount
+		from `tabPayment Schedule`
+		where parenttype=%s and parent=%s
+		order by payment_term asc""", (doc2.doctype, doc2.name), as_dict=1)
+
+	doc.assertEqual(payment_schedule1, payment_schedule2)
 
 def make_sales_order(**args):
 	so = frappe.new_doc("Sales Order")