PensbasePensbaseDocs
← Back to pensbase
Staff

Staff management

Every account on a school's Pensbase — other than the proprietor themselves — is created through an invitation, and who can send that invitation depends on the role being handed out. This guide walks through inviting, resending, deactivating, and assigning staff, and who sees which buttons.

Screens below are from a demo school with sample data. Email addresses are hidden.

Who can do what

Officer below means a Head Teacher or ICT Admin — the two roles run day-to-day operations and share the same staff permissions. The proprietor appoints the school's officers; officers bring on teachers.

Action
Proprietor
Officer
Teacher
Invite a Teacher
✓
✓
—
Invite a Head Teacher, ICT Admin, or Burser
✓
—
—
Resend an invitation
✓
Teacher invites only
—
Revoke an invitation
✓
✓
—
Deactivate / reactivate a Teacher
✓
✓
—
Deactivate / reactivate a Head Teacher, ICT Admin, or Burser
✓
—
—
Bulk-upload teachers from a spreadsheet
✓
✓
—
Assign a class teacher
—
✓
—

Inviting staff

From Staff → Invite Staff, the proprietor sees all four roles a school ever hands out. Only the proprietor can appoint a Head Teacher, ICT Admin, or Burser — the officers who run finance and records can't create another officer, or grant themselves finance access through a Burser account.

The Invite staff form open on the proprietor's account, showing a Role dropdown with Teacher, Head Teacher, ICT Admin, and Burser
Proprietor view — every role is available.

A Head Teacher or ICT Admin opening the same form only ever invites a Teacher — the Role field is a locked, read-only value rather than a dropdown, with a note explaining why.

The Invite staff form open on a Head Teacher's account, with the Role field locked to Teacher
Head Teacher / ICT Admin view — Role is fixed to Teacher.

Sending an invite creates a pending record and emails the link. If the email doesn't land, the same link is always shown on screen to copy and send another way — the token portion is blotted out below since that link is, on its own, enough to claim the account it was created for.

A success message reading 'Invitation emailed to docs-demo@example.com', with a copyable link below it
After Send invite — the shareable link, with its token masked here for the doc.

The staff roster

Staff lists everyone with a role of Teacher, Head Teacher, ICT Admin, or Burser, with a Deactivate button on each active row. That button is gated exactly like the invite that created the account: a Head Teacher can suspend a Teacher, but only the proprietor can suspend a Head Teacher, ICT Admin, or Burser. Nobody can deactivate themselves, and the proprietor can't be deactivated at all.

The active staff table, listing teachers, a Head Teacher, and Bursers, each with a Deactivate button
Active staff, with per-row Deactivate / Reactivate.

Deactivating doesn't delete anything — it just blocks that account's login, and Reactivate reverses it at any time. Both are one click, logged to the school's activity feed either way.

The same staff table after clicking Reactivate on a previously deactivated teacher, now showing Active with a Deactivate button
After Reactivate — the row flips back to Active.

Pending invitations

An invitation that hasn't been accepted shows up here until it expires. Resend is gated the same way as sending the original invite — re-issuing a link grants the role as surely as creating it. Revoke is different: withdrawing an invite grants nothing, so any staff manager can do it, not just whoever could have sent it.

A table of two pending Teacher invitations, each with Resend and Revoke actions
Pending invitations — Resend and Revoke.

Revoking removes the row outright — there's no confirmation step, since withdrawing an invite is always safe to undo by just sending a fresh one.

The pending invitations table after revoking one invite — only one row remains
After Revoke — the withdrawn invite is gone.

Resending swaps in a brand-new link and expiry for that same row, shown inline the same way a fresh invite is.

The pending invitations row after clicking Resend, showing a new copyable link in place of the Resend/Revoke buttons
After Resend — a new link, in place of the row's buttons.

Accepting an invitation

Opening an invite link lands on /join, pre-filled with the email, first name, and last name the invite was created with. There's nothing to look up or type beyond a password — this is the entire path from invite link to a working login, for every role except the proprietor (who instead completes onboarding).

The Join Orbislabs School form, with email, first name, and last name pre-filled, and empty password fields
The accept-invitation page — everything but the password is already filled in.

The password field scores strength live as you type (the same rule the server enforces, so nothing passes client-side and fails on submit) and Confirm password has to match before Join as teacher will do anything.

The same form with a password entered, showing a green 'Strong' strength meter
A passing password — medium strength or better, per the same rule used at login.

Submitting creates the account, signs it in immediately, and drops the new user straight onto their dashboard — no separate login step after joining.

A freshly-created teacher account's empty dashboard, reading 'You have no class or teaching assignments for the current term yet.'
Signed in immediately after joining — a brand-new Teacher account, not yet assigned to a class.

Bulk-uploading teachers

For onboarding a whole staff room at once, Staff → Upload teachers takes a spreadsheet instead of one form per person. Every row is invited as a Teacher and emailed its own link — there is no Role column on the sheet at all, so a spreadsheet passed around a staff room can never be used to hand out a more privileged account.

The Upload teachers page, with steps to download a template and upload a filled workbook
Bulk upload — download the template, fill it, upload it.

Assigning a class teacher

Staffing a class is a different authority from appointing officers, so it sits with the Head Teacher and ICT Admin, not the proprietor. From Classes, each arm gets a dropdown of active staff — any staff member is eligible, not only Teachers — to set or change its class teacher for the current term.

The Classes page with a class-teacher dropdown open on one arm, listing eligible staff
Assigning a class teacher from the Classes page.