All documentation

Work management

Time tracking

Recording time against work, and how it differs from attendance.

A time entry and an attendance entry answer different questions

A time entry answers what a client owes: it belongs to a member, points at a work item and a project, is marked billable or not, and is locked by an invoice run. An attendance entry answers what the organisation owes somebody for being at work: it belongs to a worker and is locked by a payroll run. Merging them bills a client for a rest break, or underpays somebody for hours they could not charge.

An engineer may log eight billable hours on a day they were present for ten. Both records are correct and neither derives from the other. See Time and attendance for the payroll side.

What is recorded

  • A date, a duration in minutes, and whether it is billable.
  • Optionally a work item and a project — time can be recorded against a project without naming an item.
  • An optional note.

Locking is modelled, invoicing is not

There is a timesheet at /time: a week at a time, with the work you have touched lately offered first so logging is a click rather than a search. Durations are typed the way people say them — 1h30, 90m, 1.5 — because a field that accepts one spelling and rejects the rest gets filled in on Friday from memory. You record your own time and nobody else’s; the member comes from the session, never from the request.

An entry can be marked as consumed by an invoice run, after which it is immutable — a correction is a new entry, exactly as the leave ledger posts a reversal rather than editing what was credited. Nothing sets that lock today: invoicing is deliberately out of scope, and it exists so that adding it later does not require rewriting history.

Time on a service-desk ticket

Time can also be recorded against a ticket rather than a work item, and it is the same record with the same rules. What it deliberately cannot answer is whether a contract already covers those minutes: retainers, block hours and included allowances are professional-services questions, and a desk that guessed at any of them produces an invoice somebody has to apologise for.

Recorded on the ticket, priced on the invoice

Hours go on from the ticket itself, and the total is shown beside the billable share rather than instead of it. What they are worth is decided when an invoice is raised — see pricing work.

Deliberately absent

No timer and no approval. Entries are recorded, not clocked, and a timesheet that argues with the person filling it in is one that stops being filled in. No rates here either — hours are priced when an invoice is raised, on the billing side, because a rate on this screen would show money to everybody who can see a timesheet. What a contract says an hour is worth is still a professional-services question and is nowhere.

The billable share is reported beside the total, never instead of it. Reporting only billable hours makes time spent on internal work, interviews or an incident look like time somebody did not work — which is how a timesheet becomes something people resent rather than something they use.