Summary:
The Web TimeSheet administrator has created a report based on Project Status template. The report shows the status of a project with details like client name, project name, task name (hierarchy), task code, estimated hours, estimated cost, billable hours, non-billable hours, time billable amount, expense amount etc. Roll up cost/hours from sub-tasks to parent task/project is enabled in System Preferences. Projects and sub-tasks do not have codes but tasks have codes associated with them. The Web TimeSheet administrator runs the report, exports it to Excel and then sends it to different users after making some minor changes. The end-users of the report identify a task by its code rather than its name. Roll up of cost/hours is also important. So the report is run with both task name (hierarchy) and task code enabled. When the report is run with both the fields enabled, the report shows the project name under Task Name (Hierarchy) column multiple times with the task codes associated with various tasks under the project. However, if task code field is not enabled, the report runs fine without the duplicate rows. Please find attached the report with task code enabled and disabled. This makes it imperative for the administrator to manually delete all the duplicate rows once the report is exported to Excel.

Resolution:
This is the limitation of the reporting engine tool. To work around the issue, the report has to be run with task code enabled and all the duplicate rows have to be manually deleted after the report is exported to Excel or task codes have to be appended to task names and the report has to be run with task code disabled.