Team management

Invite, change roles, assign to clients, deactivate, reactivate.

The Team page is where you manage who's in your firm and what they can see. Find it via Team in the sidebar. Partner and Manager roles can use it; everyone else gets a read-only view of the roster.

What's on the Team page

Three sections, top to bottom:

  1. Active members — accountants currently signed in and working
  2. Pending invites — emails sent but not yet accepted
  3. Deactivated members — past staff retained for audit but not currently active
[Screenshot pending] Team page with sections for Active members, Pending invites, and Deactivated members

Each active row shows: name, email, role dropdown, and either an assignments link (count of clients they're assigned to) or an all clients indicator (for Partners and Managers).

Inviting a member

  1. Invite member button (top-right)
  2. Email + role:
    • Partner — only by support today (see Roles & permissions)
    • Manager / Senior accountant / Junior accountant / View only — all selectable
  3. Send invite

The invitee gets an email with a link valid 7 days. Once they click it:

  • If they don't have a Kiravy account, they sign up first
  • They confirm the join
  • They land in your firm immediately with the role you picked

The pending invite disappears from the Pending section when accepted.

Revoking a pending invite

In the Pending invites section, click the Revoke button on the row. The link stops working immediately — they get a "this invite has been revoked" message if they try.

Useful when you typed the email wrong or someone changes their mind about joining.

Changing a member's role

Click the role dropdown next to their name → pick a new role. A confirmation modal appears for downgrades (e.g. Manager → Senior) showing what they'll lose access to. Upgrades just apply.

Roles you cannot change from the UI:

  • Your own role — prevents accidental self-lockout
  • Partner rows — Partner promotion / demotion is support-only today (the database policy enforces it too)

The change takes effect immediately — no re-login required. Their next page navigation respects the new role.

[Screenshot pending] Role dropdown open with the four selectable roles shown and a confirmation modal in the middle of the screen

Per-client assignments

Partners and Managers see every client automatically. Senior, Junior, and Viewer members see nothing until you assign them to specific clients.

From the client side:

  1. Open the client → SettingsTeam
  2. Add assignment → multi-select Senior / Junior / Viewer members
  3. Save

They now see this client in their Clients list and can do whatever their role allows on it.

Unassigning: click the X next to their row on the client's Team page. Their past work stays — every transaction, receipt, AI conversation they created keeps their authorship. They just lose forward access.

From the member detail page (/team/[userId]) — opens via clicking their name on the Team page — you can see all their assignments in one list and revoke them in bulk. Useful for handing off a portfolio between two staff.

Deactivating a member

When someone leaves your firm or goes on extended leave:

  1. Team page → click their row → opens the member detail page
  2. Deactivate button at the bottom
  3. Confirmation modal

What happens:

  • They lose login access immediately
  • Their email becomes unusable for sign-in
  • All their per-client assignments are kept in the database but inert
  • Past data they created (transactions, receipts, AI threads, audit logs) stays attributed to them — the audit trail is preserved
  • Their row moves to the Deactivated members section at the bottom of the Team page

Deactivate vs delete. Kiravy doesn't expose a "delete member" button — only deactivate. This is intentional. Deleting a member would mess up audit attribution ("who created this entry?" → blank). Deactivation preserves the record.

If you need to purge a member's PII for compliance (e.g. PDPA request), contact support — that's a manual, single-operation cleanup.

Reactivating a member

Open the Deactivated members section → click Reactivate on their row. They get their old role back. Past assignments are restored.

Useful when:

  • Someone returns from extended leave
  • You deactivated by mistake
  • A contract accountant comes back for the next financial year

When deactivation isn't enough

If someone left under a cloud and you want them locked out and their PII removed:

  1. Deactivate (UI)
  2. Contact support to scrub PII — email address gets +deleted@-stamped, display name replaced with a placeholder, audit log entries keep the row ID but drop the email

Their work attribution stays — Junior X created this transaction still resolves, just not to a recognisable name. This is the PDPA-compliant path.

What about their AI conversations?

Soft-deleted (hidden from the sidebar) but kept for compliance / replay if needed. A Partner can request transcript export from support.

What's coming

  • Bulk assignment — assign one staffer to 20 clients in one click instead of opening each
  • Assignment templates"new junior gets this set of 5 starter clients"
  • Audit log UI in Firm settings — Partners can see who did what across the firm
  • Two-factor auth enforcement at the firm level
  • SSO for larger practices

What's next