Work cost and income shows costs and income recorded for tasks and service requests over the selected period. Use it to compare monetary amounts associated with work. The report does not recalculate the prices of work hours or indicate that income has been invoiced or paid.
Open the report and select the data
In the browser's main menu, open Dashboard → Report pages and select a report page using the selector at the top of the page. If the report is not on the page, an admin user can select Add new report, find the Work cost and income report and drag it onto the page. Adding a report and saving the page require admin user permissions. See also adding and arranging reports.
Open Settings in the report's title bar. All filters contains two source options: Data based on task work costs and income and Data based on service request work costs and income. Both are selected in a new report. Clear one option if you want to examine only one type of work. If you clear both, the report has no work data to display.
Work expenses recorded on Android and iOS can also be included in the same data. The entry must first be saved to the service; simply filling in a form on a mobile device does not make it a data source for the report. Recording expenses is described in adding other costs.
A Spot's own device costs are not included in this report, even if the work relates to the same Spot. A separate Device costs report is available in the report selection.
The period and permissions determine which rows are included
Time period for the data at the top of the report filters cost rows by their creation time. This does not generally mean the date the work was performed, the work date of a time entry, the invoice date or the payment date. For example, a cost row created in February for work performed in January belongs to February's data.
Time grouping for data divides the data into days, weeks, months or years. A new report defaults to monthly grouping and a calendar-based yearly view extending back one year: it includes the previous and current calendar years. For example, in 2026 this means the period 1 January 2025–31 December 2026. Always check the saved report's own settings. The yearly view cannot be combined with daily grouping; select another suitable period to examine individual days.
When reconciling a specific period, enter the start and end dates yourself. Without specified limits, work creation times are also used to determine the report's time boundaries, so this selection does not guarantee that all cost rows created later will be covered. Fixed and relative time options are described in report time periods and filters.
The data available to an admin user has no general restriction based on completion or billability: saved cost rows for unfinished work may also appear. The data available to a supervisor includes only rows from completed tasks and service requests that they have permission to read. The work's completion time must also fall within the selected period. For supervisors, both the cost row's creation time and the work's completion time must therefore meet the time filter. Being able to see a report page does not grant access to all its data.
The period filter uses the user account's time zone, but it has not been verified that daily, weekly, monthly and yearly groups align with that same local time zone. Before reconciling individual days, pay particular attention to rows created close to midnight or the boundary between periods.
What makes up cost and income?
The report sums saved work cost rows. These may include rows relating to work time, products, travel expenses and other expenses, for example. The report does not restrict the data to work time alone or to final product rows alone. The work's billability is not a filter in this report.
| Row classification | Included in cost | Included in income |
|---|---|---|
| The row's value is a cost | The saved row value | The saved sales amount; a missing sales amount is treated as zero |
| The row's value is income | Nothing | The saved row value |
The report does not add discounts, margins or taxes as a separate calculation step. It uses the values already saved to the row. In particular, income from a row classified as income comes from its value, even if a separate sales amount also appears in the work's cost view. Therefore, an income column with the same name in different views does not by itself guarantee the same calculation basis.
For example, a row classified as a cost with a value of €80 and a sales amount of €100 contributes €80 in cost and €100 in income to the report. If a €30 row classified as income is also included, the total cost is €80 and income is €130. The difference is €50. The combined cost and income of €210 is not profit, and the difference does not indicate the company's total profit: the report contains only the saved rows included in its data.
Without grouping by folder, Spot or customer, task and service request costs appear as separate series, but Income combines income from the selected work sources. The default chart is Stacked bar. The full height of a bar may therefore include both cost and income; use the legend to interpret the series.
Amounts are rounded to two decimal places. Without grouping by folder, Spot or customer, the cost total for each work source is rounded separately, and the combined income is rounded only after the sources have been combined. With this grouping, the group totals for each work source are first rounded separately, and the combined group result is rounded again. This may cause a one-cent difference between grouped and ungrouped views.
Filter the work and select grouping
Settings → All filters contains folder, Spot and customer filters. These filter the data from both work sources through the work's current Spot. A folder filter also covers the selected folder's subfolders. A customer filter is based on folders linked to the customer and their subfolders, rather than a separate billing customer for the work.
In the same section, you can filter service requests by service request category, supervisory role and selected service requests. You can filter tasks by the user who completed them, responsible party and work order. Service request filters do not filter task rows, and task filters do not filter service request rows. Filtering by the user who completed a task refers to that user, rather than the person who entered an individual cost or time entry. Multiple filters narrow the data together.
Note this filtering exception: if the folder selection contains no folders you have permission to read, or the customer selection contains no customer-linked folders you have permission to read, this filter alone does not empty the data. The previous data may remain visible. Verify the result using a known Spot; simply seeing a customer selection does not prove that the data has been filtered to that customer.
In the Group by section of the settings, you can select By folder, By spot or By customer. A group's cost and income combine the selected task and service request sources. Grouping is based on current links:
- By folder: the work must be linked to an existing Spot and its folder. Other rows are excluded from the groups. The amount belongs to the Spot's own folder, rather than automatically belonging to its parent folder's group.
- By spot: the work must be linked to an existing Spot. Work without a Spot is excluded.
- By customer: the customer comes from the customer link of the work's Spot's folder. Rows without this link do not form a named customer group.
Grouped totals therefore do not necessarily match the ungrouped total. A group whose cost and income are both zero throughout the period does not get a visible series.
The 25-Spot limit when grouping by Spot
When you select By spot without any data filters, the report uses a maximum of 25 Spots. The Spots are selected from work in the data that has at least one cost row with a positive value. The selection order is based on the Spot's most recent update time. This is not a list of the 25 highest costs or incomes. A zero-value row containing only a sales amount may also lack the positive value required for selection.
Simply changing the period or selecting the task or service request source does not remove this default limit. Applying a data filter, such as selecting specific Spots, removes the default limit of 25 Spots. Still check the filter's actual effect and your own read permissions.
Check the result and save the settings
- Select a known Spot and explicit start and end dates. First examine only tasks or only service requests, without grouping by folder, Spot or customer.
- Open the work you want to compare and its Work costs. Check the saved row values, cost or income classification and sales amounts. Compare the cost rows' creation times with the report's period. As a supervisor, also check the completion time and your permission to read the work.
- Calculate cost and income using the rules described above. Only then add the other work source and grouping. If the amounts change, check the links, filters, rounding and the default limit when grouping by Spot.
- If necessary, open the three-dot menu in the report's title bar and select Export to Excel. The export contains the series and periods generated by the report, rather than an itemized list of the original cost rows.
- An admin user saves the report selections using the Save the page button at the top of the page. Reopen the page and verify that the report and desired settings were retained.
Filtering the report, grouping it and saving its settings do not change the work's cost rows, status or invoicing. However, the report is not a fixed historical snapshot: changes to and deletion of cost rows, as well as changes to the work's Spot and folder links, may change results retrieved later. To check the work's detailed entries, see viewing hours and costs.