> ## Documentation Index
> Fetch the complete documentation index at: https://ecommos.co/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Add staff and set roles

> Invite staff, assign a role, scope them to products, and verify assignment works.

# Add staff and set roles

Without scoped staff, round-robin assignment skips everyone and form orders land unassigned. Get at least one Sales rep invited and product-scoped before you go live.

## The 7 roles

| Role              | What they do                                                                                                                                    |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Owner             | Full access, including billing and ownership transfer. Created automatically with the org — you can't invite someone as Owner.                  |
| General Manager   | Full operations access — orders, deliveries, agents, inventory, finance, staff — without billing, ownership transfer, or deleting the business. |
| Sales manager     | Leads Sales reps: full order queue, reassigns orders, sees team performance. Manages Sales reps only.                                           |
| Sales rep         | Works their own assigned orders and follows up with customers. The default role for new invites.                                                |
| Logistics manager | Runs Deliveries and the delivery agent roster; views stock to check availability.                                                               |
| Inventory manager | Manages products, stock, waybills, purchases, and transfers.                                                                                    |
| Accountant        | Cashflow and Remittance only — no order or customer visibility at all.                                                                          |

See the [Roles](/docs/roles/owner) section for a fuller "where to begin" guide per role.

Legacy role names (`Admin`, `Staff`, `Agent`, `Call rep`) are normalized automatically to their current equivalent (`Admin` → General Manager, the rest → Sales rep). You don't need to handle that manually — but use the current names in any new invites or documentation.

## Invite a staff member

1. Go to **Staff**.
2. Click **Invite**.
3. Set their role from the list above.
4. Enter the staff name and email.
5. Send the invite.

The invite creates a tokenized link and an email goes out. The staff profile exists in your org before they accept, so you can scope them to products immediately. You can only assign roles you yourself are allowed to assign — for example, a Sales manager can invite Sales reps, but not another Sales manager.

## Accept the invite

The invited user:

1. Opens the invite link.
2. Signs up or logs in with an email that matches the invite email.
3. The system links their user account to the staff profile.

Email matching is enforced. A user cannot accept an invite sent to a different email.

## Scope staff to products

Round-robin assignment only considers staff who:

1. Have an active status (not on probation / not inactive).
2. Are scoped to the product the order came in on.
3. Have an assignable role (`Sales rep` or `Owner`).

To scope a rep:

1. Open the staff detail drawer.
2. Open the **Product access** section.
3. Add the product(s) they should work.
4. Save.

## Verify assignment

1. Submit one test order through your form.
2. Open **Orders** and find the order.
3. Confirm the assigned rep is your scoped Sales rep (not the owner, unless the rep was the only eligible staff).
4. Confirm the rep received an in-app notification.
5. If you registered a push token for the rep, confirm the push arrived.

## Reassignment

Managers and owners can reassign or unassign orders from the queue:

* Reassignment records `order.reassigned` events in the timeline.
* Unassignment records `order.unassigned` and returns the order to the unassigned pool.
* Staff without product access cannot be assigned.
* Inactive staff cannot be assigned.

## Pay and performance

Staff pay lives under the **Salary** tab, not "Earnings" — it's a fixed base salary plus a performance bonus tied to hitting an order or sales target, not a percentage commission. It's set up separately from staff creation, so a new invite doesn't need pay details up front. The **Performance** tab shows handled/delivered/pending/cancelled counts, delivery rate, and revenue attributed per staff member — useful for spotting who's overloaded or who needs support, not just who's behind.

## What's next

* [Work the order queue](./order-queue)
* [Notifications and queue configuration](./notifications-and-queue)
