In TimeTrak each user is assigned to a roster which defines their minimum time units, expected working hours as well budgeted productivity for each day as per below:
Roster Classes are also available in TimeTrak to define the pay type against hours recorded:
Automatic Splitting:
Note: This should only be enabled in environments where the labour code defines the pay rate.
See “When Labour Codes do not define the Pay Rate” on how this can be configured for manual selection of payroll hours.
Against a user’s roster, automatic roster classes can be defined for set time ranges against a day as per below so if hours are recorded over these time spans on adding the time entry roster class rules will run and split the time entry to the correct roster class.
Note: These rules only run on adding of an entry, on edit these rules can be overridden and changes made will save.
For example, when adding a single time entry for a Monday from 8:30am- 6:30pm on save the entry is split at 5pm to time & half and split again at 6pm to double time.
When this split occurs;
The original time entry will not be updated, for example if the user recorded the entry as double time when rules stipulate it should be time and a half only the split entries will have rules ran against them to set the correct roster.
Any disbursements, travel fees or attachments from the original entry will not be copied to the additional split entries.
Serviceable units assigned to the original entry will however be copied to additional “split” entries.
Non-Productive entries are ignored in the automatic splitting so these will not be split.
If the split time entries are Non-Billable entry, then only the roster class will be updated.
If the time entries are against a Job/ Task:
1. The split entries labour code is updated to the labour code mapped against the roster class for the user.
2. The split entries cost and sell rate are updated to reflect the correct cost/ sell rate based on the new labour code.
3. If “Enable Statuses on Labour Codes” is enabled,
The split entries billable status will also update to the billable status specified against the labour code for the specified roster class.
4. If Cost Assignment is set to “Cost Types inherit from stock items (labour & disbursements) The split entries cost type will be updated to what is specified against the labour code.
5. If Cost Assignment is set to “Cost Types inherit from user settings” the cost type from the original entry will be copied to split entries.
Manual Splitting Via Overtime Calculator:
In many organisations staff hours are flexible and pay type is not dependent on the time of day but rather how many hours they have worked.
In these instances, roster rules are usually set to “Normal” as per the the roster below so no automatic splitting occurs.
Once hours are recorded an administrator would right click on the user’s calendar day and select “Calculate Over Time” as per below:
This will load the overtime calculator, any Non Productive time entries for the day are ignored.
A split where the users expected work hours for the day are reached is indicated on screen with the remaining hours for the day defaulting to the next roster class as we can see here:
Additional roster classes can be added by selecting the plus button as per below which will indicate a split in the middle of the hours above the expected work hours:
These hours can be adjusted on screen by typing in the hours field for example if payroll rules were 7.5 at Normal, 2 hours after that at time and half and after that is double time.
Once the split is correct, select Save.
On Clicking Save;
Rules are run against ALL entries including the original entry.
Any disbursements, travel fees or attachments from the original entry will not be copied to the additional split entries.
Serviceable units assigned to the original entry will however be copied to additional “split” entries.
Non-Productive entries are ignored from the total hours in the overtime calculator screen.
If the time entry is a Non-Billable entry, then only the roster class will be updated.
If the time entry is a Job/ Task based entry:
1. The labour code against all entries is updated to the labour code mapped against the roster class for the user.
2. The cost and sell rate against all entries is updated to reflect the correct cost/ sell rate based on the labour code.
3. If “Enable Statuses on Labour Codes” is enabled,
The billable status will also update to the billable status specified against the labour code for the roster class against all entries.
4. If Cost Assignment is set to “Cost Types inherit from stock items (labour & disbursements) the cost type will be updated to what is specified against the labour code for all entries.
5. If Cost Assignment is set to “Cost Types inherit from user settings” the cost type will be copied across to additional split entries.
When Labour Codes do not define the Pay Rate:
In many sites the labour code used does not reflect the time the employee should be paid as this is the type of work and rate the client should be billed at.
In order for these sites to take advantage of the roster class changes and provide graphical overview of hours to be paid at what payrate via payroll there is also the ability to default the roster at the billable status level instead of being based on the labour code used.
If this is the case, the below global setting should be enabled:
It is important to note, when using this method all rosters should have all units set to “Normal” otherwise errors will occur on save if the roster rules are trying to run and look for a labour code to match the selected roster.
Once enabled, the roster class can be mapped against the applicable roster class, as per below:
On Time Entry creation against users when the billable status is changed to reflect how the user should be paid the roster class against the billable status will be set providing payroll staff to ensure this data is set correctly.
No automatic roster rules run in this environment and the overtime calculator will not run other than to show the hours recorded for the day as per below: