diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index da09e26..096bb2d 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -14,15 +14,17 @@
 
 status_map = {
 	"Lead": [
-		["Converted", "has_customer"],
+		["Lost Quotation", "has_lost_quotation"],
 		["Opportunity", "has_opportunity"],
+		["Quotation", "has_quotation"],
+		["Converted", "has_customer"],
 	],
 	"Opportunity": [
 		["Quotation", "has_quotation"],
 		["Converted", "has_ordered_quotation"],
 		["Lost", "eval:self.status=='Lost'"],
+		["Lost", "has_lost_quotation"],
 		["Closed", "eval:self.status=='Closed'"]
-
 	],
 	"Quotation": [
 		["Draft", None],
diff --git a/erpnext/crm/doctype/lead/lead.json b/erpnext/crm/doctype/lead/lead.json
index d4a02e6..99d41af 100644
--- a/erpnext/crm/doctype/lead/lead.json
+++ b/erpnext/crm/doctype/lead/lead.json
@@ -203,7 +203,7 @@
    "no_copy": 1, 
    "oldfieldname": "status", 
    "oldfieldtype": "Select", 
-   "options": "Lead\nOpen\nReplied\nOpportunity\nInterested\nConverted\nDo Not Contact", 
+   "options": "Lead\nOpen\nReplied\nOpportunity\nQuotation\nLost Quotation\nInterested\nConverted\nDo Not Contact", 
    "permlevel": 0, 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
@@ -1014,7 +1014,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2016-11-07 05:16:25.037080", 
+ "modified": "2016-12-15 05:16:25.037080", 
  "modified_by": "Administrator", 
  "module": "CRM", 
  "name": "Lead", 
diff --git a/erpnext/crm/doctype/lead/lead.py b/erpnext/crm/doctype/lead/lead.py
index 18c0db4..ee3f96f 100644
--- a/erpnext/crm/doctype/lead/lead.py
+++ b/erpnext/crm/doctype/lead/lead.py
@@ -82,6 +82,21 @@
 	def has_opportunity(self):
 		return frappe.db.get_value("Opportunity", {"lead": self.name, "status": ["!=", "Lost"]})
 
+	def has_quotation(self):
+		return frappe.db.get_value("Quotation", {
+			"lead": self.name,
+			"docstatus": 1,
+			"status": ["!=", "Lost"]
+			
+		})
+
+	def has_lost_quotation(self):
+		return frappe.db.get_value("Quotation", {
+			"lead": self.name,
+			"docstatus": 1,
+			"status": "Lost"
+		})
+
 @frappe.whitelist()
 def make_customer(source_name, target_doc=None):
 	return _make_customer(source_name, target_doc)
diff --git a/erpnext/crm/doctype/opportunity/opportunity.py b/erpnext/crm/doctype/opportunity/opportunity.py
index 6ee9003..9111830 100644
--- a/erpnext/crm/doctype/opportunity/opportunity.py
+++ b/erpnext/crm/doctype/opportunity/opportunity.py
@@ -91,6 +91,14 @@
 		return frappe.db.sql("""select q.name from `tabQuotation` q, `tabQuotation Item` qi
 			where q.name = qi.parent and q.docstatus=1 and qi.prevdoc_docname =%s and q.status = 'Ordered'""", self.name)
 
+	def has_lost_quotation(self):
+		return frappe.db.sql("""
+			select q.name 
+			from `tabQuotation` q, `tabQuotation Item` qi
+			where q.name = qi.parent and q.docstatus=1 
+				and qi.prevdoc_docname =%s and q.status = 'Lost'
+			""", self.name)
+
 	def validate_cust_name(self):
 		if self.customer:
 			self.customer_name = frappe.db.get_value("Customer", self.customer, "customer_name")
diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py
index 6ed1888..56a365e 100644
--- a/erpnext/selling/doctype/quotation/quotation.py
+++ b/erpnext/selling/doctype/quotation/quotation.py
@@ -16,6 +16,7 @@
 	def validate(self):
 		super(Quotation, self).validate()
 		self.set_status()
+		self.update_opportunity()
 		self.validate_order_type()
 		self.validate_uom_is_integer("stock_uom", "qty")
 		self.validate_quotation_to()
@@ -35,6 +36,10 @@
 		elif self.lead:
 			self.quotation_to = "Lead"
 
+	def update_lead(self):
+		if self.lead:
+			frappe.get_doc("Lead", self.lead).set_status(update=True)
+
 	def update_opportunity(self):
 		for opportunity in list(set([d.prevdoc_docname for d in self.get("items")])):
 			if opportunity:
@@ -45,6 +50,7 @@
 			frappe.db.set(self, 'status', 'Lost')
 			frappe.db.set(self, 'order_lost_reason', arg)
 			self.update_opportunity()
+			self.update_lead()
 		else:
 			frappe.throw(_("Cannot set as Lost as Sales Order is made."))
 
@@ -60,11 +66,13 @@
 
 		#update enquiry status
 		self.update_opportunity()
+		self.update_lead()
 
 	def on_cancel(self):
 		#update enquiry status
 		self.set_status(update=True)
 		self.update_opportunity()
+		self.update_lead()
 
 	def print_other_charges(self,docname):
 		print_lst = []
