My versions are
ERPNext: v12.14.0 (version-12)
Frappe Framework: v12.12.0 (version-12)
The file
/home/frappe/frappe-bench/apps/erpnext/erpnext/projects/report/project_billing_summary/project_billing_summary.py
Makes an assumption on line 74 that the time sheet detail from_time and to_time have a date value.
Since the fields in Timesheet Detail are not mandatory the value is None and throws an exception
Here is a snippet
def get_data(filters):
data = []
if(filters.from_date > filters.to_date):
frappe.msgprint(_(" From Date can not be greater than To Date"))
return data
timesheets = get_timesheets(filters)
filters.from_date = frappe.utils.get_datetime(filters.from_date)
filters.to_date = frappe.utils.add_to_date(frappe.utils.get_datetime(filters.to_date), days=1, seconds=-1)
timesheet_details = get_timesheet_details(filters, timesheets.keys())
for ts, ts_details in timesheet_details.items():
total_hours = 0
total_billing_hours = 0
total_amount = 0
for row in ts_details:
from_time, to_time = filters.from_date, filters.to_date
74 problem–>> if row.to_time < from_time or row.from_time > to_time:
continue