diff --git a/erpnext/buying/doctype/buying_settings/buying_settings.json b/erpnext/buying/doctype/buying_settings/buying_settings.json
index b20257c..2791e32 100644
--- a/erpnext/buying/doctype/buying_settings/buying_settings.json
+++ b/erpnext/buying/doctype/buying_settings/buying_settings.json
@@ -30,7 +30,7 @@
   "column_break_11",
   "over_transfer_allowance",
   "section_break_xcug",
-  "purchase_order_submit_action"
+  "action_on_purchase_order_submission"
  ],
  "fields": [
   {
@@ -180,9 +180,9 @@
    "fieldtype": "Section Break"
   },
   {
-   "fieldname": "purchase_order_submit_action",
+   "fieldname": "action_on_purchase_order_submission",
    "fieldtype": "Select",
-   "label": "Purchase Order Submit Action",
+   "label": "Action on Purchase Order Submission",
    "options": "\nCreate Subcontracting Order\nCreate and Submit Subcontracting Order"
   }
  ],
@@ -191,7 +191,7 @@
  "index_web_pages_for_search": 1,
  "issingle": 1,
  "links": [],
- "modified": "2023-11-22 16:05:33.262940",
+ "modified": "2023-11-22 17:42:28.978582",
  "modified_by": "Administrator",
  "module": "Buying",
  "name": "Buying Settings",
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index 961697c..86a652b 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -357,6 +357,8 @@
 
 		update_linked_doc(self.doctype, self.name, self.inter_company_order_reference)
 
+		self.auto_create_subcontracting_order()
+
 	def on_cancel(self):
 		self.ignore_linked_doctypes = ("GL Entry", "Payment Ledger Entry")
 		super(PurchaseOrder, self).on_cancel()
@@ -484,6 +486,16 @@
 
 		return result
 
+	def auto_create_subcontracting_order(self):
+		if self.is_subcontracted and not self.is_old_subcontracting_flow:
+			if action := frappe.db.get_single_value(
+				"Buying Settings", "action_on_purchase_order_submission"
+			):
+				if action == "Create Subcontracting Order":
+					make_subcontracting_order(self.name, save=True)
+				elif action == "Create and Submit Subcontracting Order":
+					make_subcontracting_order(self.name, submit=True)
+
 
 def item_last_purchase_rate(name, conversion_rate, item_code, conversion_factor=1.0):
 	"""get last purchase rate for an item"""
@@ -686,8 +698,18 @@
 
 
 @frappe.whitelist()
-def make_subcontracting_order(source_name, target_doc=None):
-	return get_mapped_subcontracting_order(source_name, target_doc)
+def make_subcontracting_order(source_name, target_doc=None, save=False, submit=False):
+	target_doc = get_mapped_subcontracting_order(source_name, target_doc)
+
+	if (save or submit) and frappe.has_permission(target_doc.doctype, "create"):
+		target_doc.save()
+		if submit and frappe.has_permission(target_doc.doctype, "submit", target_doc):
+			try:
+				target_doc.submit()
+			except Exception as e:
+				target_doc.add_comment("Comment", _("Submit Action Failed") + "<br><br>" + str(e))
+
+	return target_doc
 
 
 def get_mapped_subcontracting_order(source_name, target_doc=None):
