Time recording global feature
Time Recording Feature Configuration
The Time Recording global feature controls how time is captured, recorded, and submitted across the system.
Modeller > Global Features > Time Recording.
You can enable or disable time recording at any point by toggling it on or off from the feature list.
Click the settings cog to access the settings. This opens the Time Recording Feature blade.
Work Type Configuration
Click the cog icon to open the work type configuration blade. This lists all the work types.
Click the right arrow next to a work type to enable time recording against it. Toggle the option on/off. When toggled on, the configuration settings display.
| Restrict available time categories | Toggle on to restrict what time categories can be used on this work type. When switched on select the time category to restrict. |
| Default time category | Sets the category that is pre-selected when a user records time against this work type. Typical options include Billable and Non-Billable. |
| Automated narrative | Sets a default narrative that is pre-populated when time is recorded. You can also configure whether a narrative is mandatory or optional. |
| Automated stopwatch triggers |
Controls what happens when an automated stopwatch opens for this work type. Options are: start recording automatically on open; stop recording on close. Blade stack behaviour - A blade stack is when multiple blades are open at the same time. This setting controls how stopwatch recording behaves across stacked blades - for example, whether time records against all open blades or only the parent work item (such as the matter). |
| Phase change triggers | Configures the stopwatch to start or stop automatically when the work item moves into a specific phase. For example, start the stopwatch when a task moves to In Progress, and stop it when it moves to Done. |
| Fixed time recording | Sets a fixed amount of time (in minutes) to be automatically recorded when a work item reaches a specified phase. For example, record 30 minutes whenever a document moves to Done. Users can still record additional time on top of this fixed amount. |
Blade Layout
| Time Recording Blade Layout |
Introduced in release 7.12 to incorporate Extended Narrative. Set how you want the narrative to display on the time recording blade. Two options:
The default value is Standard. This setting can be changed at any time to apply the selected layout across all time recording entries for the firm. Extended Narrative blade behaviourWhen the Extended Narrative layout is selected, the following applies when a user opens a manual time entry via the clock icon ribbon button on a work item:
|
Unit of measure
| Unit of measure | Sets whether time is recorded in hours or units. |
| Rounding behaviour | Sets how recorded time is rounded, either up or to the nearest interval. |
| Minimum lapse time | Sets the minimum time interval that rounding is applied to. |
Stopwatch behaviour
| On stop |
Controls how time entries are created when a stopwatch is stopped.
|
| On pause | When enabled, records a time entry immediately each time a stopwatch is paused, rather than waiting for it to be stopped. |
| Minimum duration | Sets the shortest recording that will generate a time entry. For example, set to 30 seconds so that briefly opening a task does not create an entry. |
| Maximum duration | Sets the longest duration a stopwatch can run before it is capped. |
| Browser navigate/close action | Controls what happens if a user navigates away from the page or closes a tab while a stopwatch is running. Options include pausing the stopwatch or prompting the user before they leave. |
Automatic stopwatch behaviour
Prevent user overrides. When enabled, users cannot change or override the time codes set by automated stopwatches. This applies where a stopwatch has been configured to default to a specific time code.
Time Entry Creation Behaviour
| Minimum & maximum narrative length |
Maximum narrative length introduced in release 7.12 The Minimum narrative length can be used to make the narrative mandatory if set to greater than 0. The Maximum narrative length sets an optional character limit on the narrative field. Leave it blank to apply no limit. The maximum must be greater than the minimum narrative length. If the minimum is not set, it is treated as 0, so any value greater than 0 is valid. When a maximum value is set:
The message displayed in the narrative field depends on how minimum and maximum lengths are configured.
|
||||||||||
| Require time code | When enabled, users must select a time code before a time entry can be saved. |
Stopwatch toast behaviour
| Inform users of stopwatch events via toast | When enabled, a notification appears in the bottom-right of the screen when a time entry is created. This confirms to the user that time has been recorded, which is particularly useful when recording is triggered automatically. |
Time targets
Targets can be set at global organisation level or set the expected number of hours to be recorded per day for a given work type. Results can be reported on to track whether targets are being met or exceeded.
Click the settings cogs to configure
Book for others
| Allow booking time for other users | When enabled, users with the appropriate permission can record time on behalf of another user. This is useful where fee earners have an administrator who records time for them. Enabling this setting at global level does not grant the permission to all users automatically. It must also be assigned at team or individual user level. |
Time periods
| Historic Time | Sets how many days in the past a user can record time. For example, a value of 30 prevents users from backdating entries beyond 30 days. |
| Future Time | Sets how many days in the future a user can record time. For example, a value of 30 prevents users from booking time more than 30 days ahead. |
Time code sets
Time Recording: Configuring Time Code Sets
A time code set is a collection of codes that identify the type of work being recorded. Sets can have a flat list of codes or a hierarchical structure with parent and child codes. Time code sets are assigned to classifications and presented to users when they record time.
Time Code Sets
A time code set represents a unique set of codes that are presented on the time capture screen.

Using the screenshot above as an example, Phase and Task and Activity are both time code sets.
Time Code Sets are maintained under Admin > Time.
- The Time code sets panel can be collapsed and expanded.
- Click a time set to see the time codes for that set
- Click + New Set to create a new time set. This opens the Add new time code set blade. Complete the details, Save and Close.
Add Time Codes to a Time Set
Sets can have a flat list of codes or a hierarchical structure with parent and child codes.

+ New Code opens the Add new time code blade. Complete the details, Save and Close.

Time code sets are grouped together in Time Classifications to form the set of codes that are entered on a time entry. A time code set must be assigned to at least one classification before it is available to users.
Time classifications
Time Recording: Configuring Time Classifications
A time classification represents a collection of different fields or time codes that are presented on the time capture screen.

Using the screenshot above as an example, a time classification has been defined containing the time code sets of Phase and Task and Activity. For further information regarding the configuration of time code sets, see Time Recording: Configuring Time Code Sets.
Time Code Classifications are maintained under Admin > Time and consist of one or more segments.

For a given segment, you can specify the following.
| Name | The name of the segment as it will appear for your time entry users |
| Mandatory for entry | Whether your users must enter this code before saving their time entry or not. |
| Mandatory for submission | Whether your users must enter this code before submitting their time entry or not. |
| Capture Type | Whether the user should enter a Time Code Set or a memo field. |
| Time Code Set | If the time capture type is "Time Code Set", you should specify a set of codes to be used. See Time Recording: Configuring Time Code Sets. |
| Default Time Code for Stopwatches | When a stopwatch is stopped, you can specify the default time code that is recorded. |
You can delete time classification segments that haven't been used; however, once they have been used, you can only disable them.
Time categories & rule sets
Time Recording: Configuring Time Categories and Rule Sets
Whenever a time entry is created, the user will be asked to enter the top-level time category.

It is this choice that determines the different time codes that need to be entered.
Configure Time Categories
Time Categories are defined within Admin > Time and are defined by:
- A Name and unique System Name.
- A flag to indicate whether they are billable or not.
- And the default time classification (or set of fields) that are shown - see Time Recording: Configuring Time Classifications.

In addition to the default time classification, you can also specify a number of Rule Groups to vary the time classification that is used.

Within a rule group, you can specify that a given time classification is shown based on:
- Matching rules that are evaluated for a time container (the time container is typically the matter but could also be the SoW).
- Matching rules that are evaluated for the work item (typically a task) where time is being recorded against it.
Using matching rules, you can:
- Vary the time capture by different matter types - for example, using the JCode classification for dispute matters and a separate classification for real estate matters.
- Vary the time capture for different clients - for example, your client may wish for you to add additional time codes for their matters.
Rules sets are evaluated in the order in which they are displayed on the Admin screen. You can change this order by dragging and dropping them within this screen.
Configure Time Categories for Work Types
In Global Features Time Recording you can configure the default time category to be used and also restrict time categories that can be used on work types.
Modeller > Global Features > Time Recording > Configure icon > Sharedo Type Configuration icon > Select work type either at and click right arrow
This opens the Time Recording Settings blade.

With Time Recording enabled set to Yes, you can configure these settings:
| Restrict available time categories for this work type | Select Yes to restrict categories. |
| Applicable Categories | This is available when Restrict is set to Yes. Select the categories available for time recording on this work type. At least one must be selected when Restrict is set to Yes. |
| Default Time Category | Select a default category to be used for time entries. If categories are restricted, only those in Applicable Categories are available to select. |
When manual time entries are created:
- If a default time category is configured, this is set automatically
- If categories are restricted, only applicable categories are available to select.
Time targets
Time Recording Targets
Time targets set the hours a user is expected to record. Clio Operate compares recorded time against the target on a schedule, and raises an event where the target is missed, so a firm can follow up with a notification or a task.
Time Targets are set in Time Recording Global Feature Configuration, but how to configure them and how they are used is explained here.
How targets are scoped and inherited
Targets are held at three levels.

Clio Operate resolves a user's target by taking the most specific record that exists, in this order.
- A record set against the user.
- A record set against the user's primary team.
- A record set against the user's working day calendar.
Resolution takes the whole record, not individual categories. A user level record replaces the team and calendar records outright. Where a category is left at 0 on the user level record, it resolves to 0. It does not fall back to the team or the calendar value.
Team targets match on a user's primary team only. Membership of a secondary team has no effect.
Where the blade opens on a user who has no record of their own, the values displayed are inherited from the team or the calendar, and a warning displays at the top of the blade:
Warning: Values are inherited on work types, saving these values here breaks the inheritance.
Saving from that state creates a new record at the user level. The parent record is left untouched, and the user no longer follows it. The warning displays for the user scope only, because team and calendar records are always held at their own level.
DANGER: Saving over an inheritance warning is a one way change, it cannot be reversed. Only do it where you intend that person's targets to be maintained separately from that point on.
Configure targets
Configure a target
Open the Time Target Settings blade for the calendar, team, or user you want to configure.

| Trigger time targets on total hours |
Set Trigger time targets on total hours to reflect how you want misses evaluated. Controls how a missed target is evaluated. Disabled, a miss event is raised when any single category falls short of its target. Enabled, a miss event is raised only when the total hours recorded across all categories falls short of the combined target, so over-recording against one category offsets a shortfall against another. Either way, the event payload lists each category that fell short, with its target and its actual hours. |
| Monday to Sunday |
Enter the target hours for each category, for each day of the week. Each section lists every active time category with an hours box, accepting a value between 0 and 24. Leave a category at 0 for days where no time is expected. To leave a category untargeted at that scope, enter 0 across all seven days.
|
| Total |
Displays the sum of the hours entered for that day. Read-only. Check the Total for each day against the working pattern you are modelling.
|
Select Save.
Clearing Targets
There is a Remove button on the toolbar. This sets all the hours boxes on the blade to 0. It does not delete the record. To apply the change you still need to select Save, and the record remains in place afterwards at that scope.
Clearing an hours box to blank has the same effect as entering 0. A blank target is read as 0 when targets are checked, so neither value removes the target. A target of 0 can never be missed.
This matters most at the person level, because inheritance depends on whether a record exists at that scope, not on the values it holds. Once a person level record is saved, it continues to take precedence over the team and calendar records whatever the hours are set to. As mentioned above, saving over an inheritance warning is irreversible. Only do it where you intend that person's targets to be maintained separately from that point on.
Turning User time targets or Team time targets off in the Time Targets Configuration blade does not reverse this. Those settings control whether the pickers display, and have no effect on records that already exist or on how targets are resolved when checks run.
Warning: Removing a person or team level record, so that targets inherit again, is a database operation. Raise it with your implementation contact rather than attempting it from the interface.
How targets are checked
Two scheduled checks compare recorded time against the configured targets.
- The daily check takes the previous day, reads the target for that day of the week, and compares it against time recorded on that date.
- The weekly check sums all seven days per category, and compares the total against time recorded in the previous week. The week is treated as starting on Monday.
Weekly Check Leeway (Days), in the Time Targets Configuration blade, delays the weekly check by the number of days you specify from Monday. This allows time for the previous week's entries to be submitted. Accepted values are 0 to 6.
Only submitted time counts
Missed Targets
Where a target is missed, a daily-time-target-missed or weekly-time-target-missed event is raised for the user.
Nothing consumes these events by default. Configuring a response, such as a notification or a task, is an implementation activity. Until that is done, a missed target is recorded in the logs and produces no visible outcome.
Where targets display
The Time Radar widget compares recorded hours against target hours for the people working on a matter.
Internal costs
Time - Internal Costs
When a time recording entry is created, it is possible to record the internal cost associated with that time. The internal cost represents the time recorder's wage, rather than their charge-out rate. Recording it alongside the charge out value lets a firm report on the profitability of work.
Create the Rate Card
An internal cost rate card will likely already exist on your database.
- Navigate to Modeller > Global Features > Finance.
- Enable Goods & Services, then select the settings cog.
- Create an Internal Cost Rate.
- You must ensure the item type category is set to be an internal cost rate item.
- Save & Close.
Internal cost global feature
The Time - Internal Cost feature, located in Modeller > Global Features > Finance, must be enabled in order for the internal cost to be captured when time recording.
Pre-requisites: Enable the Chart of Accounts global feature first. Time - Internal Costs depends on it and will not validate without it. You also need a Goods and Services rate card whose item type category is set to an internal cost rate item.
- Navigate to Modeller > Global Features > Finance.
- Enable Time - Internal Costs, then select the settings cog.
- Set a default internal hourly rate for every enabled currency.
The default rates are used for any user for which an internal rate has been created. The internal cost rates are configured via a rate card, which internal rate card to use is configured within this area.
- Select the internal cost rate card.
- When time is recorded, the internal cost is recorded as a transaction in the chart of accounts. Set the account the transaction posts to and map each of the four time statuses to a transaction status.
- Save & Close.
Create rates for internal costs
Once an internal rate card has been created, the cost rates for each job role need to be configured.
The internal costs rates are determined by a users job role. For example:
- a partner's internal cost = £250.00 per hour
- a trainee = £50.00 per hour
Optionally, a firm may also choose to create rates for specific people. For example: Wendy is a partner, the default rate for a partner is £250.00 but the rate for Wendy is £285.00 an hour.
For the user specific rates to be valid, they must be configured against the correct job role for the user, i.e. if Wendy's job role was not a partner than the rate record below would not be applied.
- Navigate to Admin > Finance > Internal Costs.
- Select Add Item > Internal Cost Record or click on an internal cost record to edit it.
- Complete the Item Details.
- To add the rates click + in Pricing
|
Default Rate ![]() |
Individual Person Rate ![]() |
Rate for different Jurisdictions ![]() |
- All rates then display in pricing:
- Save & Close.
How a rate is chosen
Once rates have been configured, any time recording records the internal cost in the Chart of Accounts.
Rates are resolved by job role first, then narrowed by person and jurisdiction. The default rate is the fallback.
| Order | Match | Used when |
|---|---|---|
| 1 | Person and jurisdiction | A rate exists for that person in that jurisdiction. |
| 2 | Person | A rate exists for that person with no jurisdiction. |
| 3 | Jurisdiction | A rate exists for the jurisdiction with no person. |
| 4 | Default rate | No job role rate is matched for the user. |
Job role is resolved at the entry's start time.
Adding a person specific rate for one partner overrides the partner default for that person only.
Who can see internal costs
Internal costs are sensitive. Visibility is controlled by the core.timeinternalcosts.read permission, which applies to time queries, time entry list views and financial transaction list views.

Please note, as the internal cost is a sensitive information, whether internal costs are visual to a user is controlled via permissions.

Configure list views & portals
Time Recording: Configuring list views and portals
Five time recording elements can be placed on portals and work item blades. This article covers the time specific configuration.
Time entry list view
Clio Operate includes a dedicated time entry list view provider, core-time-entries. Configure it with the list view widget to display time entries on a portal.

The list view provides specific filtering capabilities for:
| Filter | What it does |
|---|---|
| Timekeeper | Filters by the person who recorded the time. |
| Time state | Filters by state: Draft, Revising, Submitted or Approved. |
| Time period | Combines a unit, day or week, with a relative period, current, previous or next. |

Internal cost columns are permission gated
The list view supports CSV export. The export includes the time entry state and the recorder's job role alongside the visible columns.
Time commands
Add either command to a portal, a blade or a menu.
| Command | System name | What it does |
|---|---|---|
| Record a time entry | record-time-entry | Opens the time entry blade to record time against a work item. |
| View time entries | view-time-entries | Opens the time entry list view blade, for time booked against the current work item or the user's own time. |
Time top navigation widget
Time Entry Quick View (Sharedo.Core.Case.Widgets.StopwatchQuickView) sits in the top-menu and displays running stopwatches.
Place and configure it through Menu Configuration.

Time nav bar aspect
The Time Nav aspect displays a summary of time recorded against a work item, and gives quick access to the entries.
Add it to a work item blade through the Blade Editor.

Time radar
The Time Radar widget compares recorded hours against target hours for the people working on a work item, with a cumulative time by person chart and a count of time entries. It sits well above a time entry list view on the same page.

The radar needs targets to be meaningful. Target hours come from the time target configuration. Where no target is set for the people involved, the widget has nothing to compare recorded time against. See Configure time targets.
Add the widget through Introduction to Personas and Portals.




