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

# Staff and roles

> Inviting staff, choosing what each role can reach, and deactivating people who leave.

A role is a named bundle of permissions. You invite a member of staff, give them a role, and that role decides every screen they can open.

## Inviting someone

<Steps>
  <Step title="Add them on User Management">
    Their name, the email address they will sign in with, and their role.
  </Step>

  <Step title="They set their own sign-in">
    You do not set a password for them. They open the sign-in page, choose **First time here? Set up your sign-in**, and pick their own.
  </Step>

  <Step title="They confirm and sign in">
    That is what moves them from **Pending** to **Active**.
  </Step>
</Steps>

<Warning>
  The invitation is the authorisation, not the sign-up. Somebody who creates a sign-in for an address you never invited gets nowhere — there is no staff record to match them to. This is why you should invite the exact address they use.
</Warning>

Full first-time detail, including what to do when the email does not arrive, is in [Signing in for the first time](/docs/getting-started/signing-in).

## Building roles

Permissions are grouped the way an administrator thinks about them:

<AccordionGroup>
  <Accordion title="Pupils and staff" icon="users">
    Viewing and editing pupil records, viewing and editing staff records, and viewing or marking registers.
  </Accordion>

  <Accordion title="Academics" icon="graduation-cap">
    Viewing and editing classes, subjects and the calendar; creating tests and entering marks; publishing and withdrawing report cards.
  </Accordion>

  <Accordion title="Finance" icon="calculator">
    Viewing fees and invoices; editing the fee grid and running billing; recording payments; and separately, approving fee changes, refunds and waivers.
  </Accordion>

  <Accordion title="Administration" icon="settings">
    Managing user accounts and roles, editing school branding and reference numbers, and viewing the system log.
  </Accordion>
</AccordionGroup>

The full list of permission keys is in the [permissions reference](/docs/reference/permissions).

## Roles worth setting up

Most schools end up with something close to this:

| Role          | Typically gets                                                              |
| ------------- | --------------------------------------------------------------------------- |
| Cashier       | `record_payments`, `view_finances`, `view_students`                         |
| Bursar        | The cashier's set plus `edit_finances`                                      |
| Class teacher | `edit_attendance`, `enter_marks`, `view_students`                           |
| Head teacher  | `publish_reports`, `approve_refunds`, `approve_waivers`, `view_audit`       |
| Administrator | `manage_users`, `manage_school_settings`, `edit_academics`, `edit_students` |

<Tip>
  Keep approving separate from doing. The point of `approve_refunds` sitting apart from `record_payments` is that the person who takes money is not the person who signs off on giving it back — and EduControl enforces that the requester of a refund cannot approve it, whatever their role says.
</Tip>

## When someone leaves

Deactivate them; do not delete them. Their name stays attached to every payment they took, register they marked and mark they entered, which is what makes those records defensible. An inactive account is refused at sign-in, and can be reactivated if they come back.

## Who can do this

The `manage_users` permission.
