User Roles & Permissions
Configure team access with role-based permissions to control who can view, edit, and manage returns.
ReturnMate uses role-based access control (RBAC) to manage what team members can see and do. This guide covers setting up roles and permissions for your team.
Understanding Roles
Roles define a set of permissions that can be assigned to users. Each user has one role that determines their access level.
Default Roles
| Role | Description | Typical Users |
|---|---|---|
| Owner | Full access to everything | Business owner |
| Admin | All features except billing | Store managers |
| Manager | Manage returns and team | Department leads |
| Agent | Process returns day-to-day | Support staff |
| Viewer | Read-only access | Stakeholders, auditors |
Permission Categories
Permissions are grouped into categories:
Returns Management
| Permission | Owner | Admin | Manager | Agent | Viewer |
|---|---|---|---|---|---|
| View RMAs | ✓ | ✓ | ✓ | ✓ | ✓ |
| Create RMAs | ✓ | ✓ | ✓ | ✓ | ✗ |
| Edit RMAs | ✓ | ✓ | ✓ | ✓ | ✗ |
| Delete RMAs | ✓ | ✓ | ✗ | ✗ | ✗ |
| Approve/Reject | ✓ | ✓ | ✓ | ✗ | ✗ |
| Process Refunds | ✓ | ✓ | ✓ | ✗ | ✗ |
| Override Rules | ✓ | ✓ | ✗ | ✗ | ✗ |
Shipping & Labels
| Permission | Owner | Admin | Manager | Agent | Viewer |
|---|---|---|---|---|---|
| Generate Labels | ✓ | ✓ | ✓ | ✓ | ✗ |
| Void Labels | ✓ | ✓ | ✓ | ✗ | ✗ |
| View Costs | ✓ | ✓ | ✓ | ✗ | ✗ |
| Carrier Settings | ✓ | ✓ | ✗ | ✗ | ✗ |
Warehouse Operations
| Permission | Owner | Admin | Manager | Agent | Viewer |
|---|---|---|---|---|---|
| Mark Received | ✓ | ✓ | ✓ | ✓ | ✗ |
| Perform Inspection | ✓ | ✓ | ✓ | ✓ | ✗ |
| Manage Inventory | ✓ | ✓ | ✓ | ✗ | ✗ |
| Warehouse Settings | ✓ | ✓ | ✗ | ✗ | ✗ |
Team Management
| Permission | Owner | Admin | Manager | Agent | Viewer |
|---|---|---|---|---|---|
| View Team | ✓ | ✓ | ✓ | ✗ | ✗ |
| Invite Users | ✓ | ✓ | ✗ | ✗ | ✗ |
| Edit Users | ✓ | ✓ | ✗ | ✗ | ✗ |
| Remove Users | ✓ | ✓ | ✗ | ✗ | ✗ |
| Manage Roles | ✓ | ✗ | ✗ | ✗ | ✗ |
Settings & Configuration
| Permission | Owner | Admin | Manager | Agent | Viewer |
|---|---|---|---|---|---|
| Return Rules | ✓ | ✓ | ✗ | ✗ | ✗ |
| Email Templates | ✓ | ✓ | ✓ | ✗ | ✗ |
| Portal Branding | ✓ | ✓ | ✗ | ✗ | ✗ |
| Integrations | ✓ | ✓ | ✗ | ✗ | ✗ |
| Automations | ✓ | ✓ | ✗ | ✗ | ✗ |
Billing & Account
| Permission | Owner | Admin | Manager | Agent | Viewer |
|---|---|---|---|---|---|
| View Plan | ✓ | ✓ | ✗ | ✗ | ✗ |
| Change Plan | ✓ | ✗ | ✗ | ✗ | ✗ |
| Billing Details | ✓ | ✗ | ✗ | ✗ | ✗ |
| View Invoices | ✓ | ✓ | ✗ | ✗ | ✗ |
Reports & Analytics
| Permission | Owner | Admin | Manager | Agent | Viewer |
|---|---|---|---|---|---|
| View Reports | ✓ | ✓ | ✓ | ✗ | ✓ |
| Export Data | ✓ | ✓ | ✓ | ✗ | ✗ |
| Financial Reports | ✓ | ✓ | ✗ | ✗ | ✗ |
Inviting Team Members
Step 1: Navigate to Team Settings
Go to Settings → Team → Invite User
Step 2: Enter Details
Email: newuser@company.com
Role: Agent
Send invite email: Yes
Step 3: User Accepts Invite
The user receives an email with a link to:
- Create their account
- Set password
- Access ReturnMate
Creating Custom Roles
If default roles don't fit your needs, create custom roles:
Step 1: Create Role
Go to Settings → Team → Roles → Create Role
Role Name: "Quality Inspector"
Description: "Warehouse team - inspection only"
Base on: Agent (optional starting point)
Step 2: Configure Permissions
Enable/disable specific permissions:
Quality Inspector Permissions:
Returns Management:
✓ View RMAs
✓ Edit RMAs (inspection notes only)
✗ Approve/Reject
✗ Process Refunds
Warehouse Operations:
✓ Mark Received
✓ Perform Inspection
✗ Manage Inventory
Shipping:
✗ Generate Labels
✗ View Costs
Step 3: Assign to Users
Assign the custom role to team members:
- Go to Settings → Team
- Select user
- Change role to custom role
- Save
Store-Specific Access
For multi-store setups, limit users to specific stores:
User: warehouse-sydney@company.com
Role: Manager
Store Access:
✓ Sydney Store
✗ Melbourne Store
✗ Brisbane Store
This user only sees RMAs and data for Sydney Store.
Warehouse-Specific Access
Similarly, limit access to specific warehouses:
User: inspector@company.com
Role: Quality Inspector
Warehouse Access:
✓ Sydney Warehouse
✗ Melbourne Warehouse
Activity Logging
All user actions are logged for audit purposes:
| Logged Data | Example |
|---|---|
| User | john@company.com |
| Action | Approved refund |
| Target | RMA-2024-001234 |
| Timestamp | 2024-12-31 14:30:22 |
| IP Address | 203.0.113.45 |
| Details | Refund $89.00 to original payment |
View logs at Settings → Team → Activity Log
Security Best Practices
Follow these practices to keep your account secure:
Principle of Least Privilege
- Give users only the permissions they need
- Start with restrictive roles, add permissions as needed
- Regular review and revoke unnecessary access
Account Security
- Require strong passwords (enforced by default)
- Enable two-factor authentication (2FA)
- Remove access immediately when staff leave
- Use unique accounts per person (no shared logins)
Regular Audits
- Review user list quarterly
- Check role assignments annually
- Monitor activity logs for anomalies
- Remove inactive users
Managing Users
Edit User
- Go to Settings → Team
- Click user row
- Update role, store access, or details
- Save changes
Deactivate User
Temporarily suspend access:
- Go to Settings → Team
- Click user row
- Toggle Active to off
- User cannot log in but account preserved
Remove User
Permanently remove access:
- Go to Settings → Team
- Click user row
- Click Remove User
- Confirm removal
Removed users' activity history is retained for audit purposes. Only the login access is revoked.
Single Sign-On (SSO)
Enterprise plans support SSO integration:
| Provider | Status |
|---|---|
| Google Workspace | Supported |
| Microsoft Azure AD | Supported |
| Okta | Supported |
| Custom SAML | Contact support |
SSO configuration is available at Settings → Security → Single Sign-On
API Access
For developer access via API:
- Create API key at Settings → Integrations → API
- Assign permissions to the API key
- API keys have their own permission set
- Revoke keys when no longer needed
See API Documentation for details.
Best Practices
- Use default roles when possible for simplicity
- Create custom roles only when necessary
- Document custom role purposes
- Review permissions when staff change roles
- Enable 2FA for all admin-level users
- Audit user access quarterly
- Remove access immediately for departing staff