A user's hourly price determines the euro amount used to convert work time logged for a task or service request into a work cost. Set the price in the browser as an administrator before the work is completed. The same calculation applies to entries made in the browser, on Android and on iOS.

Setting the price

  1. Open Manage user accounts → List of users and click the user's name.
  2. Find the Workdays and hours section to the right of the user's basic details. The cost option and price fields are below the days of the week.
  3. Enable Users work will be calculated as a cost? when you want the user's entries to help trigger automatic cost calculation. The limitations of this option are described below.
  4. Fill in either This users hourly price or This user's average hourly price in euros per hour. Clear the other field completely.
  5. Click the form's Save button. Reopen the user's form and check that the option and price were saved.

The two price fields provide alternative prices for the calculation. The average hourly price is a value you enter yourself: Spotilla does not calculate it from the average of logged hours in this feature. Choose the price that suits your organisation's cost calculation.

The price must be at least zero, and exactly one field must contain a value. 0 is an entered price, not an empty field. The hourly price field defaults to 0 in the form, so clear it if you use the average hourly price. Filling in both fields or leaving both empty prevents saving.

How are work time costs calculated?

The cost is calculated separately for each entry linked to the work: minutes in the entry ÷ 60 × the user's price. The calculation uses the user's price in effect when the cost is created, rather than a price stored separately for the entry's start date.

The duration of a finished time entry is rounded up to a whole minute before the cost is calculated. For example, 1 h 30 min at €40/h produces a cost of €60. A duration of 1 h 30 min 1 s is saved as 91 minutes, making the cost 91 ÷ 60 × 40 = €60.666…. The cost calculation does not separately round to cents, so the currency formatting on screen does not indicate the precision of the stored value.

The calculation uses the average hourly price if one has been entered; otherwise, it uses the hourly price. If no price information is available, the calculation price is zero. Saving the form normally prevents both prices from being entered.

Setting a price alone does not allocate general work time to a task or service request. You need a time entry linked to that work. A quantity-based entry measures a quantity, and its duration is zero: the hourly price does not convert the quantity into a work time cost. See logging work time.

When are costs created?

Automatic cost creation is triggered when a task or service request is completed. A task that requires inspection first moves to inspection; costs are only created when it is completed after inspection. Simply ending a time entry or saving a price does not yet create costs for the work.

During completion, the system attempts to end open time entries for the work at the completion time before calculating costs. Stop the timer yourself at the actual end time of the work and check the entries: entry validation, for example, may prevent them from being ended automatically.

Cost creation is triggered if the work involves at least one user whose cost option is enabled and the total time logged for the work is positive. Products or travel expenses linked to the work can also trigger cost creation.

The cost option does not exclude individual users. Once cost creation is triggered, it goes through all entries for the work and uses each user's own price. A work time cost can therefore also be created for a user whose option is disabled, for example when the calculation is triggered by another user who logged time, by products or by travel expenses. Entry approval does not limit which rows are included in the cost calculation.

This hourly price determines the work time cost. It does not itself generate or send an invoice to the customer. Prices for products, travel expenses and other expenses are determined separately.

Checking the result and making later changes

Open the completed task or service request form in the browser. On the Logged work hours tab, check who made the entry, which work it is linked to, and its start and end times. Then check the Logged work hours group on the Work costs tab. Expand the group's child rows using the expand icon at the left edge of the row, and compare the entry's cost with the formula above. Distinguish work time costs from the other costs of the work.

If a cost row is missing, check that the work has been completed and that the conditions for triggering cost creation are met. If the amount is zero, check the price used and the entry's duration. The lists of general hours or other expenses on mobile do not, on their own, show that this calculation succeeded.

The work time cost is saved as a separate cost row. Changing a user's price does not recalculate old cost rows. Correcting a time entry also does not automatically change a cost amount that has already been saved.

The quantity on a work time row in the cost view comes from the current duration of the linked entry. The displayed unit price is derived from the saved cost and this duration. If you correct the duration after the cost has been created, the displayed unit price may therefore change even though the cost amount stays the same. After making a correction, check both the time entry and the saved cost.

See the separate instructions for correcting a time entry and viewing hours and costs.