diff --git a/erpnext/controllers/website_list_for_contact.py b/erpnext/controllers/website_list_for_contact.py
index ecf041e..801c405 100644
--- a/erpnext/controllers/website_list_for_contact.py
+++ b/erpnext/controllers/website_list_for_contact.py
@@ -25,7 +25,7 @@
 
 	if not filters: filters = []
 
-	if doctype in ['Supplier Quotation', 'Purchase Invoice']:
+	if doctype in ['Supplier Quotation', 'Purchase Invoice', 'Quotation']:
 		filters.append((doctype, 'docstatus', '<', 2))
 	else:
 		filters.append((doctype, 'docstatus', '=', 1))
diff --git a/erpnext/shopping_cart/cart.py b/erpnext/shopping_cart/cart.py
index a7e8388..414b3de 100644
--- a/erpnext/shopping_cart/cart.py
+++ b/erpnext/shopping_cart/cart.py
@@ -96,7 +96,7 @@
 def request_for_quotation():
 	quotation = _get_cart_quotation()
 	quotation.flags.ignore_permissions = True
-	quotation.submit()
+	quotation.save() if get_shopping_cart_settings().draft_quotation else quotation.submit()
 	return quotation.name
 
 @frappe.whitelist()
diff --git a/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.json b/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.json
index 32004ef..b3286ed 100644
--- a/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.json
+++ b/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.json
@@ -12,6 +12,7 @@
   "show_price",
   "show_stock_availability",
   "enable_variants",
+  "draft_quotation",
   "column_break_7",
   "show_contact_us_button",
   "show_quantity_in_website",
@@ -166,13 +167,20 @@
    "fieldname": "enable_variants",
    "fieldtype": "Check",
    "label": "Enable Variants"
+  },
+  {
+   "default": "0",
+   "depends_on": "eval: doc.enable_checkout == 0",
+   "fieldname": "draft_quotation",
+   "fieldtype": "Check",
+   "label": "Draft Quotation"
   }
  ],
  "icon": "fa fa-shopping-cart",
  "idx": 1,
  "issingle": 1,
  "links": [],
- "modified": "2020-08-02 18:21:43.873303",
+ "modified": "2020-09-23 13:18:09.057707",
  "modified_by": "Administrator",
  "module": "Shopping Cart",
  "name": "Shopping Cart Settings",
diff --git a/erpnext/templates/includes/transaction_row.html b/erpnext/templates/includes/transaction_row.html
index 80a542f..c3b717d 100644
--- a/erpnext/templates/includes/transaction_row.html
+++ b/erpnext/templates/includes/transaction_row.html
@@ -14,7 +14,11 @@
 			</div>
 		</div>
 		<div class="col-sm-3 text-right bold">
-			{{ doc.get_formatted("grand_total") }}
+			{% if doc.doctype == "Quotation" and not doc.docstatus %}
+				{{ _("Pending For Approval") }}
+			{% else %}
+				{{ doc.get_formatted("grand_total") }}
+			{% endif %}
 		</div>
 	</div>
 	<a class="transaction-item-link" href="/{{ pathname }}/{{ doc.name }}">Link</a>
diff --git a/erpnext/templates/pages/order.html b/erpnext/templates/pages/order.html
index 9e3c58b..19a1027 100644
--- a/erpnext/templates/pages/order.html
+++ b/erpnext/templates/pages/order.html
@@ -12,22 +12,23 @@
 {% endblock %}
 
 {% block header_actions %}
-<div class="dropdown">
-	<button class="btn btn-outline-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
-		<span>{{ _('Actions') }}</span>
-		<b class="caret"></b>
-	</button>
-	<ul class="dropdown-menu dropdown-menu-right" role="menu">
-		{% if doc.doctype == 'Purchase Order' %}
-		<a class="dropdown-item" href="/api/method/erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_invoice_from_portal?purchase_order_name={{ doc.name }}" data-action="make_purchase_invoice">{{ _("Make Purchase Invoice") }}</a>
-		{% endif %}
-		<a class="dropdown-item" href='/printview?doctype={{ doc.doctype}}&name={{ doc.name }}&format={{ print_format }}'
-			target="_blank" rel="noopener noreferrer">
-			{{ _("Print") }}
-		</a>
-	</ul>
-</div>
-
+	{% if not(doc.doctype == "Quotation" and not doc.docstatus) %}
+		<div class="dropdown">
+			<button class="btn btn-outline-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
+				<span>{{ _('Actions') }}</span>
+				<b class="caret"></b>
+			</button>
+			<ul class="dropdown-menu dropdown-menu-right" role="menu">
+				{% if doc.doctype == 'Purchase Order' %}
+				<a class="dropdown-item" href="/api/method/erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_invoice_from_portal?purchase_order_name={{ doc.name }}" data-action="make_purchase_invoice">{{ _("Make Purchase Invoice") }}</a>
+				{% endif %}
+				<a class="dropdown-item" href='/printview?doctype={{ doc.doctype}}&name={{ doc.name }}&format={{ print_format }}'
+					target="_blank" rel="noopener noreferrer">
+					{{ _("Print") }}
+				</a>
+			</ul>
+		</div>
+	{% endif %}
 {% endblock %}
 
 {% block page_content %}
@@ -65,43 +66,46 @@
 <div class="order-container">
 
 	<!-- items -->
-	<div class="order-item-table">
-		<div class="row order-items order-item-header text-muted">
-			<div class="col-sm-6 col-6 h6 text-uppercase">
-				{{ _("Item") }}
+	{% if doc.doctype == "Quotation" and not doc.docstatus %}
+		{{ _("Pending For Approval") }}
+	{% else %}
+		<div class="order-item-table">
+			<div class="row order-items order-item-header text-muted">
+				<div class="col-sm-6 col-6 h6 text-uppercase">
+					{{ _("Item") }}
+				</div>
+				<div class="col-sm-3 col-xs-3 text-right h6 text-uppercase">
+					{{ _("Quantity") }}
+				</div>
+				<div class="col-sm-3 col-xs-3 text-right h6 text-uppercase">
+					{{ _("Amount") }}
+				</div>
 			</div>
-			<div class="col-sm-3 col-xs-3 text-right h6 text-uppercase">
-				{{ _("Quantity") }}
+			{% for d in doc.items %}
+			<div class="row order-items">
+				<div class="col-sm-6 col-6">
+					{{ item_name_and_description(d) }}
+				</div>
+				<div class="col-sm-3 col-xs-3 text-right">
+					{{ d.qty }}
+					{% if d.delivered_qty is defined and d.delivered_qty != None %}
+					<p class="text-muted small">{{ _("Delivered") }}&nbsp;{{ d.delivered_qty }}</p>
+					{% endif %}
+				</div>
+				<div class="col-sm-3 col-xs-3 text-right">
+					{{ d.get_formatted("amount")	 }}
+					<p class="text-muted small">{{ _("Rate:") }}&nbsp;{{ d.get_formatted("rate") }}</p>
+				</div>
 			</div>
-			<div class="col-sm-3 col-xs-3 text-right h6 text-uppercase">
-				{{ _("Amount") }}
-			</div>
+			{% endfor %}
 		</div>
-		{% for d in doc.items %}
-		<div class="row order-items">
-			<div class="col-sm-6 col-6">
-				{{ item_name_and_description(d) }}
-			</div>
-			<div class="col-sm-3 col-xs-3 text-right">
-				{{ d.qty }}
-				{% if d.delivered_qty is defined and d.delivered_qty != None %}
-				<p class="text-muted small">{{ _("Delivered") }}&nbsp;{{ d.delivered_qty }}</p>
-				{% endif %}
-			</div>
-			<div class="col-sm-3 col-xs-3 text-right">
-				{{ d.get_formatted("amount")	 }}
-				<p class="text-muted small">{{ _("Rate:") }}&nbsp;{{ d.get_formatted("rate") }}</p>
-			</div>
-		</div>
-		{% endfor %}
-	</div>
-
-	<!-- taxes -->
+		<!-- taxes -->
 	<div class="order-taxes d-flex justify-content-end">
 		<table>
 			{% include "erpnext/templates/includes/order/order_taxes.html" %}
 		</table>
 	</div>
+	{% endif %}	
 </div>
 
 {% if enabled_checkout and ((doc.doctype=="Sales Order" and doc.per_billed <= 0)
