Timesheet reference
This page lists what you look up about timesheets: who can do what, what each state allows, and what each message means. For how timesheets work, see Timesheets.
Permissions
Section titled “Permissions”| Permission | What it allows | Built-in roles that hold it |
|---|---|---|
ticket:write | Have a timesheet: see Timesheets > My timesheet, log and change your own time, submit and recall your own week, and use the timer. | Owner, Support Manager, Field Technician, Support Rep, Project manager |
timesheet:approve | Open any technician’s week, add other time to it and edit or delete their entries, and approve, return, and reopen weeks. Opens Timesheets > Approvals. | Owner, Support Manager, Project manager |
psa:admin | Manage time categories and daily targets in Timesheets > Settings. | Owner |
project:time | Start the timer on a project task, and log time on tasks. | Owner, Support Manager, Field Technician, Project manager |
The Timesheets section of the navigation needs ticket:write. A custom
role with timesheet:approve and no ticket:write does not see it.
See Permissions and Roles and permissions.
Week states
Section titled “Week states”| State | Chip | Time in the week | Who can move it, and to what |
|---|---|---|---|
| Draft | Neutral | Editable | The technician: Submit week to Submitted |
| Submitted | Info | Editable | The technician: Recall to Draft. An approver: Approve to Approved, or Return to Returned |
| Approved | Success | Locked on every client | An approver: Reopen to Returned |
| Returned | Warning | Editable | The technician: Submit week to Submitted |
A week nobody has touched is Draft. A week that has not started cannot be submitted. Return needs a note and Reopen needs a reason, each up to 1,000 characters. One bulk approve or return takes up to 200 weeks.
Day strip markers
Section titled “Day strip markers”| Marker | Meaning |
|---|---|
| 6:30 / 8:00 | The day’s total against its target. A day with no target shows the total only. |
| Vacation scheduled, Sick leave scheduled, Holiday, Time off scheduled | Time off booked on the dispatch calendar. Display only; it adds no time. |
Timer warnings
Section titled “Timer warnings”| Warning | When it shows |
|---|---|
| Running since yesterday | The timer started before midnight today, in your browser’s time zone. |
| Over 10 hours | The timer has run for more than 10 hours. |
Messages
Section titled “Messages”| Message | Cause |
|---|---|
| This week’s timesheet is approved. Ask a manager to reopen it. | The time belongs to a technician whose week is approved. It cannot be added, changed, deleted, or logged from a timer until an approver reopens the week. |
| The time on this sheet changed after it was opened. Check the new totals and approve again. | The week’s total is not the total the approver saw. Reload it and approve again. |
| Some client data couldn’t be reached. Try again shortly. | A client’s data did not answer, so the week’s total is not known. Approval waits until every client answers. |
| This sheet has moved on since it was opened. Refresh to see where it stands. | The week is not in a state that allows the action, for example it was recalled or decided by someone else. |
| That week hasn’t started yet, so it can’t be submitted. | You tried to submit a future week. |
| Another timer is already running. Stop it first, or use Switch timer here. | You have a timer running on other work. |
| Last week isn’t submitted | Your previous week is still Draft or Returned. |
| 1 of 12 clients did not answer, with the counts for your practice | Time for the clients named under it is missing from the totals on the page. |
MCP tools
Section titled “MCP tools”A connected AI app can work with timesheets through these tools, on the MSP plan only. Each one checks the same permission as the console. See Connect AI tools with MCP.
| Tool | What it does | Risk tier |
|---|---|---|
get_timesheet_week | Reads one technician’s week across every client, with its state and totals. Defaults to you and to this week. Another technician’s week needs timesheet:approve. | Read |
add_timesheet_entry | Logs other time against a time category on one date. Logging for someone else needs timesheet:approve. Ticket time is logged with log_time. | Write |
submit_timesheet | Submits your week for approval. | Write |
review_timesheets | Approves or returns submitted weeks. Approving needs each week’s total exactly as read with get_timesheet_week. Returning needs a note. | High, so it needs your approval for every call |
start_timer | Starts your timer on one ticket, project task, or time category. | Write |
stop_timer | Stops your timer and logs it. The minutes default to the elapsed time, and the entry is billable unless the call says otherwise. | Write |
list_time_categories | Lists the time categories, each work or leave. | Read |
There is no tool to reopen an approved week. Reopen it in the console.
Content is licensed CC BY 4.0. Code samples are MIT. Outpost and the Outpost mark are trademarks of Outpost Business Solutions, PBC and are not covered by either license.