diff --git a/erpnext/selling/page/point_of_sale/point_of_sale.js b/erpnext/selling/page/point_of_sale/point_of_sale.js
index 0876228..b142a06 100644
--- a/erpnext/selling/page/point_of_sale/point_of_sale.js
+++ b/erpnext/selling/page/point_of_sale/point_of_sale.js
@@ -50,11 +50,11 @@
 				this.set_online_status();
 			},
 			() => this.setup_company(),
-
 			() => this.make_new_invoice(),
 			() => {
 				frappe.dom.unfreeze();
 			},
+			() => this.fetch_pos_profile_data(),
 			() => this.page.set_title(__('Point of Sale'))
 		]);
 	}
@@ -471,6 +471,23 @@
 		});
 	}
 
+	fetch_pos_profile_data() {
+		var me = this;
+		me.frm.doc["allow_print_before_pay"] = 0;
+		return new Promise(resolve => {
+			return this.frm.call({
+				method: "erpnext.selling.page.point_of_sale.point_of_sale.fetch_pos_profile_detail",
+				args:{
+						pos_profile : me.frm.doc.pos_profile
+					 }
+			}).then((r) => {
+				me.frm.doc["allow_print_before_pay"] = r.message;
+				this.set_form_action();
+				resolve();
+			});
+		});
+	}	
+
 	prepare_menu() {
 		var me = this;
 		this.page.clear_menu();
@@ -499,19 +516,20 @@
 	}
 
 	set_form_action() {
-		if(this.frm.doc.docstatus !== 1) return;
+		if(this.frm.doc.docstatus == 1 || this.frm.doc.allow_print_before_pay == 1){
 
-		this.page.set_secondary_action(__("Print"), () => {
-			this.frm.print_preview.printit(true);
-		});
+			this.page.set_secondary_action(__("Print"), () => {
+				this.frm.print_preview.printit(true);
+			});
 
-		this.page.set_primary_action(__("New"), () => {
-			this.make_new_invoice();
-		});
+			this.page.set_primary_action(__("New"), () => {
+				this.make_new_invoice();
+			});
 
-		this.page.add_menu_item(__("Email"), () => {
-			this.frm.email_doc();
-		});
+			this.page.add_menu_item(__("Email"), () => {
+				this.frm.email_doc();
+			});
+		}
 	}
 };
 
diff --git a/erpnext/selling/page/point_of_sale/point_of_sale.py b/erpnext/selling/page/point_of_sale/point_of_sale.py
index d98a017..054c8af 100644
--- a/erpnext/selling/page/point_of_sale/point_of_sale.py
+++ b/erpnext/selling/page/point_of_sale/point_of_sale.py
@@ -124,3 +124,10 @@
 			where {condition} and (name like %(txt)s) limit {start}, {page_len}"""
 		.format(condition = cond, start=start, page_len= page_len),
 			{'txt': '%%%s%%' % txt})
+
+@frappe.whitelist()
+def fetch_pos_profile_detail(pos_profile):
+	doc_detail=frappe.get_doc("POS Profile",pos_profile)
+	print_check=doc_detail.allow_print_before_pay
+	return print_check
+
