fix: Sales funnel data is inconsistent (#23110)

* fix: Sales funnel data is inconsistent

* fix: data inconsistency

* fix: Converted Count

Co-authored-by: Marica <maricadsouza221197@gmail.com>
diff --git a/erpnext/selling/page/sales_funnel/sales_funnel.py b/erpnext/selling/page/sales_funnel/sales_funnel.py
index dba24ef..b613718 100644
--- a/erpnext/selling/page/sales_funnel/sales_funnel.py
+++ b/erpnext/selling/page/sales_funnel/sales_funnel.py
@@ -20,29 +20,28 @@
 	validate_filters(from_date, to_date, company)
 
 	active_leads = frappe.db.sql("""select count(*) from `tabLead`
-		where (date(`modified`) between %s and %s)
-		and status != "Do Not Contact" and company=%s""", (from_date, to_date, company))[0][0]
-
-	active_leads += frappe.db.sql("""select count(distinct contact.name) from `tabContact` contact
-		left join `tabDynamic Link` dl on (dl.parent=contact.name) where dl.link_doctype='Customer'
-		and (date(contact.modified) between %s and %s) and status != "Passive" """, (from_date, to_date))[0][0]
+		where (date(`creation`) between %s and %s)
+		and company=%s""", (from_date, to_date, company))[0][0]
 
 	opportunities = frappe.db.sql("""select count(*) from `tabOpportunity`
 		where (date(`creation`) between %s and %s)
-		and status != "Lost" and company=%s""", (from_date, to_date, company))[0][0]
+		and opportunity_from='Lead' and company=%s""", (from_date, to_date, company))[0][0]
 
 	quotations = frappe.db.sql("""select count(*) from `tabQuotation`
 		where docstatus = 1 and (date(`creation`) between %s and %s)
-		and status != "Lost" and company=%s""", (from_date, to_date, company))[0][0]
+		and (opportunity!="" or quotation_to="Lead") and company=%s""", (from_date, to_date, company))[0][0]
 
-	sales_orders = frappe.db.sql("""select count(*) from `tabSales Order`
-		where docstatus = 1 and (date(`creation`) between %s and %s) and company=%s""", (from_date, to_date, company))[0][0]
+	converted = frappe.db.sql("""select count(*) from `tabCustomer`
+		JOIN `tabLead` ON `tabLead`.name = `tabCustomer`.lead_name 
+		WHERE (date(`tabCustomer`.creation) between %s and %s)
+		and `tabLead`.company=%s""", (from_date, to_date, company))[0][0]
+
 
 	return [
-		{ "title": _("Active Leads / Customers"), "value": active_leads, "color": "#B03B46" },
+		{ "title": _("Active Leads"), "value": active_leads, "color": "#B03B46" },
 		{ "title": _("Opportunities"), "value": opportunities, "color": "#F09C00" },
 		{ "title": _("Quotations"), "value": quotations, "color": "#006685" },
-		{ "title": _("Sales Orders"), "value": sales_orders, "color": "#00AD65" }
+		{ "title": _("Converted"), "value": converted, "color": "#00AD65" }
 	]
 
 @frappe.whitelist()