From be280a408ececcd92e9b2b5000cf2dc952a3d02f Mon Sep 17 00:00:00 2001 From: l0gesh29 Date: Fri, 9 May 2025 17:27:48 +0530 Subject: [PATCH] fix(SalesAnalytics): Ignore opening entries (cherry picked from commit 6d269b440921ae942785a419aca2febf7bb8fcc2) --- .../report/sales_analytics/sales_analytics.py | 51 +++++++++++-------- 1 file changed, 31 insertions(+), 20 deletions(-) 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):