One login. Every office.
Directors who run more than one branch stop signing out to sign back in. Contractors who serve two firms stop juggling two Chrome profiles. Switch branches from a dropdown in the sidebar. Every branch keeps its own clients, partners, payouts and audit trail.
Current branch
Melbourne Migration
Click a branch to switch
Full data isolation, independent billing, permission-scoped access.
The switcher is the permission. Each branch is a fully independent tenant with its own clients, partners, invoices, Stripe subscription and Stripe Connect account. You see only what your membership on that branch allows.
Each branch is its own tenant
Clients, partners, colleges, cases, invoices, Stripe Connect - all scoped to the branch. Switching does not leak data across offices. Your Melbourne clients never appear in the Sydney list.
Switch from the sidebar
Bottom-left dropdown lists every branch you belong to. One click switches. The whole app rerenders as if you had signed in as a member of the destination branch.
Permission-scoped per branch
Your role, data scope and module access all belong to the membership row on the target branch. You can be an admin in Melbourne, a limited member in Sydney, with Partners access hidden in the second.
One subscription. Every branch on the same invoice.
Your firm holds ONE Stripe subscription. The first branch is included in your Pro plan (A$79/mo). Every additional branch is a A$39/mo add-on on the same subscription - one credit card, one invoice, one renewal date. Seats and quotas pool across branches so a 5-seat Pro plan gives you 5 seats total, not 5 per branch.
- A$79/mo Pro = your first branch. A$39/mo per additional branch (annual A$25/mo)
- 5 seats pooled across every branch on Pro
- Per-branch Stripe Connect (client payments + partner payouts stay isolated per office)
- Per-branch ABN, ACN, bank details and email domains
- Enterprise: unlimited branches flat-included
Sample firm invoice (Pro, 3 branches)
Three branches. One subscription. One card. One renewal date.
Membership is the permission. Removing a user is instant.
The sidebar dropdown only lists branches where you hold an org_members row. If an admin revokes your membership on a branch, that branch disappears from your dropdown on the next request. Every switch is audit-logged on both the source branch and the destination so either compliance officer can trace who moved between which offices and when.
Common questions
Does the branch switcher cost extra?
The switcher itself is free. Additional branches on Pro are A$39/mo each (annual A$25/mo) as an add-on on your existing Pro subscription. Your first branch is included in the base A$79/mo. Enterprise: unlimited branches, flat included.
How does a user get added to a second branch?
An admin on the target branch invites them by email from that branch's Team settings page. The same login accumulates memberships; the switcher picks them up automatically on the next page load.
Can I see clients across all my branches in one view?
Not today. Each branch renders in isolation, matching how most multi-office firms actually operate (separate P and L, separate compliance, separate partner networks). A firm-wide dashboard is on the roadmap once we've seen how multi-branch customers use the switcher.
Does the switcher work on mobile?
Yes. The Harper mobile app talks to POST /api/auth/mobile/switch-org, which re-mints a fresh 15-minute access token bound to the new branch. Refresh tokens are branch-agnostic (they identify the human), so you don't get signed out on switch.
Is there an audit trail?
Yes. Every switch writes a security.org_switch_out event on the source branch and a security.org_switch_in event on the destination, both including the user id, IP address and user agent.
Stop juggling logins.
Add ImmiIQ to your practice and every branch you run. Invite yourself into each; the switcher takes care of the rest.