Skip to main content
The employee profile is the single 360° view of one person — their identity, their contracts, their leave and attendance, their pay, their performance, their documents, and their place in their lifecycle from onboarding to separation. It’s organised as a hub: a hero panel with the essentials at the top, a left-hand navigation rail (a tab strip on mobile), and a panel that swaps as you move between sections. This page is a map of the profile. It explains the header and its actions, then walks each section at a high level and points you to the detailed module pages where the real work happens. You’ll find this at: /hr/employees/:id (click any employee in the directory)
📷 Screenshot: Employee profile showing the hero header, the left section rail and the Overview panel — to be added.

The profile accepts an optional ?section= query parameter so other parts of the app (for example the accounting “Employee” party links) can drop you straight onto a specific tab — e.g. /hr/employees/<id>?section=payslips. Without it, the profile opens on Overview.

The header and its actions

The hero panel is the single source of identity: avatar, full name, status badge, and the key metadata — position (with the title / position-type fallback), department, manager, employment type, hire date and tenure. It also surfaces the login account state — whether an account is linked, whether an invitation is still pending — with inline actions to invite, link, resend the invitation, or unlink the account. The primary actions sit in the page header (top-right), each gated by permission:
⚠️ Current state — action gating. These header buttons are deliberately gated on the coarse hr:write / hr:admin slugs that the API actually enforces, rather than the finer hr-employees:* scopes used elsewhere, so that a manager the API would authorise isn’t hidden out of the buttons. If a button is unexpectedly missing or present for a role, this slug choice is why — it’s been noted for the team.
There’s also a confirmation when you unlink an account: it warns that the person loses self-service (My HR) access, but their user account and any other product access are left intact.

The sections

The rail groups the sections so related things sit together. Each panel is a high-level summary that links onward to the full module page.

Profile

  • Overview — the landing panel. Pulls together an Employment summary (department, position, type, reports-to, work location, start/hire dates, tenure, and termination date if any), a Compensation snapshot for the active contract, a Personal & contact block (gender, date of birth with age, employee number, email, phone, location, address), a Leave balances snapshot for the current year, and an App access panel showing the employee’s access and its status with a Request access action (app access). If a transfer is awaiting approval, a banner appears here. Quick links jump to the History, Documents and Leave sections.
  • Documents — files attached to this employee (contracts, IDs, certificates, CVs). Upload, categorise and download here; this is the same data shown on the standalone documents page. See HR documents.

Work

  • Employment — the employee’s employment history: every contract, newest first, with type, dates, tenure, location and manager. Add a new employment record, or click one to open its detail sheet (contract, role & placement, statutory & bank details, compensation, leave approver, and the End Employment action). This is the deep contract surface — see Employment records & contracts.
  • Work History — a chronological timeline of life events: hires, transfers, promotions and contract endings, drawn from the contract, transfer and promotion records.
  • Attendance — the employee’s attendance and check-in records. See Attendance.

Time Off

Growth

Compensation

  • Payslips — the employee’s generated payslips. See Payslips.
  • Advances & Loans — salary advances and employee loans. See Employee loans & loan types.
  • Expenses & Reimbursements — expense claims and reimbursements tied to this employee.
These three panels are loaded on demand (so payroll data isn’t pulled in until you open them); you may briefly see a skeleton.

Lifecycle

  • Onboarding — the new-joiner onboarding checklist/activities for this employee. See Onboarding.
  • Grievances — grievances raised by or about this employee. See Grievances.
  • Separation — the offboarding record. Available when the employee is being separated. See Separation (offboarding).

System

  • Activity — the audit-style activity timeline and a comment thread for this employee record.

Permissions

The compensation, performance, attendance and leave panels also respect their own module permissions for any actions taken inside them.