feat: create payment order from payment entry
diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py
index 9033f65..928d9a0 100644
--- a/erpnext/accounts/doctype/payment_entry/payment_entry.py
+++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py
@@ -967,3 +967,23 @@
 		"paid_from_account_balance": get_balance_on(paid_from, date, cost_center=cost_center),
 		"paid_to_account_balance": get_balance_on(paid_to, date=date, cost_center=cost_center)
 	})
+
+@frappe.whitelist()
+def make_payment_order(source_name, target_doc=None):
+	def set_missing_values(source, target):
+		target.append('references', {
+			'amount': source.base_paid_amount,
+			'supplier': source.party,
+			'payment_request': source_name,
+			'mode_of_payment': source.mode_of_payment,
+			'bank_account': source.bank_account,
+			'account': source.account
+		})
+
+	doclist = get_mapped_doc("Payment Request", source_name,	{
+		"Payment Request": {
+			"doctype": "Payment Order",
+		}
+	}, target_doc, set_missing_values)
+
+	return doclist
diff --git a/erpnext/accounts/doctype/payment_order/payment_order.js b/erpnext/accounts/doctype/payment_order/payment_order.js
index 10e1995..5b4f9fb 100644
--- a/erpnext/accounts/doctype/payment_order/payment_order.js
+++ b/erpnext/accounts/doctype/payment_order/payment_order.js
@@ -7,6 +7,9 @@
 			frm.add_custom_button(__('Payment Request'), function() {
 				frm.trigger("get_from_payment_request");
 			}, __("Get from"));
+			frm.add_custom_button(__('Payment Entry'), function() {
+				frm.trigger("get_from_payment_entry");
+			}, __("Get from"));
 		}
 
 		// payment Entry
@@ -18,6 +21,22 @@
 		}
 	},
 
+	get_from_payment_entry: function(frm) {
+		erpnext.utils.map_current_doc({
+			method: "erpnext.accounts.doctype.payment_entry.payment_entry.make_payment_order",
+			source_doctype: "Payment Entry",
+			target: frm,
+			date_field: "posting_date",
+			setters: {
+				party: frm.doc.supplier || ""
+			},
+			get_query_filters: {
+				bank: frm.doc.bank,
+				docstatus: 1,
+			}
+		});
+	},
+
 	get_from_payment_request: function(frm) {
 		erpnext.utils.map_current_doc({
 			method: "erpnext.accounts.doctype.payment_request.payment_request.make_payment_order",