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

# Team Members & Access Control

> Grant your staff access to your Bila account with role-based permissions - without sharing your login credentials.

export const roles = [{
  name: "Merchant Admin",
  level: "Full Access",
  levelColor: "#f16101",
  description: "Complete control - manage settings, invite admins, initiate and approve payments."
}, {
  name: "Initiator & Approver",
  level: "High Access",
  levelColor: "#e07b00",
  description: "Can both create and authorize payment transfers without additional approval."
}, {
  name: "Initiator Only",
  level: "Moderate Access",
  levelColor: "#b45309",
  description: "Can draft and submit transfers, but a separate Approver must authorize before funds move."
}, {
  name: "Approver Only",
  level: "Moderate Access",
  levelColor: "#b45309",
  description: "Can authorize transfers created by others - cannot initiate new ones."
}, {
  name: "View Only",
  level: "Low Access",
  levelColor: "#6b7280",
  description: "Can see account activity, balances, and reports. Cannot initiate or approve any transactions."
}, {
  name: "Alerts Admin",
  level: "Minimal Access",
  levelColor: "#4b5563",
  description: "Receives transaction notifications only - no dashboard login or balance visibility."
}];

export const RoleTable = () => <div style={{
  marginTop: '16px',
  borderRadius: '12px',
  overflow: 'hidden',
  border: '0.5px solid rgba(241,97,1,0.2)'
}}>
    <div style={{
  display: 'grid',
  gridTemplateColumns: '200px 140px 1fr',
  padding: '10px 20px',
  background: 'rgba(241,97,1,0.06)',
  borderBottom: '0.5px solid rgba(241,97,1,0.15)'
}}>
      <span style={{
  fontSize: '11px',
  fontWeight: '600',
  letterSpacing: '0.06em',
  textTransform: 'uppercase',
  opacity: 0.5
}}>Role</span>
      <span style={{
  fontSize: '11px',
  fontWeight: '600',
  letterSpacing: '0.06em',
  textTransform: 'uppercase',
  opacity: 0.5
}}>Access Level</span>
      <span style={{
  fontSize: '11px',
  fontWeight: '600',
  letterSpacing: '0.06em',
  textTransform: 'uppercase',
  opacity: 0.5
}}>What They Can Do</span>
    </div>
    {roles.map((role, i) => <div key={role.name} style={{
  display: 'grid',
  gridTemplateColumns: '200px 140px 1fr',
  padding: '14px 20px',
  borderBottom: i < roles.length - 1 ? '0.5px solid rgba(241,97,1,0.1)' : 'none',
  alignItems: 'center',
  gap: '12px'
}}>
        <span style={{
  fontWeight: '600',
  fontSize: '13px'
}}>{role.name}</span>
        <span style={{
  display: 'inline-block',
  padding: '3px 10px',
  borderRadius: '999px',
  fontSize: '11px',
  fontWeight: '600',
  letterSpacing: '0.03em',
  background: `${role.levelColor}18`,
  border: `1px solid ${role.levelColor}40`,
  color: role.levelColor,
  whiteSpace: 'nowrap'
}}>{role.level}</span>
        <span style={{
  fontSize: '13px',
  opacity: 0.75,
  lineHeight: '1.5'
}}>{role.description}</span>
      </div>)}
  </div>;

The Team Members feature lets you invite staff to your Bila account and define exactly what they can see and do. Each team member gets their own login, and their access is governed entirely by the role you assign them.

<Warning>
  Only a **Merchant Admin** can invite new team members or change existing roles.
</Warning>

## Access Roles

<RoleTable />

<Info>
  The **Alerts Admin** role is ideal for retail outlets or external stakeholders who need payment notifications without access to your account balance or dashboard.
</Info>
