Skip to content

Time Tracking

Ed Mozley edited this page Aug 18, 2026 · 1 revision

Time tracking

Recording time against tickets, and switching it off if you do not want it.

Suggested in discussion #72 by dschipfel: "For internal IT departments, the focus is often on ticket resolution, documentation, and service quality rather than tracking time spent on individual tasks."

For how it works underneath, see Time tracking β€” Developer Guide.


1. Recording time

Open a ticket and the time panel sits in the reading pane. Add an entry with the minutes spent and an optional note; the ticket shows a running total. Entries carry who recorded them and when, and anyone can delete their own.

That is the whole feature β€” there is no timesheet screen, no time report and no dashboard widget. Time in FreeITSM is a fact attached to a ticket, not a module of its own.


2. Turning it off

Tickets β†’ Settings β†’ Time tracking.

Not every team wants it. If your job is to resolve the ticket and write it up properly, a box asking how many minutes it took is clutter at best and a bad incentive at worst.

There are two switches, and the second one matters more than it looks:

Switch What it does
Record time on tickets Shows the time panel in the ticket view, and lets people add entries
Serve time entries over the REST API Whether /api/v1/tickets/{id}/time-entries still answers

They are separate on purpose. Hiding the panel tidies your screens. Closing the API can break something somebody built β€” a billing export, a reporting job, an integration nobody mentioned when they set it up. Those are different decisions with different people affected, so you make them separately.

If you are switching time tracking off simply because your team does not use it, leave the API switch alone.

Nothing is deleted

Turning either switch off hides things. It never removes them.

Entries already recorded stay exactly where they are, and reappear untouched the moment you switch it back on. If you try it for a month and change your mind, nothing has been lost.


3. Per company

Each switch can be set per company, over an install-wide default.

That matters for anyone running FreeITSM for more than one client: bill one for time, and do not for another, without arguing about it.

Setting Meaning
Follow the default This company changes whenever you change the default. The normal state
On / Off This company's own answer, whatever the default says

"Follow the default" is not the same as "Off". A company that has never been given an answer follows the setting above it; that is what lets you flip the whole install and have everyone move together, and what lets you hand a company back afterwards.

Which switch applies to a ticket is decided by the company that ticket belongs to. So an analyst working across two clients will see the time panel on one client's ticket and not on the next. That is correct rather than odd β€” the ticket is the client's.

On a single-company installation there is no company section at all. Two switches, and nothing new to learn.


4. What people will notice

  • The panel is simply absent. No greyed-out box, no "time tracking is disabled" message taking up space in the reading pane.
  • A stale tab cannot still file time. If somebody had a ticket open when you switched it off, their next attempt to save an entry is refused rather than quietly accepted into a feature that is supposed to be off.
  • The REST API refuses rather than returning nothing. An empty list would say "this ticket has no time recorded", which is a different and untrue statement. It answers 404 with a message naming the reason.

Related pages

FreeITSM

Getting Started

Modules

Multi-tenancy (planned)

Blue sky thinking

Bugs resolved

Links

Clone this wiki locally