> ## 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.

# Timesheet permissions

> Every timesheet capability in TimeTracker, which roles hold it by default, how supervision scope limits whose timesheet you reach, and what each one unlocks.

Two things decide what you can do with a timesheet – the **capability** you hold, and the **supervision scope** that decides whose timesheet you reach. Both have to pass.

## Capability vs scope

This is the distinction people get wrong most often.

|                       | Question it answers         | Example                                                 |
| --------------------- | --------------------------- | ------------------------------------------------------- |
| **Capability**        | May you do this at all?     | `time.viewOthers` – you may look at other people's time |
| **Supervision scope** | Whose records do you reach? | Only the people on your projects                        |

A Project Manager with `time.viewOthers` and a project scope can see the timesheets of people on their projects, and nobody else. Widening the capability does not widen the scope. See [/concepts/supervision-scope](/concepts/supervision-scope).

## The timesheet capabilities

| Capability            | What it unlocks                                            |
| --------------------- | ---------------------------------------------------------- |
| `time.track`          | Create time entries                                        |
| `time.edit`           | Change your own draft entries                              |
| `time.submit`         | Submit your own period for approval                        |
| `time.viewOthers`     | Open a teammate's timesheet                                |
| `time.editOthers`     | Change a teammate's entries, and withdraw their submission |
| `time.submitOnBehalf` | Submit a teammate's period for them                        |
| `time.remind`         | Send a "please submit" nudge                               |
| `time.approve`        | Approve a period, or send it back                          |
| `time.reopenApproval` | Reverse an approval you or someone else made               |
| `time.adjust`         | Correct approved, locked, or invoiced time                 |
| `period.close`        | Lock approved time through a date                          |
| `time.viewCost`       | See cost and margin figures on time                        |

## Which role holds what

<Tabs>
  <Tab title="Owner">
    Holds every timesheet capability, including `period.close`, `time.reopenApproval` and `time.viewCost`. The only capability an Owner has that an Admin does not is deleting the workspace.
  </Tab>

  <Tab title="Admin">
    Everything an Owner has except deleting the workspace. Admins close periods, reopen approvals, and see cost.
  </Tab>

  <Tab title="Project Manager">
    The delivery approver. Tracks and edits time, submits, approves, requests changes, posts adjustments, views and edits other people's time, submits on behalf, and sends reminders. Does **not** reopen approvals, close periods, or see cost.
  </Tab>

  <Tab title="Finance">
    Owns money, not delivery. Holds `time.adjust` so post-close corrections are possible, and `data.export`. Does **not** track, submit, approve, or view other people's time.
  </Tab>

  <Tab title="Member">
    Tracks, edits and submits their own time. Sees only their own timesheet.
  </Tab>

  <Tab title="Contractor">
    Same timesheet rights as a Member – track, edit, submit their own time. The narrowest working role.
  </Tab>

  <Tab title="Client">
    Holds no internal capabilities at all. A client-portal contact never sees a timesheet.
  </Tab>
</Tabs>

## The matrix

| 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.remind`         | Yes   | Yes   | Yes             | –       | –      | –          | –      |
| `time.approve`        | Yes   | Yes   | Yes             | –       | –      | –          | –      |
| `time.reopenApproval` | Yes   | Yes   | –               | –       | –      | –          | –      |
| `time.adjust`         | Yes   | Yes   | Yes             | Yes     | –      | –          | –      |
| `period.close`        | Yes   | Yes   | –               | –       | –      | –          | –      |
| `time.viewCost`       | Yes   | Yes   | –               | –       | –      | –          | –      |

These are the **defaults**. Your workspace can build custom roles with different sets, and can deny a specific capability to one person. See [/team/custom-roles](/team/custom-roles) and [/team/per-person-permissions](/team/per-person-permissions).

## Why some capabilities sit higher than others

Three of them are deliberately kept above the Project Manager tier.

| Capability            | Why it is Owner and Admin only                                                   |
| --------------------- | -------------------------------------------------------------------------------- |
| `time.reopenApproval` | It reverses a decision that has already been made and recorded                   |
| `period.close`        | It freezes financial records for a whole date range                              |
| `time.viewCost`       | Cost rates are internal. What you charge is separate from what someone costs you |

Finance holds `time.adjust` but not `time.approve`. Finance corrects the books after the fact; it does not sign off delivery.

## What each capability changes on screen

| If you lack           | You see                                                                       |
| --------------------- | ----------------------------------------------------------------------------- |
| `time.submit`         | No **Submit timesheet** button                                                |
| `time.viewOthers`     | A locked "My time" selector instead of a member picker                        |
| `time.editOthers`     | A teammate's timesheet marked **(read-only)**, and no edit controls in review |
| `time.approve`        | No **Timesheets** tab in Approvals, and no Approvals link in the sidebar      |
| `time.reopenApproval` | No **Reopen** button on an approved period                                    |
| `time.viewCost`       | No Cost or Margin tiles, and no Cost column                                   |
| `period.close`        | "Only an owner or admin can lock periods in this workspace."                  |

Hiding a control is a convenience. Every action is re-checked on the server, so a hidden button is never the only thing standing between someone and an action they cannot take.

## Example

Northwind Studio's setup.

* **Maya Ellis** (Owner) can do everything, including closing the month and reopening an approval.
* **Tom Whitfield** (Admin) closes the period at month end and reopens an approval when Priya asks.
* **Priya Raman** (Project Manager) approves timesheets for the people on her projects, submits for Ana when she is on leave, and sends reminders. She cannot see cost rates.
* **Daniel Okafor** (Finance) never approves a timesheet. He posts adjustments after the month closes and exports hours for payroll.
* **Sarah Lin** and **Jonas Bergman** (Members) track and submit their own time.
* **Ana Ferreira** (Contractor) does the same.
* **Ruth Castillo** (Client) sees nothing of any of this.

## Plan gating

Capability and plan are two different gates.

| Capability                               | Plan needed                               |
| ---------------------------------------- | ----------------------------------------- |
| `time.track`, `time.edit`, `time.submit` | Free                                      |
| `time.approve`                           | **Pro**                                   |
| `time.reopenApproval`                    | Free – reversing a decision is never sold |
| `period.close`                           | Free                                      |
| `time.adjust`                            | Free                                      |
| Exports                                  | **Pro**                                   |

On the Free plan, a Project Manager who holds `time.approve` still cannot approve. The capability is there; the plan is the wall. Submissions keep queueing, and the day the workspace upgrades the backlog clears.

## App gating

The **Timesheets** app must be switched on in **Settings → Apps**. It depends on the **Time tracking** app.

An app that is off **hides** its surface entirely. A feature not on your plan **stays visible** behind a paywall. They are not the same thing – see [/concepts/apps-and-modules](/concepts/apps-and-modules).

## Common questions

<AccordionGroup>
  <Accordion title="I have time.approve but I cannot see anyone's timesheet.">
    Your supervision scope reaches nobody. Capability and scope are separate – ask an owner to widen your scope.
  </Accordion>

  <Accordion title="Can a Project Manager be given period close?">
    Your workspace can build a custom role that includes `period.close`. Only `workspace.delete` can never be granted to a non-owner.
  </Accordion>

  <Accordion title="Can I approve my own timesheet?">
    Yes, if you hold `time.approve`. Your own submitted period appears in your queue.
  </Accordion>

  <Accordion title="Why does Finance hold time.adjust but not time.approve?">
    Finance corrects settled records after the fact. Delivery sign-off belongs to the delivery roles.
  </Accordion>

  <Accordion title="Can one person be blocked from a capability their role has?">
    Yes, for the capabilities that support a per-person override. See <a href="/team/per-person-permissions">Per-person permissions</a>.
  </Accordion>
</AccordionGroup>

## Troubleshooting

* **"You can't approve time."** Your role does not hold `time.approve`, or you are on the Free plan.
* **"You can't see other people's time."** You do not hold `time.viewOthers`.
* **"You can't reopen an approved timesheet."** Ask a workspace admin.
* **"You can't close a period."** `period.close` is Owner and Admin only by default.
* **A control is visible but does nothing.** You have the capability but not the plan. Look for the **Pro** badge next to the item.

## Related guides

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

  <Card title="Supervision scope" icon="eye" href="/concepts/supervision-scope">
    Why capability alone is not enough.
  </Card>

  <Card title="Approval permissions" icon="check-check" href="/approvals/approval-permissions">
    The reviewer side, across all four domains.
  </Card>

  <Card title="Custom roles" icon="settings" href="/team/custom-roles">
    Build a role with the exact set you need.
  </Card>

  <Card title="Plans and features" icon="credit-card" href="/concepts/plans-and-features">
    What Free includes and what Pro adds.
  </Card>

  <Card title="Permissions matrix" icon="table" href="/reference/roles-and-permissions-matrix">
    Every capability against every role.
  </Card>
</CardGroup>
