---
tags: [companyuser, model]
module: CompanyUser
---

# User

## Connections
[[_CompanyUser]] · [[[Model]RoleAndPermission]] · [[[Model]JournalEntry]] · [[[Model]Account]] · [[[Model]GeneralAttachment]] · [[[Model]PayrollEntry]] · [[[Model]RecurringEntity]] · [[[Repo]Repositories]] · [[[Observer]Observers]] · [[[Controller]UserController]] · [[[Service]UserServices]] · [[[DB]DatabaseTables]] · [[[Cross]CrossModuleDependencies]]

## Source
```
Modules/CompanyUser/Models/User.php
Modules/CompanyUser/Models/UserConfiguration.php
Modules/CompanyUser/Models/Referral.php
Modules/CompanyUser/Models/WeeklyInsights.php
```

## Responsibilities
- Central authentication entity — every tenant employee is a `User`
- `UserConfiguration` stores per-user preferences (e.g. `preferred_language`)
- `Referral` tracks invitations sent by users to external prospects
- `WeeklyInsights` caches computed dashboard metrics per company per week

## Key Relationships

| Relation | Type | Target |
|---|---|---|
| addedBy | belongsTo (self) | User |
| userConfigurations | hasMany | UserConfiguration |
| recurringEntities | hasMany | [[[Model]RecurringEntity]] |
| roles | via HasRoles trait | [[[Model]RoleAndPermission]] Role |

## Referral Relationships
| Relation | Type | Target |
|---|---|---|
| Referral.user | belongsTo | User |

## Key Columns (users)
`uname` · `email` · `mobile` · `password` · `is_active` · `added_by` · `country_code` · `img` · `last_visit_date` · `current_visit_date` · `last_activity_date` · `session_time` · `password_created_at`

## Traits
`AuditableTrait` · `HasApiTokens` · `HasRoles` · `MobileNumberFormatTrait` · `Notifiable` · `SoftDeletes` · `UsesTenantConnection`

## Observer
[[[Observer]Observers#UserObserver]] — `created`: increments company `total_users`, records feature usage; `deleted`: increments `inactive_users`
