What Is the Timesheets Module?
The Timesheets module is the platform's unified time-tracking surface — for ticket work, project work, and ad-hoc work that doesn't belong to either. It's the only place to log general time entries (admin, training, meetings) that aren't tied to a specific ticket or project.
Where to find it: Sidebar → Timesheets or /timesheets. Requires the timesheets feature.
Layout
The timesheet view defaults to the current week. Use the Prev / This week / Next pill-group to navigate, and the + Log time action to record a new entry.
A 5-card KPI strip at the top shows:
- Total — all logged minutes for the visible week.
- Billable — minutes flagged
billable = true. - Tickets — minutes logged against a ticket.
- Projects — minutes logged against a project.
- Manual — minutes logged as a general entry (no ticket or project).
Logging Time
Click + Log time. The form asks for:
- Kind — Ticket, Project, or General.
- Date — defaults to today; backdate if logging after the fact.
- Duration — hours and minutes (e.g. 1h 30m).
- Subject — short label, shown in day-bucket headers.
- Description — optional longer note.
- Billable — checkbox, on by default for project work; defaults from the ticket's
billableflag for ticket work. - Linked record — the ticket, project, or — for General — no link.
Click Log time. The entry appears in the day-bucket for the date you picked, and the KPI strip updates.
Editing & Deleting Entries
Click the pencil icon on a day-bucket entry to edit. Click the X to delete.
- Agents can edit or delete their own entries for up to 24 hours after creation.
- MANAGER and ADMIN can edit any entry at any time (useful for catching up after a holiday).
Day Buckets
Each day in the visible week is a card with the day's total at the top. Inside, entries are listed with the subject, kind icon, billable flag, and duration.
Click + Add on a day card to log a new entry that defaults to that day.
Time Tracking on Tickets
Logging time on a ticket can be done two ways:
- From the ticket detail page → Log time button (or the clock icon in the sidebar). The form pre-fills the ticket link.
- From the Timesheets page → + Log time with Kind = Ticket and the ticket selected.
Both produce the same TimeEntry row; the second is for "I'm catching up my timesheet at end of day" workflows.
Time Tracking on Projects
Same pattern — from a project's detail page (the Time card) or from the Timesheets page with Kind = Project. Project time entries are surfaced in project reports and (when billable) roll up into customer billing.
General Entries
Use General entries for work that doesn't belong to a ticket or project: admin, training, internal meetings, learning, or off-the-clock support. General entries are always non-billable.
Exporting & Reporting
Click Export CSV to download the visible week as a CSV. Columns: date, agent, kind, subject, description, billable, duration (minutes), linked ticket / project.
The CSV is useful for:
- Payroll (filter by agent in the timesheet first, then export).
- Customer billing review (filter by project, then export).
- Utilisation analysis (filter by agent + date range).
API Access (for external payroll / BI)
Time entries are first-class API objects. A common external use is syncing time to a payroll system (e.g. Xero, Sage) or pushing into a BI tool for utilisation reports.
# Authenticated.
TOKEN=$(curl -s -X POST https://portal.kwgroup.org.uk/api/auth/login \
-H 'content-type: application/json' \
-d '{"email":"you@example.com","password":"...","mfaCode":"123456"}' \
| jq -r .accessToken)
# Pull your own time entries for a date range (as the logged-in user).
curl -s -H "authorization: Bearer $TOKEN" \
"https://portal.kwgroup.org.uk/api/helpdesk/time?from=2026-06-01T00:00:00Z&to=2026-06-08T00:00:00Z"
# Admins / Managers can pull entries for a specific agent.
curl -s -H "authorization: Bearer $TOKEN" \
"https://portal.kwgroup.org.uk/api/helpdesk/time?agentId=<userId>&from=2026-06-01T00:00:00Z&to=2026-06-08T00:00:00Z"
Time entries are tenant-scoped — the API only returns entries for organisations the authenticated user is a member of. An ADMIN in tenant A cannot see tenant B's time entries.
See Also
- Helpdesk Time Tracking — the ticket-time side of the same module
- Projects — for project time entry context