# Reporting user permissions
A brief explanation of SP main app user roles, and some examples of checking in the code. See detailed permissions explanation on [Team member roles and access levels](https://support.simplepractice.com/hc/en-us/articles/360052700171-Team-member-roles-and-access-levels).
### Account Owners
An acount owner is a customer who owns the practice. Every account owner is a clinician with administrator access, but not all clinicians with administrator access is an account owner.
##### Checking in the code:
```ruby=
user.is_owner?
```
> When it comes to reporting, if you are already allowing clinician_admin access, you don't need to allow owners too, once every owner is a clinician_admin.
### Clinicians with administrator access
A clinician with administrator access is self explanatory, he is a clinician but he can also have access to admin features.
##### Checking in the code:
```ruby=
user.clinician_admin?
```
### Clinicians with full client list access
A clinician with full client list access, has permission to see other clinician's data besides his ones.
##### Checking in the code:
```ruby=
user.clinician_full?
```
### Schedulers
A scheduler has permission to manage appointments.
##### Checking in the code:
```ruby=
user.scheduler?
```
### Billers
A biller has permission to manage client billings.
##### Checking in the code:
```ruby=
user.biller?
```
### Practice managers
A practice manager can access all practice settings, except for the Subscription Information and Data Export settings that are reserved for the Account Owner
##### Checking in the code:
```ruby=
user.practice_manager?
```
### Clinicians with basic access
A clinician with basic access can add documentation and schedule appointments for their own clients.
##### Checking in the code:
```ruby=
user.clinician?
```
### Clinicians with basic access + billing
A clinician with basic access + billing can add documentation, manage billing, and schedule appointments for their own clients.
##### Checking in the code:
```ruby=
user.clinician_self?
```
### Supervisor
This role is intended exclusively for those who are supervising pre-licensed clinicians.
##### Checking in the code:
```ruby=
user.supervisor?
```