Skip to main contentGBOSSTABTime and Billing

Users and roles

AdminAccountant, manager, and admin, what each can do.

Users and roles

Every TAB user has exactly one role. The role decides what actions they can take, which data they can see, and whether they see the admin pages at all. Only admins can open the users page.

You'll find it under Admin → Users. The page returns an Admin access required notice to anyone else.

The three roles

The dropdown in the edit modal offers exactly three values: accountant, manager, admin.

Accountant

Day-to-day staff. Their world is logging time and getting it approved.

  • Log time (start/stop timers).
  • Edit their own stopped entries' start/end times and notes.
  • Submit entries for approval (single or bulk).
  • See clients allowed by the Client visibility mode, firm-wide or assigned-only.
  • Can't approve entries (the Approvals page returns a manager-required notice), open Admin, or change anyone else's data.

This is the right role for the bulk of your team.

Manager

Everything an accountant does, plus approvals and firm-wide visibility.

  • All accountant abilities.
  • Open the Approvals page; approve or reject submitted entries (single or bulk; reject requires a reason).
  • See every client in the firm (the visibility mode doesn't restrict managers).
  • Edit submitted entries with a required reason.
  • Can't manage users, rate cards, branding, or firm settings, those are admin-only.

Use this for senior accountants, signing managers, anyone who reviews staff time.

Admin

Everything a manager does, plus the keys to the building.

  • All manager abilities.
  • Admin → Users, edit display name, role, default rate, active flag.
  • Admin → Rate cards, create and delete rate cards.
  • Admin → Firm settings, visibility, rounding, time zone, entry policies.
  • Settings → Branding, firm logo and brand colour.
  • Edit approved entries with a required reason.
  • Lock approved entries (admin-only).

Default hourly rate

Every user has a default_hourly_rate_cents value, editable in the user edit modal. The field is a number input labelled Default hourly rate (cents) with a helper noting "25,000 cents = $250.00/hr." (Yes, you enter cents directly, not dollars.)

This rate is the last fallback in the rate resolution chain, used when no rate card matches and no project/client default exists. Leave it at 0 if you want every entry to be priced by a rate card or by the client/project, and to fall through to ", " on the rate column otherwise.

Active / inactive

A toggle on the edit modal (Active / Inactive). Inactive users:

  • Can't sign in (their App ID / dev login still works, but is_active = false users won't be matched by lookupAppUser, so they hit "not provisioned" on the first protected request).
  • Keep all their history. Every entry they ever logged stays on reports and approvals.

Use Inactive when someone leaves the firm. Don't delete, you'd lose the audit trail.

What this page can't do today

  • No "Add user" button. New users are provisioned externally (via GBOSS Platform, or seeded into app_users directly during the bootstrap migration), the Admin → Users page only lists and edits existing rows.
  • No bulk actions. Each user is edited one at a time through the modal.
  • No "last active" link. The Last active column shows a relative timestamp but isn't clickable.

Changing a role

  1. Open Admin → Users.
  2. Click the user's row to open the edit modal (the whole row is clickable; you'll see an Edit → hint on the right).
  3. Pick the new role from the Role dropdown.
  4. Click Save.

The new role takes effect on the user's next request, there's no live broadcast. If you promote someone from accountant to manager, the Approvals page lets them in immediately, even on the same session.

Related