---
title: Team
section: features
updated: '2026-08-24'
summary: 'Team members are users who log into the partner portal to manage PBXs, resellers, and other team members, each assigned a role that defines their permissions.'
---

> A **team member** is a user who accesses the partner portal to manage PBXs, resellers, and organizational settings, with permissions determined by their assigned role.

## Overview

Each team member belongs to one partner (distributor or reseller) and has exactly one role. Distributors can manage team members across their whole hierarchy. You can create members directly or invite them by email, in which case they get a link to set up their account and password.

## What it does

The available roles depend on the partner type: distributor roles span the hierarchy, reseller roles are scoped to a single reseller.

> [!NOTE]
> To prevent lockout, you cannot change your own role or disable or delete your own account, whatever your permissions.

## Roles by partner type

The roles you can assign to a team member depend on your own partner type. A team member always has exactly one role.

### If you are a distributor

You can assign the two distributor roles, which span your whole hierarchy (all resellers, PBXs, and customers beneath you):

- **Distributor admin** - manage the distributor's resellers and team members. View all PBXs and customers across the hierarchy. Manage partner settings and reassign PBXs between resellers. **Also full Odoo CRM access**, including creating and canceling invoices and sending signature requests in your Odoo (see the warning below).
- **Distributor manager** - read-only access across the entire distributor hierarchy: view resellers, PBXs, customers, and team members, **and read the Odoo CRM data: invoices, signature documents, products and subscriptions**. Cannot create, modify, or delete anything.

### If you are a reseller

You can assign the two reseller roles, which are scoped to your single reseller organization:

- **Reseller admin** - full access for the reseller: create, update, and delete PBXs, customers, and team members. Can sign into PBXs and manage partner settings. **Also full Odoo CRM access**, including creating and canceling invoices and sending signature requests in your Odoo (see the warning below).
- **Reseller manager** - read-only access for the reseller: view PBXs, customers, and team members, **and read the Odoo CRM data: invoices, signature documents, products and subscriptions**. Can sign into PBXs for support. Cannot create, modify, delete, or change settings.

## Odoo CRM and the admin roles

If your organization has an Odoo integration configured, the role you assign also decides
what a team member can do inside **your own Odoo**, not just inside the portal. This is
worth pausing on before assigning an admin role.

> [!WARNING]
> Both admin roles carry **manage Odoo CRM**. A team member with an admin role can create
> and post invoices, cancel posted invoices, and email signature invitations from your Odoo
> to your customers. Those actions are **irreversible**: Odoo will not delete a posted
> invoice, and a signature invitation is already in the recipient's inbox. Assign an admin
> role only to people you would trust to invoice a customer directly.

Both manager roles carry **view Odoo CRM** instead. They can read the whole ledger,
invoices, signature documents, products and subscriptions, but cannot change anything.
Note that "read-only" here still means visibility of your full commercial data, including
outstanding balances per customer.

If your organization has no Odoo integration configured, none of this applies and the Odoo
CRM screens are unavailable regardless of role.

## See also

- [Resellers](partner_resellers.md) - team members can also be added from a reseller record.
- [PBXs](partner_pbxes.md) - the sign-into-PBX action is gated by role.
- [Partner settings](partner_settings.md) - per-user Microsoft sign-in interacts with the organization-level setting.

```yaml fields
partner_id:
  label: Partner
  tab: General
  hint: 'Partner organization this team member belongs to. Only visible for distributors. Cannot be changed after creation.'
first_name:
  label: 'First name'
  tab: General
  hint: 'First name of the team member.'
last_name:
  label: 'Last name'
  tab: General
  hint: 'Last name of the team member.'
email:
  label: Email
  tab: General
  hint: 'Email address used to log into the partner portal. Must be unique.'
password:
  label: Password
  tab: General
  hint: 'Login password. Leave empty on edit to keep the current password.'
roles:
  label: Role
  tab: General
  hint: 'Role assigned to the team member. Determines what actions they can perform in the partner portal.'
  values:
    -
      value: reseller_admin
      label: 'Reseller admin'
      text: 'Full access for the reseller: create, update, and delete PBXs, customers, and team members. Can sign into PBXs and manage partner settings.'
    -
      value: reseller_manager
      label: 'Reseller manager'
      text: 'Read-only access for the reseller: view PBXs, customers, and team members. Can sign into PBXs for support. Cannot create, modify, delete, or change settings.'
    -
      value: distributor_admin
      label: 'Distributor admin'
      text: 'Manage the distributor resellers and team members. View all PBXs and customers across the hierarchy. Manage partner settings and reassign PBXs between resellers.'
    -
      value: distributor_manager
      label: 'Distributor manager'
      text: 'Read-only access across the entire distributor hierarchy: view resellers, PBXs, customers, and team members. Cannot create, modify, or delete anything.'
microsoft_login_enabled:
  label: 'Microsoft sign-in'
  tab: General
  hint: 'Allows this team member to sign in with their Microsoft account when the organization-level toggle is off. Has no effect when organization-level Microsoft sign-in is enabled.'
status:
  label: Status
  tab: General
  hint: 'Controls whether the team member can log in. When disabled, the user cannot access the partner portal.'
  values:
    -
      value: enabled
      label: Enabled
      text: 'Team member can log in normally.'
    -
      value: disabled
      label: Disabled
      text: 'Login is blocked for this team member.'
```
