From 7149df398a9784460ad4793b8d1b1f662026d7e9 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Mon, 24 Aug 2026 13:46:50 +0530 Subject: [PATCH] fix: include time logs ending at midnight in timesheet billing summary (#58355) --- .../timesheet_billing_summary/timesheet_billing_summary.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/projects/report/timesheet_billing_summary/timesheet_billing_summary.py b/erpnext/projects/report/timesheet_billing_summary/timesheet_billing_summary.py index 5917f664ce4..70b3d0c0c80 100644 --- a/erpnext/projects/report/timesheet_billing_summary/timesheet_billing_summary.py +++ b/erpnext/projects/report/timesheet_billing_summary/timesheet_billing_summary.py @@ -2,7 +2,7 @@ import frappe from frappe import _ from frappe.desk.query_report import get_filtered_data from frappe.model.docstatus import DocStatus -from frappe.utils import getdate +from frappe.utils import add_days, getdate VALUE_FIELDNAMES = ("hours", "billing_hours", "billing_amount") @@ -99,7 +99,7 @@ def get_data(filters): if filters.get("from_date"): _filters.append(("Timesheet Detail", "from_time", ">=", filters.get("from_date"))) if filters.get("to_date"): - _filters.append(("Timesheet Detail", "to_time", "<=", filters.get("to_date") + " 23:59:59")) + _filters.append(("Timesheet Detail", "from_time", "<", add_days(getdate(filters.get("to_date")), 1))) if not filters.get("include_draft_timesheets"): _filters.append(("docstatus", "=", DocStatus.submitted())) else: