Detailed Time Cost Report

With Time Tracking practice enabled, Targetprocess users post actually spent time against various entities. Detailed time reports are used to build lists of submitted records, group them per work items, work scopes, users, roles, and date ranges, and calculate totals per each group. It is possible to calculate total budget spent on your projects using time tracking data and custom personal hourly rates.

The report described below is a Detailed Time Report with custom calculations applied. The report uses Times entities as data source. Spent hours values are multiplied by personal hourly rates, then totals are calculated.

Personal hourly rates are set per individual user. In the basic use case rates for a user are same for all the projects he or she is a member of.

All users in the system can view personal rates of each other. There is no robust solution that could hide rates set to personal custom fields, per role. Alternate option is to introduce flexible hidden role-based or skills-based rates instead of personal rates. The formulas are described below.

Custom calculations are performed in Visual Reports. Results are displayed in reports only. Calculations can be configured and modified by any Targetprocess user (report owner). The reports can be exported for external audit and further processing by third-party software in the form of tabular and graphical files.

To get calculated totals displayed in detailed views, enable filtering and grouping in Targetprocess views and legacy tabular reports, add custom calculations for work items and high-level planning entities. The custom calculations are done by Custom Formula Metrics. They can be configured and modified by Administrators only.

Improperly configured calculations may be not accurate enough. Verify the reports before using them for billing and invoicing purposes. Use non-verified reports on your own risk.

Prerequisites

Configure Rates

Changes described below are performed by Administrators.

To track personal rates per user, add a custom field of Number or Money type to a User entity.

To track personal rates per role per project, add a custom field of Number or Money type to a Project entity. Add as many fields as number of billable roles you want to track separately.

To track personal rates per skill level per project, add a custom field of Number or Money type to a Project entity. Add as many fields as number of skills you want to track separately. Add a custom field of Drop Down List type to a User entity to represent skill level.

Fill in custom field values.

In this use case, all time spent entries are billable by default. If it is required to allow your users to submit both billable and non-billable time entities and filter out non-billable ones in invoicing reports, you may introduce additional solution: Tracking Billable and Non-Billable Time Records.

Visual Report for Time Cost

Create the report as a blank Entity Report based on Times data source.

  1. Set the Projects and Teams Selection for the report
  2. Apply a filter (if desired) to review only times from a select time period. More on filters: Filters for Time List views and visual reports
  3. Create the report
  4. Add field or formula > Formula
  5. Name: Cost
  6. Formula: Spent*User.CustomValues.Number("Rate")
  7. Use a bar chart as the Chart Type
  8. Set Project Name for the X-axis (or use the name of the work entity you want to display, such as a User Story Name)
  9. Use ‘Cost’ for the Y-axis and then Sum this field.

How to create the ‘Cost’ formula:

Here's how to add custom calculations to charts in the Visual Reports Editor: Add Fields or Custom Formulas to Data Fields.

Name: Cost

Formula:Spent*User.CustomValues.Number("Rate")

Report Output:

Grouping

In order to setup date filters and grouping, or to see the total amount for each user or work item in a given project, it is possible to configure filtering and grouping.

Cost per User / User Story / Bug / Task / Project / Date Range

Put one of the supported Data Fields to X and/or Color axes to get Time records grouped per corresponding field. Total Costs are calculated per each group.

Cost per Feature, Epic

There are no prefefined fields displaying references of Time records to high-level planning entities. To build time reports with distribution per these entities use custom calculations based on custom formula metrics or Visual Reports calculations. Examples:

Flexible Hidden Rates

Hidden role-based or skills-based rates are useful as with them it is not needed to specify personal rates in user profiles.

All the custom formulas below are valid for reports based on Times data source.

To use the calculations, replace origin rate references in custom formulas such as:User.CustomValues.Number("Rate")

with advanced custom calculations, for example:
(CASE WHEN Role.Name = 'Developer' THEN 130 WHEN Role.Name = 'QA Engineer' THEN 110 ELSE 80 END)

Rates based on Time Role

The rates are calculated with Time Role Rate custom formula.

Roles are specified per time spent record. In most cases the system selects proper role automatically: based on the role the user is assigned to a work item and the one which is responsible for current work item state. To retrieve names of Roles use the following custom formula:Role.Name

Fixed rates per Role

Rates per role are common for all projects. Rates are specified as constant values in calculation formulas.
CASE
WHEN Role.Name = 'Developer' THEN 130
WHEN Role.Name = 'QA Engineer' THEN 110
ELSE 80
END

Rates vary per Project

Rates per role are specified per project. Numeric custom fields for each supported role are added to project detailed views in advance.
CASE
WHEN Role.Name = 'Developer' THEN Project.CustomValues.Number("Developer Rate")
WHEN Role.Name = 'QA Engineer' THEN Project.CustomValues.Number("QA Rate")
ELSE Project.CustomValues.Number("Other Rate")
END

Rates based on User Function

The rates are calculated with User Function Rate custom formula.

Personal skills level is specified per user. Drop down list custom field named Skills Level are added to user detailed views and filled in in advance. To retrieve values of user skill levels use the following custom formula:User.CustomValues.Text("Skills Level")

Fixed rates per Role

Rates per skill are common for all projects. Rates are specified as constant values in calculation formulas.
CASE
WHEN User.CustomValues.Text("Skills Level") = 'Senior' THEN 130
WHEN User.CustomValues.Text("Skills Level") = 'Middle' THEN 110
ELSE 80
END

Rates vary per Project

Rates per skill are specified per project. Numeric custom fields for each supported skill are added to project detailed views and filled in in advance.
CASE
WHEN User.CustomValues.Text("Skills Level") = 'Senior' THEN Project.CustomValues.Number("Senior Rate")
WHEN User.CustomValues.Text("Skills Level") = 'Middle' THEN Project.CustomValues.Number("Middle Rate")
ELSE Project.CustomValues.Number("Other Rate")
END