> ## Documentation Index
> Fetch the complete documentation index at: https://docs.timetracker.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Time tracking permissions

> Which roles can track, edit, view and approve time in TimeTracker, what each time capability unlocks, and why supervision scope is a separate check.

Time tracking uses twelve named capabilities. This page lists each one, who holds
it, and what it unlocks on screen.

## The capabilities

| Capability            | What it lets you do                          |
| --------------------- | -------------------------------------------- |
| `time.track`          | Start and stop a timer, and add a time entry |
| `time.edit`           | Edit or delete your own entries              |
| `time.viewOthers`     | See another person's time                    |
| `time.editOthers`     | Change another person's time                 |
| `time.viewCost`       | See the cost figures on an entry             |
| `time.submit`         | Submit your own period for approval          |
| `time.submitOnBehalf` | Submit someone else's period                 |
| `time.approve`        | Approve or reject a submitted period         |
| `time.adjust`         | Post a signed correction to settled time     |
| `time.reopenApproval` | Reverse an approval                          |
| `time.remind`         | Nudge people who have not submitted          |
| `period.close`        | Lock approved time up to a date              |

## Which roles hold what

| Capability            | Owner | Admin | Project Manager | Finance | Member | Contractor | Client |
| --------------------- | ----- | ----- | --------------- | ------- | ------ | ---------- | ------ |
| `time.track`          | Yes   | Yes   | Yes             | –       | Yes    | Yes        | –      |
| `time.edit`           | Yes   | Yes   | Yes             | –       | Yes    | Yes        | –      |
| `time.submit`         | Yes   | Yes   | Yes             | –       | Yes    | Yes        | –      |
| `time.viewOthers`     | Yes   | Yes   | Yes             | –       | –      | –          | –      |
| `time.editOthers`     | Yes   | Yes   | Yes             | –       | –      | –          | –      |
| `time.submitOnBehalf` | Yes   | Yes   | Yes             | –       | –      | –          | –      |
| `time.approve`        | Yes   | Yes   | Yes             | –       | –      | –          | –      |
| `time.remind`         | Yes   | Yes   | Yes             | –       | –      | –          | –      |
| `time.adjust`         | Yes   | Yes   | Yes             | Yes     | –      | –          | –      |
| `time.viewCost`       | Yes   | Yes   | –               | –       | –      | –          | –      |
| `time.reopenApproval` | Yes   | Yes   | –               | –       | –      | –          | –      |
| `period.close`        | Yes   | Yes   | –               | –       | –      | –          | –      |

<Note>
  **Finance does not track time.** It is a money role. Finance can post adjustments
  and read the audit trail, but it has no timer in the top bar and cannot add a
  time entry.
</Note>

<Note>
  **Client contacts hold nothing.** A portal contact has an empty internal
  capability set. They never see time entries.
</Note>

## Capability is not scope

`time.viewOthers` says you **may** look at other people's time. It does not say
**whose**.

Supervision scope answers that second question. A Project Manager with
`time.viewOthers` and a scope of one group sees only that group in the member
picker. Both checks run on every read and every write.

If a teammate is missing from the picker, the capability is fine – the scope is
the thing to widen. See [Supervision scope](/concepts/supervision-scope).

## The cost firewall

Cost is the most sensitive number in the product, so it has its own rule.

* Only `time.viewCost` reveals what an entry cost.
* Only Owner and Admin hold it by default.
* A Project Manager can see an entry's **billable value** but never its **cost**.
* When you do not hold it, the cost figure is not sent to your browser at all. It
  is not merely hidden on screen.

The same split applies to rates: `rate.viewBilling` for what you charge,
`rate.viewCost` for what a person costs. See
[Rate permissions](/rates/rate-permissions).

## What each role sees

<Tabs>
  <Tab title="Member">
    Their own timer, their own **Time** page, their own entries. No member
    picker. No cost figures. They can submit their own period.
  </Tab>

  <Tab title="Contractor">
    The same as a Member for time, but narrower elsewhere – no client list and no
    report building.
  </Tab>

  <Tab title="Project Manager">
    Everything a Member has, plus the member picker, editing and submitting for
    people in scope, approving periods, posting adjustments, and nudging
    non-submitters. Billable rates yes, cost no.
  </Tab>

  <Tab title="Finance">
    No timer and no time entry. Can post adjustments, read the audit trail, and
    export workspace data. Owns the money surface instead.
  </Tab>

  <Tab title="Admin">
    Everything, including cost, reopening approvals and closing periods.
  </Tab>

  <Tab title="Owner">
    Everything Admin has. The only extra owner power is deleting the workspace.
  </Tab>
</Tabs>

## Custom roles and per-person exceptions

Your workspace can define its own roles with a chosen capability set. See
[Custom roles](/team/custom-roles).

Individual people can also have specific capabilities taken away. That mechanism
is **deny-only** – it can narrow a role, never widen it. See
[Per-person permissions](/team/per-person-permissions).

## Example

At Northwind Studio:

* **Sarah Lin** (Member) tracks her own hours and submits her own week. She
  cannot see anyone else's time and never sees a cost figure.
* **Priya Raman** (Project Manager) sees Sarah's timesheet, fixes a wrong project
  on one entry, and approves the week. She sees that Sarah's three hours are
  worth $300 – she does not see the $135 they cost.
* **Daniel Okafor** (Finance) has no timer at all. He posts an adjustment after a
  client disputes an hour, then raises the invoice.
* **Maya Ellis** (Owner) sees the $135 cost and the $165 margin, and closes the
  period at month end.

## Two other gates

Capabilities are not the only thing that can hide time tracking.

| Gate                                 | Effect                                                                  |
| ------------------------------------ | ----------------------------------------------------------------------- |
| The **Time tracking** app is off     | The timer and the **Time** page disappear entirely. Nothing is deleted. |
| Your plan does not include a feature | The area stays in the sidebar and shows a paywall.                      |

Time tracking itself is a **Free** feature. Approving time is **Pro**. See
[Plans and features](/concepts/plans-and-features) and
[Apps and modules](/concepts/apps-and-modules).

A location rule can also hold back tracking while someone is off-site. That is a
state, not a permission – see [Location rules overview](/location-rules/overview).

## Common questions

<AccordionGroup>
  <Accordion title="Can a Member see a colleague's hours?">
    No. `time.viewOthers` is a manager capability. A Member only ever sees their
    own time.
  </Accordion>

  <Accordion title="Can I give one person the ability to see cost?">
    Cost visibility comes from `time.viewCost`. Put it on a custom role and give
    that person the role. Per-person overrides only take capabilities away.
  </Accordion>

  <Accordion title="Why can a Project Manager not close a period?">
    Closing a period is irreversible from that screen, so it stays with Owner and
    Admin – the same tier as reopening an approval.
  </Accordion>

  <Accordion title="Can Finance track time if we want it to?">
    Not with the built-in role. Create a custom role that includes `time.track`
    and `time.edit`, and assign it.
  </Accordion>
</AccordionGroup>

## Related guides

<CardGroup cols={2}>
  <Card title="Roles and capabilities" icon="key" href="/concepts/roles-and-capabilities">
    The full permission model.
  </Card>

  <Card title="Supervision scope" icon="users" href="/concepts/supervision-scope">
    Whose data a manager can reach.
  </Card>

  <Card title="Custom roles" icon="user-gear" href="/team/custom-roles">
    Build a role with the exact capabilities you want.
  </Card>

  <Card title="Track time for someone else" icon="user-clock" href="/time-tracking/track-time-for-someone-else">
    Using these capabilities in practice.
  </Card>
</CardGroup>
