diff --git a/erpnext/selling/report/sales_analytics/sales_analytics.py b/erpnext/selling/report/sales_analytics/sales_analytics.py index 6cb70502b97..f20f78d741d 100644 --- a/erpnext/selling/report/sales_analytics/sales_analytics.py +++ b/erpnext/selling/report/sales_analytics/sales_analytics.py @@ -241,14 +241,17 @@ class Analytics: entity_name = "party_name as entity_name" value_field = "base_paid_amount as value_field" + filters = { + "docstatus": 1, + "company": ["in", self.filters.company], + self.date_field: ("between", [self.filters.from_date, self.filters.to_date]), + } + + if self.filters.doc_type in ["Sales Invoice", "Purchase Invoice", "Payment Entry"]: + filters.update({"is_opening": "No"}) + self.entries = frappe.get_all( - self.filters.doc_type, - fields=[entity, entity_name, value_field, self.date_field], - filters={ - "docstatus": 1, - "company": ["in", self.filters.company], - self.date_field: ("between", [self.filters.from_date, self.filters.to_date]), - }, + self.filters.doc_type, fields=[entity, entity_name, value_field, self.date_field], filters=filters ) self.entity_names = {} @@ -300,14 +303,19 @@ class Analytics: else: entity_field = "territory as entity" + filters = { + "docstatus": 1, + "company": ["in", self.filters.company], + self.date_field: ("between", [self.filters.from_date, self.filters.to_date]), + } + + if self.filters.doc_type in ["Sales Invoice", "Purchase Invoice", "Payment Entry"]: + filters.update({"is_opening": "No"}) + self.entries = frappe.get_all( self.filters.doc_type, fields=[entity_field, value_field, self.date_field], - filters={ - "docstatus": 1, - "company": ["in", self.filters.company], - self.date_field: ("between", [self.filters.from_date, self.filters.to_date]), - }, + filters=filters, ) self.get_groups() @@ -349,15 +357,18 @@ class Analytics: entity = "project as entity" + filters = { + "docstatus": 1, + "company": ["in", self.filters.company], + "project": ["!=", ""], + self.date_field: ("between", [self.filters.from_date, self.filters.to_date]), + } + + if self.filters.doc_type in ["Sales Invoice", "Purchase Invoice", "Payment Entry"]: + filters.update({"is_opening": "No"}) + self.entries = frappe.get_all( - self.filters.doc_type, - fields=[entity, value_field, self.date_field], - filters={ - "docstatus": 1, - "company": ["in", self.filters.company], - "project": ["!=", ""], - self.date_field: ("between", [self.filters.from_date, self.filters.to_date]), - }, + self.filters.doc_type, fields=[entity, value_field, self.date_field], filters=filters ) def get_rows(self):