Employee Directory
Module Code: EMP Priority: P0 (Critical Foundation - Required for all user-employee linkage) Status: Enhanced from v5.1 (was M20 P3, now elevated to P0) Dependencies: User Access & Security, Access Control & Permissions, Company Configuration Old Module Number: M20 (Staff Management & Performance)
Related Documentation
- 🏠 Documentation Home - System overview & all modules
Module Overview
Purpose: Core employee/staff management system providing the foundation for linking system users to employees, managing organizational structure, and maintaining employee records essential for all business operations.
Priority: P0 (Critical Foundation)
Rationale for P0 Priority:
- Every user in the system must be linked to an employee record
- Required for role assignment and permission management
- Essential for department and location-based operations
- Foundation for all employee-related workflows
Dependencies:
- User Access & Security (user accounts)
- Access Control & Permissions (role assignments)
- Company Configuration (departments and locations)
Integration Points: All modules (every module needs employee context)
Functional Specifications
2.1 Employee Records
Employee Information:
Personal Details:
- Full legal name
- Preferred name/nickname
- Date of birth
- National ID or passport number
- Personal address
- Personal phone number
- Personal email address
- Emergency contact (name, relationship, phone)
- Marital status
- Number of dependents
- Photo for ID badge
Employment Details:
| Field | Description | Required |
|---|---|---|
| Employee ID | Unique identifier (auto-generated) | Yes |
| User Account ID | Link to M00 authentication user | Yes |
| Hire Date | Employment start date | Yes |
| Position/Job Title | Current position | Yes |
| Department | Sales, Service, Parts, Admin, etc. | Yes |
| Location | Primary work location (multi-location) | Yes |
| Employment Type | Full-time, Part-time, Contract, Temporary | Yes |
| Employment Status | Active, On Leave, Terminated | Yes |
| Manager/Supervisor | Reports to (employee ID) | Yes |
| Work Schedule | Days and hours | Yes |
| Termination Date | If applicable | Optional |
| Termination Reason | If applicable | Optional |
Organizational Assignment:
- Primary department
- Secondary departments (if cross-functional)
- Primary location
- Cost center assignment
- Team membership
- Direct reports (for managers)
2.2 Position & Department Management
Position/Job Title Configuration:
| Field | Description |
|---|---|
| Position ID | Unique identifier |
| Position Name | Job title (Sales Advisor, Technician, etc.) |
| Position Code | Short code |
| Department | Associated department |
| Level | Organizational level (Staff, Supervisor, Manager) |
| Description | Responsibilities and duties |
| Required Qualifications | Education, experience, certifications |
| Salary Grade | Pay grade level |
| Is Active | Current/obsolete position |
Standard Dealership Positions:
| Position | Department | Level | Typical Count |
|---|---|---|---|
| General Manager | Management | Executive | 1 |
| Sales Manager | Sales | Manager | 1-2 |
| Service Manager | Service | Manager | 1-2 |
| Parts Manager | Parts | Manager | 1 |
| F&I Manager | F&I | Manager | 1 |
| Sales Advisor | Sales | Staff | 10-30 |
| Service Advisor | Service | Staff | 5-15 |
| Technician | Service | Staff | 15-40 |
| Parts Specialist | Parts | Staff | 5-15 |
| Cashier/Accountant | Admin | Staff | 2-5 |
| Receptionist | Admin | Staff | 2-4 |
Department-Employee Linkage:
- Primary department assignment (required)
- Secondary department access (optional)
- Department transfer history
- Department head identification
- Team structure within departments
2.3 User-Employee Linkage
Linking User Accounts to Employees:
This is the critical P0 function that connects authentication (M00) to business operations:
User-Employee Relationship:
| Attribute | Description |
|---|---|
| User ID | Foreign key to M00 user account |
| Employee ID | Foreign key to employee record |
| Link Status | Active, Suspended, Terminated |
| Linked At | When association was created |
| Linked By | Admin who created link |
Business Rules:
- Every user account must have exactly one active employee record
- One employee can only have one active user account
- Terminated employees have user accounts deactivated
- User account created automatically when employee is hired (or manually linked)
- Employee termination triggers user account deactivation
Employee Context in System:
- All transactions tagged with employee ID (who performed action)
- All customer interactions linked to employee
- All documents generated include employee information
- Audit trails include employee context
- Reports filtered by employee/department/location
2.4 Employee Status Management
Employment Status Workflow:
| Status | Description | User Account | System Access |
|---|---|---|---|
| Active | Currently employed, working | Active | Full access |
| On Leave | Temporary leave (vacation, medical) | Active | Limited or suspended |
| Suspended | Administrative suspension | Suspended | No access |
| Terminated | Employment ended | Deactivated | No access |
Status Change Triggers:
- Hire: Create employee record and user account
- Leave: Suspend or limit access based on leave type
- Suspension: Immediately suspend user account and access
- Termination: Deactivate user account, preserve employee data
Termination Workflow:
- Manager initiates termination request
- HR approves and sets termination date
- System deactivates user account on termination date
- Employee removed from active assignments
- Manager re-assigned for employee’s assigned records
- Access revoked to all systems
- Employee record archived (not deleted)
- Exit interview and documents stored
2.5 Certifications and Training Tracking
Certification Management:
| Field | Description |
|---|---|
| Certification ID | Unique identifier |
| Employee ID | Foreign key to employee |
| Certification Name | Name of certification |
| Certification Type | Manufacturer, Technical, Sales, Safety |
| Issuing Authority | Who issued (Toyota, ASE, etc.) |
| Issue Date | When obtained |
| Expiry Date | When it expires |
| Certification Number | Certificate number |
| Document Path | Scanned certificate file |
| Status | Active, Expired, Revoked |
Certification Types:
- Manufacturer certifications (Toyota, Honda, Ford, etc.)
- Technical certifications (ASE, HVAC, etc.)
- Sales training certifications
- F&I licenses and certifications
- Safety training completion
- Compliance training completion
Expiration Tracking:
- Automated reminders (90, 60, 30 days before expiration)
- Renewal tracking
- Lapsed certification alerts
- Impact on job assignments (can’t perform certain tasks without cert)
- Compliance reporting
2.6 Document Storage
Employee Document Repository:
Document Categories:
- Employment contract
- Offer letter
- Background check results
- Resume/CV
- Education certificates
- Professional licenses
- Performance reviews
- Disciplinary actions
- Training certificates
- Signed policies and acknowledgments
- Tax forms and HR documents
- Termination documents
Document Management:
- Secure storage with access controls
- Version tracking
- Expiration tracking (licenses, permits)
- Document type classification
- Search and retrieval
- Retention policy enforcement
- Export for HR compliance
2.7 Attendance & Time Tracking (Basic)
Basic Time Management:
Clock In/Out:
- Time clock system integration
- Manual entry with supervisor approval
- Work hours tracking
- Overtime calculation
- Late arrival/early departure tracking
Leave Management:
- Leave request submission
- Manager approval workflow
- Leave balance tracking (vacation, sick leave)
- Leave calendar
- Absence tracking
Shift Scheduling:
- Schedule creation and management
- Shift assignments
- Coverage requirements
- Schedule templates
2.8 Organizational Hierarchy
Reporting Structure:
Manager-Employee Relationship:
- Direct manager assignment
- Reporting chain (up to GM)
- Matrix reporting (functional + department)
- Delegation hierarchy
- Approval routing based on hierarchy
Organization Chart:
- Visual org chart generation
- Department-based structure
- Position-based structure
- Manager spans of control
- Hierarchical levels
Data Model
Employee Table:
| Field | Type | Description |
|---|---|---|
| employee_id | UUID | Primary key |
| user_id | UUID | Foreign key to M00 user |
| employee_number | VARCHAR(20) | Unique employee number |
| first_name | VARCHAR(100) | First name |
| last_name | VARCHAR(100) | Last name |
| preferred_name | VARCHAR(100) | Nickname |
| date_of_birth | DATE | Birth date |
| national_id | VARCHAR(50) | ID/passport number |
| personal_email | VARCHAR(255) | Personal email |
| personal_phone | VARCHAR(20) | Personal phone |
| address | TEXT | Home address |
| emergency_contact_name | VARCHAR(200) | Emergency contact |
| emergency_contact_phone | VARCHAR(20) | Emergency phone |
| photo_url | VARCHAR(500) | Employee photo |
| hire_date | DATE | Start date |
| termination_date | DATE | End date |
| termination_reason | TEXT | Termination notes |
| employment_status | ENUM | Active/OnLeave/Suspended/Terminated |
| employment_type | ENUM | FullTime/PartTime/Contract |
| position_id | UUID | Foreign key to position |
| primary_department_id | UUID | Foreign key to department |
| primary_location_id | UUID | Foreign key to location |
| manager_id | UUID | Reports to employee ID |
| created_at | TIMESTAMP | Record creation |
| updated_at | TIMESTAMP | Last update |
| created_by | UUID | Creator user ID |
Position Table:
| Field | Type | Description |
|---|---|---|
| position_id | UUID | Primary key |
| position_name | VARCHAR(100) | Job title |
| position_code | VARCHAR(20) | Short code |
| department_id | UUID | Foreign key to department |
| position_level | INT | Organizational level |
| description | TEXT | Responsibilities |
| required_qualifications | TEXT | Requirements |
| salary_grade | VARCHAR(20) | Pay grade |
| is_active | BOOLEAN | Current position |
| created_at | TIMESTAMP | Record creation |
Employee Department Assignment Table:
| Field | Type | Description |
|---|---|---|
| assignment_id | UUID | Primary key |
| employee_id | UUID | Foreign key to employee |
| department_id | UUID | Foreign key to department |
| is_primary | BOOLEAN | Primary department flag |
| assigned_at | TIMESTAMP | Assignment date |
| removed_at | TIMESTAMP | Removal date |
| is_active | BOOLEAN | Current assignment |
Employee Certification Table:
| Field | Type | Description |
|---|---|---|
| certification_id | UUID | Primary key |
| employee_id | UUID | Foreign key to employee |
| certification_name | VARCHAR(200) | Cert name |
| certification_type | VARCHAR(50) | Type category |
| issuing_authority | VARCHAR(100) | Issuer |
| issue_date | DATE | Issue date |
| expiry_date | DATE | Expiration date |
| certification_number | VARCHAR(100) | Cert number |
| document_path | VARCHAR(500) | File location |
| status | ENUM | Active/Expired/Revoked |
| created_at | TIMESTAMP | Record creation |
Employee Document Table:
| Field | Type | Description |
|---|---|---|
| document_id | UUID | Primary key |
| employee_id | UUID | Foreign key to employee |
| document_type | VARCHAR(50) | Contract/License/Review/etc. |
| document_name | VARCHAR(200) | Document title |
| document_path | VARCHAR(500) | File location |
| document_date | DATE | Document date |
| expiry_date | DATE | Expiration (if applicable) |
| uploaded_by | UUID | Uploader user ID |
| uploaded_at | TIMESTAMP | Upload time |
| is_confidential | BOOLEAN | Access restriction |
Time Attendance Table:
| Field | Type | Description |
|---|---|---|
| attendance_id | UUID | Primary key |
| employee_id | UUID | Foreign key to employee |
| work_date | DATE | Work date |
| clock_in | TIMESTAMP | Clock in time |
| clock_out | TIMESTAMP | Clock out time |
| hours_worked | DECIMAL | Calculated hours |
| overtime_hours | DECIMAL | OT hours |
| status | ENUM | Present/Absent/Late/Leave |
| notes | TEXT | Attendance notes |
| approved_by | UUID | Supervisor approval |
Leave Request Table:
| Field | Type | Description |
|---|---|---|
| leave_id | UUID | Primary key |
| employee_id | UUID | Foreign key to employee |
| leave_type | ENUM | Vacation/Sick/Personal/Unpaid |
| start_date | DATE | Leave start |
| end_date | DATE | Leave end |
| days_requested | DECIMAL | Number of days |
| reason | TEXT | Leave reason |
| status | ENUM | Pending/Approved/Rejected |
| requested_at | TIMESTAMP | Request time |
| approved_by | UUID | Approver user ID |
| approved_at | TIMESTAMP | Approval time |
| rejection_reason | TEXT | If rejected |
Business Rules
Employee Management Rules:
| Rule | Description |
|---|---|
| Unique Employee Number | Auto-generated, sequential, unique |
| User-Employee Link Required | Every user must link to one employee |
| One Active Employment | Employee can have only one active employment record |
| Manager Required | All employees except GM must have manager |
| Department Required | All employees must belong to at least one department |
| Location Required | All employees must have primary location |
Status Management Rules:
| Rule | Description |
|---|---|
| Active Status Required | Only active employees can log in |
| Termination Deactivates User | Termination automatically deactivates user account |
| Leave Status Access | On-leave employees have limited or no access |
| Status Change Approval | Status changes require manager/HR approval |
Certification Rules:
| Rule | Description |
|---|---|
| Expiration Enforcement | Expired certifications trigger alerts |
| Job Assignment Restrictions | Certain jobs require specific certifications |
| Renewal Reminders | Automated reminders before expiration |
Document Retention Rules:
| Rule | Description |
|---|---|
| Employment Records | Retain 7 years after termination |
| Tax Documents | Retain 10 years |
| Confidential Documents | Access restricted to HR and employee |
| Termination Documents | Permanent retention |
Integration Points
Outbound Integrations:
| Module | Integration Purpose |
|---|---|
| User Access & Security | User account linkage |
| Access Control & Permissions | Role assignments to employees |
| Company Configuration | Department and location context |
| All Business Modules | Employee context for all transactions |
| Document Templates | Employee signatures and information |
Inbound Integrations:
| Module | Integration Purpose |
|---|---|
| User Access & Security | User creation triggers employee linking |
| Access Control & Permissions | Role changes update employee permissions |
| Company Configuration | Department/location changes |
| Payroll System (External) | Compensation and time data |
User Roles & Permissions
Who Can Manage Employees:
| Role | View | Create | Edit | Delete | Manage Certifications | Approve Leave |
|---|---|---|---|---|---|---|
| System Admin | All | Yes | All | No (archive only) | All | All |
| HR Manager | All | Yes | All | No (archive only) | All | All |
| General Manager | All | Yes | All | No | Limited | All |
| Department Manager | Department | No | Department | No | Department | Department |
| Employee | Self only | No | Self (limited) | No | Self | No |
Key Performance Indicators
Employee Management Metrics:
| Metric | Target | Measurement |
|---|---|---|
| User-Employee Link Accuracy | 100% | % users with valid employee link |
| Active Employees | Track | Current headcount |
| Employee Data Completeness | > 95% | % required fields filled |
| Certification Compliance | 100% | % required certs current |
| Document Completeness | > 90% | % employees with all required docs |
Operational Metrics:
| Metric | Target | Measurement |
|---|---|---|
| New Hire Processing Time | < 2 days | Days from hire to system access |
| Termination Processing | < 1 day | Days from termination to access revoked |
| Leave Approval Time | < 24 hours | Avg time to approve leave |
| Certification Renewals | 100% on time | % renewed before expiration |
| Org Chart Accuracy | 100% | % accurate manager relationships |
Last Updated: November 14, 2025 Version: 6.0 Migrated From: Dealership_System_Documentation_v5_1.md (M20) Changes: Extracted core employee management from M20, elevated to P0 for baseline requirements. Performance tracking and advanced HR features moved to future P3 module.
Note: This P0 module focuses on core employee records, user linkage, and organizational structure. Advanced features like commission management, performance reviews, and workforce analytics will remain in the P3 Staff Management & Performance module (to be renumbered in final structure).