diff --git a/erpnext/selling/report/sales_analytics/sales_analytics.py b/erpnext/selling/report/sales_analytics/sales_analytics.py index 262687ef19d..96b018c6c5b 100644 --- a/erpnext/selling/report/sales_analytics/sales_analytics.py +++ b/erpnext/selling/report/sales_analytics/sales_analytics.py @@ -177,14 +177,17 @@ class Analytics: entity = "supplier as entity" entity_name = "supplier_name as entity_name" + 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 = {} @@ -236,14 +239,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() @@ -282,15 +290,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):