Team and roles
The owner, manager, and staff roles and the exact permission matrix — who can see payouts, issue refunds, and change settings.
Team and roles
Invite people in Settings → Team. There are three roles. Permissions are enforced twice: the UI hides what you can't do, and the server rejects it anyway.
- Owner — everything. Owns settings, API keys, team, and payout bank links.
- Manager — runs day-to-day money: invoices, customers, payments, Charge, reports, and refunds up to a configurable limit. No settings, API keys, team management, or payout visibility.
- Staff — takes payments (Charge) and creates/views invoices and customers. No refunds, payouts, reports, or settings.
Permission matrix
From src/core/permissions.ts, the single source of truth:
| Capability | Owner | Manager | Staff |
|---|---|---|---|
| Invoices: view | ✓ | ✓ | ✓ |
| Invoices: create | ✓ | ✓ | ✓ |
| Invoices: edit | ✓ | ✓ | — |
| Invoices: send | ✓ | ✓ | — |
| Invoices: void | ✓ | ✓ | — |
| Customers: view | ✓ | ✓ | ✓ |
| Customers: manage | ✓ | ✓ | ✓ |
| Payments: view | ✓ | ✓ | ✓ |
| Payments: charge | ✓ | ✓ | ✓ |
| Payments: refund | ✓ | ✓* | — |
| Payouts: view | ✓ | — | — |
| Reports: view | ✓ | ✓ | — |
| Settings: view / manage | ✓ | — | — |
| Team: manage | ✓ | — | — |
| API keys: manage | ✓ | — | — |
| Webhooks: manage | ✓ | — | — |
\* Managers can refund, but only up to the per-refund limit you set in Settings → Team (in cents). Owners are unlimited; staff cannot refund at all.
Practical setups
- You + one register: make the cashier staff. They can charge cards and look up invoices, but can't see your payouts or issue refunds.
- A shop manager: manager role with a refund limit that matches your policy (say $100). They handle unhappy customers without calling you.
- Your accountant: manager gives them reports and payment history without settings or payout access.
Invite with an email; the person sets their own password. Remove someone the day they leave — their sessions stop working immediately.
Last updated: October 14, 2026
Was this page helpful?