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

# Remove a member

> End someone's access to your TimeTracker workspace, choose between deactivating and removing, and see exactly what happens to their tracked time and history.

There are two ways to end someone's access: **deactivate** them, which is reversible, or **remove** them, which is not.

Either way, their tracked time is kept. Removing a person never deletes the hours they logged.

## Deactivate or remove?

|                    | Deactivate                           | Remove                         |
| ------------------ | ------------------------------------ | ------------------------------ |
| What it does       | Blocks sign-in, keeps the roster row | Deletes the membership         |
| Reversible         | **Yes**                              | **No**                         |
| Confirmation       | A switch, with an **Undo** toast     | A confirmation dialog          |
| Their tracked time | Kept                                 | Kept                           |
| Their roster row   | Stays, marked **Deactivated**        | Gone                           |
| Seat               | Freed                                | Freed                          |
| Getting them back  | Switch it on again                   | Invite them again from scratch |

<Tip>
  Deactivate first. It is the safer choice for someone on garden leave, a seasonal contractor, or anyone who might come back. Remove only when you are sure.
</Tip>

## Deactivate someone

<Steps>
  <Step title="Open their record">
    Go to **Settings → Team Members** and click their name.
  </Step>

  <Step title="Find the Access card">
    On the **Profile** tab. It is described as `Switch this person's access to the workspace off without removing them or anything they've logged.`
  </Step>

  <Step title="Switch Can open this workspace off">
    The description updates to `They cannot sign in. Their time, rates and history are untouched, and turning this back on restores them exactly as they were.`
  </Step>
</Steps>

A toast confirms `Access switched off.` with an **Undo** action. There is no modal, because nothing is lost.

Their roster row now reads **Deactivated**.

To bring them back, switch it on again. The toast reads `Access restored.`

## Remove someone

<Steps>
  <Step title="Open the roster">
    Go to **Settings → Team Members**.
  </Step>

  <Step title="Open the three-dot menu">
    Find their row and choose **Remove from workspace**.
  </Step>

  <Step title="Read the dialog">
    It is titled **Remove {name}?** with the text `They'll immediately lose access to {workspace}. This can't be undone.`
  </Step>

  <Step title="Confirm">
    Click **Remove member**.
  </Step>
</Steps>

You can also remove someone from their record. The **Remove from workspace** card on the **Profile** tab says more: `{name} will lose access to this workspace immediately. Their logged time, rates and history are kept. This cannot be undone – you would have to invite them again.`

<Note>
  Removal does not ask you to type a confirmation string. It is a single confirm click, because their work is kept either way.
</Note>

The **Remove from workspace** item is disabled on your own row. You cannot remove yourself – use [leave a workspace](/account/leave-a-workspace) instead.

## What happens when you remove someone

### Kept

| Thing                      | What happens                   |
| -------------------------- | ------------------------------ |
| Time entries               | Kept, still attributed to them |
| Timesheets                 | Kept                           |
| Timecards and past shifts  | Kept                           |
| Expenses and leave records | Kept                           |
| Comments they wrote        | Kept                           |
| Reports                    | Their hours still appear       |

Their history is a record of your business. Removing a person is an access decision, not a data decision.

### Cleaned up automatically

| Thing                           | What happens                                                      |
| ------------------------------- | ----------------------------------------------------------------- |
| **Outstanding invitations**     | **Every open invite for their email is revoked in the same step** |
| A running timer                 | Discarded                                                         |
| An open clock-in                | Clocked out at that moment                                        |
| Pending approver assignment     | Cleared from timesheets and timecards awaiting them               |
| Manager pointers                | Anyone who reported to them has that link cleared                 |
| Group membership                | Removed                                                           |
| Mobile and widget access tokens | Revoked                                                           |

<Warning>
  The invitation cleanup matters. An open invite **is** access – anyone holding that link could still join. Removing a person closes the roster row and the invite at the same time, so there is no back door.
</Warning>

## Removing a client portal contact

The flow is identical. A portal contact sits on the same roster with the role badge **Client**.

Their comments, approvals and uploads in the portal are kept. Their project shares go with the membership.

See [remove portal access](/portal/remove-portal-access) for the softer options – unticking a single project, or switching the portal app off.

## The owner rules

<Warning>
  A workspace always needs one owner who can sign in.
</Warning>

| Situation                         | Message                                                                                       |
| --------------------------------- | --------------------------------------------------------------------------------------------- |
| Removing the last owner           | `A workspace always needs one owner. Make someone else an owner first, then remove this one.` |
| Deactivating the last owner       | `A workspace always needs one owner who can sign in. Make someone else an owner first.`       |
| Removing an owner as an admin     | `Forbidden: only an owner may remove an owner`                                                |
| Deactivating an owner as an admin | `Forbidden: only an owner may deactivate an owner`                                            |
| Deactivating yourself             | `You can't deactivate your own access. Ask another admin to do it.`                           |

If you are the owner and you are leaving, transfer ownership first. See [change someone's role](/team/change-someones-role).

## Seats

Both deactivating and removing free a seat immediately. Deactivated members are not counted, and neither are removed ones.

If you were blocked at the Free cap of 3 people, freeing a seat lets you add someone again.

See [seats and billing](/team/seats-and-billing).

## Example

Ana Ferreira's contract at Northwind Studio ends.

<Steps>
  <Step title="Deactivate first">
    Tom Whitfield opens Ana's record and switches **Can open this workspace** off. Ana cannot sign in. Her 140 tracked hours, her $80 billable rate and her $55 cost rate all stay put, and every report still shows her work.
  </Step>

  <Step title="Three months later">
    Ana is not coming back. Tom removes her from the roster. Her outstanding invite from last year is revoked in the same step.
  </Step>

  <Step title="What Northwind keeps">
    Every hour Ana logged, every invoice line those hours produced, and every comment she wrote. Northwind's Q1 profitability figures are unchanged.
  </Step>

  <Step title="What Northwind frees">
    One seat.
  </Step>
</Steps>

## Permissions

| Action                           | Capability          | Roles that hold it by default |
| -------------------------------- | ------------------- | ----------------------------- |
| Remove a member                  | `member.remove`     | Owner, Admin                  |
| Deactivate or reactivate someone | `member.changeRole` | Owner, Admin                  |
| Remove or deactivate an owner    | Owner only          | Owner                         |
| Revoke an invitation on its own  | `invite.revoke`     | Owner, Admin, Project Manager |

The permission list describes `member.remove` as **Remove members**: `Take a person out of the workspace. Their tracked time stays.`

## Common questions

<AccordionGroup>
  <Accordion title="Does removing someone delete their tracked time?">
    No. Time entries, timesheets, timecards, expenses and leave records are all kept, still attributed to them.
  </Accordion>

  <Accordion title="Do their invitations get revoked too?">
    Yes. Every outstanding invitation for their email is revoked in the same step, because an open invite is access.
  </Accordion>

  <Accordion title="Can I undo a removal?">
    No. You would invite them again, which creates a new membership. Deactivate instead if you might need them back.
  </Accordion>

  <Accordion title="What happens to their unfinished timesheets?">
    They are kept. If a submission was waiting on them as approver, that assignment is cleared so it can be routed to someone else.
  </Accordion>

  <Accordion title="What happens if they are clocked in?">
    They are clocked out at that moment, and a running timer is discarded.
  </Accordion>

  <Accordion title="Can I remove myself?">
    No. The menu item is disabled on your own row. Use <a href="/account/leave-a-workspace">leave a workspace</a>.
  </Accordion>

  <Accordion title="Do I get the seat back straight away?">
    Yes. Both deactivating and removing free a seat immediately.
  </Accordion>
</AccordionGroup>

## Troubleshooting

| Problem                                        | Cause                                                                 | Fix                                   |
| ---------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------- |
| No **Remove from workspace** item              | You lack `member.remove`                                              | Ask an owner or admin                 |
| It is disabled                                 | It is your own row                                                    | Leave the workspace instead           |
| The last-owner message                         | You are removing the only owner                                       | Transfer ownership first              |
| `Forbidden: only an owner may remove an owner` | You are an admin                                                      | Ask the owner                         |
| A removed person still has access              | A second invitation was accepted, or they belong to another workspace | Check the roster and any open invites |
| The seat count did not drop                    | The page is stale                                                     | Reload the roster                     |

## Related guides

<CardGroup cols={2}>
  <Card title="Pending invitations" icon="mail" href="/team/pending-invitations">
    Why an open invite is access.
  </Card>

  <Card title="Member record" icon="id-card" href="/team/member-record">
    Where the Access switch lives.
  </Card>

  <Card title="Change someone's role" icon="shield" href="/team/change-someones-role">
    Transfer ownership before you leave.
  </Card>

  <Card title="Remove portal access" icon="briefcase" href="/portal/remove-portal-access">
    Softer options for a client contact.
  </Card>

  <Card title="Offboard an employee" icon="log-out" href="/guides/offboard-an-employee">
    The full leaver checklist.
  </Card>

  <Card title="Seats and billing" icon="credit-card" href="/team/seats-and-billing">
    Freeing a seat.
  </Card>
</CardGroup>
