# HR Module Gap Analysis: CSD ERP Demo Scripts vs. Missio ERP

**Project:** City Schools of Decatur (CSD) - K-12 ERP  
**RFP:** 26-001  
**Branch:** `csdecatur`  
**Date:** April 7, 2026  
**Status:** Analysis Complete

---

## Legend
- **EXISTING** = Feature is built and functional
- **DEMO ONLY** = Static HTML page, no backend logic
- **PARTIAL** = Some functionality exists, needs enhancement
- **MISSING** = No code at all

---

## 1. WORKFORCE ADMINISTRATION (126 demo items in scripts)

| Feature | Status | Details |
|---------|--------|---------|
| Employee master data (hire, personal info, contact) | **EXISTING** | `EmployeeController`, `EmployeeDetails` model, 14-tab profile |
| Department hierarchy | **EXISTING** | `Team` model with `parent_id` |
| Designation/job title hierarchy | **EXISTING** | `Designation` model with `parent_id` |
| Employee documents (upload/manage) | **EXISTING** | `EmployeeDocument` model |
| Emergency contacts | **EXISTING** | `EmergencyContact` model |
| Immigration/visa tracking | **EXISTING** | `Passport`, `VisaDetail` models |
| Skills tracking | **EXISTING** | `EmployeeSkill` model |
| Contracts management | **EXISTING** | `Contract` model |
| Employee appreciation/awards | **EXISTING** | `Appreciation`, `Award` models |
| **Org chart with reporting relationships** | **MISSING** | No visual org chart. `reporting_to` field exists on EmployeeDetails but no org chart UI |
| **Position control** | **DEMO ONLY** | Static page at `position-control/demo.blade.php`. No Position model, no FTE tracking, no position-to-budget linking |
| **Employee status lifecycle (active/LOA/terminated/retired)** | **PARTIAL** | Only `status` (active/deactive) on User. No LOA, suspended, retired statuses |
| **Rehire/reinstatement workflow** | **MISSING** | No workflow for rehiring terminated employees |
| **Seniority/tenure tracking** | **PARTIAL** | `joining_date` exists but no calculated seniority, no service breaks tracking |
| **Multiple assignments/concurrent jobs** | **MISSING** | Employee can only hold one position at a time |
| **Employee self-service (ESS) portal** | **PARTIAL** | Employees can view profile, submit leaves, clock-in. Missing: update personal info, view pay stubs, benefits enrollment, W-4 changes |
| **Manager self-service (MSS)** | **PARTIAL** | Managers can approve leaves/timelogs. Missing: team dashboard, direct reports view, delegation |
| **Georgia-specific certifications (GACE, TKES, PSC)** | **MISSING** | No certification tracking for teaching credentials |
| **Workers' compensation tracking** | **MISSING** | No incident/claim tracking |
| **Grievance management** | **MISSING** | No grievance filing, tracking, or resolution workflow |
| **ADA accommodation tracking** | **MISSING** | No accommodation request/tracking system |
| **EEOC/diversity reporting** | **MISSING** | No demographic data collection or reporting for compliance |
| **Separation/exit processing** | **MISSING** | No exit checklist, final pay calculation, equipment return tracking |

---

## 2. PAYROLL (50 demo items in scripts)

| Feature | Status | Details |
|---------|--------|---------|
| **Payroll processing engine** | **DEMO ONLY** | Static page at `payroll/demo.blade.php`. Zero backend |
| **Salary schedules (step/lane)** | **MISSING** | Only `hourly_rate` on EmployeeDetails. No step/lane matrix for certified teachers |
| **Pay calendars (semi-monthly/monthly/biweekly)** | **MISSING** | No PayCalendar model |
| **Deductions management** | **MISSING** | No pre-tax/post-tax deduction models |
| **Tax withholding (federal/state/FICA/Medicare)** | **MISSING** | Basic Tax model exists but no calculation engine |
| **Pay stubs/earnings statements** | **MISSING** | No generation or display |
| **Direct deposit management** | **MISSING** | No bank account storage (by design — Gusto will handle) |
| **Overtime calculation (FLSA)** | **MISSING** | Hours tracked but no OT rules engine |
| **Stipend management** | **MISSING** | Coaching, mentoring, additional duty stipends |
| **Substitute teacher pay** | **MISSING** | No sub pay rates or auto-calculation |
| **Multi-fund salary split** | **MISSING** | Cannot split salary across General Fund + Title I |
| **Payroll → GL journal entries** | **MISSING** | No automated posting to QB from payroll results |
| **Payroll approval workflow** | **MISSING** | Approval system exists but payroll not integrated |
| **Retroactive pay adjustments** | **MISSING** | No retro-pay calculation |
| **Garnishment/court-ordered deductions** | **MISSING** | No garnishment tracking |
| **W-2/year-end tax reporting** | **MISSING** | No generation (Gusto will handle) |
| **Georgia TRS contribution calculation** | **MISSING** | 6% employee / 19.81% employer — no engine |
| **Check printing** | **MISSING** | No physical check generation |
| **Payroll register/reports** | **MISSING** | No payroll reporting |

---

## 3. EMPLOYEE BENEFITS (46 demo items in scripts)

| Feature | Status | Details |
|---------|--------|---------|
| **Benefits plan administration** | **DEMO ONLY** | `benefits/demo.blade.php` shows Georgia SHBP plans. No backend |
| **Open enrollment workflow** | **MISSING** | No enrollment period management, no employee selection UI |
| **Qualifying life events** | **MISSING** | No mid-year change triggers (marriage, birth, etc.) |
| **Benefit plan configuration** | **MISSING** | No BenefitPlan model, no tier/rate tables |
| **Employee enrollment records** | **MISSING** | No EmployeeBenefitEnrollment model |
| **Dependent/beneficiary management** | **MISSING** | No dependent tracking for benefits |
| **COBRA administration** | **MISSING** | No COBRA notification, tracking, or billing |
| **FSA/HSA management** | **MISSING** | No flexible spending account tracking |
| **403(b) supplemental retirement** | **MISSING** | No contribution tracking |
| **Benefits cost reporting** | **MISSING** | Demo shows static numbers only |
| **Sick leave bank (donations)** | **MISSING** | No leave donation/pool mechanism |

---

## 4. TALENT ACQUISITION & ONBOARDING (53 demo items in scripts)

> **NOTE:** The `Modules/Recruit` module provides a fully dynamic ATS (Applicant Tracking System).
> Sidebar: Job Requisitions, Candidate Pipeline, Onboarding, Interview Schedule, Skills, Candidate Database, Background Check, Reports, Settings, Career Site.

### 4.1 What EXISTS (Dynamic — Recruit Module)

| Feature | Status | Details |
|---------|--------|---------|
| Job requisitions (create/manage postings) | **EXISTING** | `JobController` — full CRUD, quick actions, status changes, recruiter assignment, job categories/subcategories/types |
| Candidate pipeline (Kanban board) | **EXISTING** | `JobApplicationBoardController` — drag-drop stages, status changes, ranking, remarks, interview scheduling from board |
| Job applications management | **EXISTING** | `JobApplicationController` — applications CRUD, status changes, rank changes, assign jobs, resume parsing, import/export CSV |
| Interview scheduling | **EXISTING** | `InterviewScheduleController` — schedule/reschedule, employee response, rating, notes, files, rounds, calendar & table views |
| Interview evaluation | **EXISTING** | `EvaluationController` — evaluation forms, interview comments, recommendation status |
| Video interviews | **EXISTING** | `VideoInterviewController` + `VideoInterviewTemplateController` — video interview templates, question management, candidate recording |
| Offer letter generation | **EXISTING** | `JobOfferLetterController` — create/send/withdraw offers, salary components, accept/reject workflow, create employee from accepted offer |
| Skills management | **EXISTING** | `SkillController` — skill CRUD, skill-based candidate search/matching |
| Candidate database | **EXISTING** | `CandidateDatabaseController` — search, LinkedIn search, import CSV, follow-ups |
| Background checks | **EXISTING** | `BackgroundCheckController` — linked to job applications |
| Recruitment reports | **EXISTING** | `ReportController` — recruitment analytics with chart data |
| Recruit settings | **EXISTING** | `RecruitSettingController` — custom questions, notification settings, footer links, background check config |
| Career site (public) | **EXISTING** | `FrontJobController` — public career page, job listings, job detail, apply form, resume parsing, job alerts, SEO sitemap |
| Job promotion/boards | **EXISTING** | `JobPromoteController` — publish to free/paid job boards |
| Candidate activities/communications | **EXISTING** | `ActivityController` — email, SMS, activity tracking, AI-generated content, activity types |
| Applicant notes | **EXISTING** | `ApplicantNoteController` — per-applicant notes |
| Recruiter management | **EXISTING** | `RecruiterController` — assign recruiters to jobs |
| Notification system | **EXISTING** | `JobNotificationsController` + email notification settings — recruiter notifications, interview notifications, offer letter notifications |

### 4.2 What's STILL MISSING for CSD Demo

| Feature | Status | Details |
|---------|--------|---------|
| **Georgia PSC certification verification** | **MISSING** | No integration with GA Professional Standards Commission to verify teaching licenses during hiring |
| **Structured onboarding checklists** | **MISSING** | "Onboarding" sidebar item is offer letter management. No task-based onboarding workflow (I-9 completion, W-4 submission, orientation scheduling, IT provisioning, badge issuance, equipment assignment) |
| **Probationary period tracking** | **MISSING** | No probation end-date or review triggers after hire |
| **Mentor/buddy assignment** | **MISSING** | No new hire mentorship pairing |

---

## 5. TIME MANAGEMENT (29 demo items in scripts)

| Feature | Status | Details |
|---------|--------|---------|
| Clock-in/clock-out | **EXISTING** | `AttendanceController` with GPS, IP, shift validation |
| Shift management | **EXISTING** | `EmployeeShift`, `EmployeeShiftSchedule` models |
| Leave management with approval | **EXISTING** | `LeaveController` with full workflow, 7 notification types |
| Leave types with eligibility rules | **EXISTING** | Gender/dept/role/designation/married filtering |
| Leave quotas per employee | **EXISTING** | `EmployeeLeaveQuota` model |
| Holiday calendar | **EXISTING** | `Holiday` model |
| Time logging with timers/breaks | **EXISTING** | `ProjectTimeLog` with start/stop/pause/resume + breaks |
| Timelog approval | **EXISTING** | `approved` + `approved_by` fields |
| Attendance reports | **EXISTING** | Report controller exists |
| Bulk attendance marking | **EXISTING** | Bulk mark + CSV import |
| **Comp time / time-off-in-lieu** | **MISSING** | No comp time accrual or usage |
| **FMLA tracking** | **MISSING** | No FMLA eligibility, entitlement, or tracking |
| **Time-to-payroll aggregation** | **PARTIAL** | Hours tracked but no service to aggregate by pay period |
| **Absence analytics/patterns** | **MISSING** | No absenteeism pattern detection |
| **Sub coverage requests** | **MISSING** | No substitute request/fill workflow |

---

## 6. PERFORMANCE MANAGEMENT

| Feature | Status | Details |
|---------|--------|---------|
| **Performance evaluation forms** | **MISSING** | No evaluation templates or cycles |
| **Goal setting/tracking** | **MISSING** | No employee goal management |
| **TKES integration (GA teacher eval)** | **MISSING** | No Georgia Teacher Keys Effectiveness System |
| **LKES integration (GA leader eval)** | **MISSING** | No Leader Keys Effectiveness System |
| **Performance improvement plans (PIP)** | **MISSING** | No PIP workflow |
| **360-degree feedback** | **MISSING** | No multi-rater evaluations |
| **Competency management** | **MISSING** | No competency framework |
| **Performance-to-compensation linking** | **MISSING** | No merit increase rules |

---

## 7. LEARNING MANAGEMENT (LMS)

| Feature | Status | Details |
|---------|--------|---------|
| **Training catalog** | **MISSING** | No course/training database |
| **Course enrollment/completion** | **MISSING** | No enrollment tracking |
| **CEU/PLU credit tracking** | **MISSING** | No continuing education unit management |
| **Certification tracking & renewal** | **MISSING** | No certification expiry alerts |
| **Mandatory training compliance** | **MISSING** | No required training assignments |
| **Training budget tracking** | **MISSING** | No PD budget per employee |
| **Succession planning** | **MISSING** | No succession pipeline |

---

## 8. TECHNICAL OVERLAY (53 demo items in scripts)

| Feature | Status | Details |
|---------|--------|---------|
| Role-based access control | **EXISTING** | Spatie permissions package, permission-based menus |
| Multi-company/district support | **EXISTING** | `company_id` throughout |
| Audit trail | **PARTIAL** | Activity logging exists but may not cover all HR events |
| **SSO/SAML integration** | **MISSING** | No SAML/OAuth2 for district SSO |
| **API layer for third-party integrations** | **PARTIAL** | Some APIs exist but no documented HR API |
| **Configurable workflow engine** | **PARTIAL** | Approval controller exists but hardcoded entity types |
| **Advanced reporting/analytics dashboard** | **PARTIAL** | Basic reports exist, no advanced analytics or custom report builder |
| **Data import/export (standard formats)** | **PARTIAL** | Some CSV import exists, no comprehensive import/export |
| **Document generation (letters, notices)** | **MISSING** | No template-based document generation |
| **Mobile responsive ESS** | **PARTIAL** | App is responsive but no dedicated mobile ESS |

---

## SUMMARY SCORECARD

| Module | Total Demo Items | Existing | Partial | Demo Only | Missing |
|--------|:---:|:---:|:---:|:---:|:---:|
| Workforce Admin & Learning | 126 | ~30% | ~15% | ~5% | ~50% |
| Payroll | 50 | 0% | 0% | 5% | 95% |
| Benefits | 46 | 0% | 0% | 10% | 90% |
| **Talent Acquisition & Onboarding** | **53** | **~90%** | **~5%** | **0%** | **~5%** |
| Time Management | 29 | ~75% | ~10% | 0% | ~15% |
| Performance Management | ~20 | 0% | 0% | 0% | 100% |
| Technical Overlay | 53 | ~30% | ~25% | 0% | ~45% |

> **Note:** Talent Acquisition revised from 100% missing to ~90% existing after discovering the fully built `Modules/Recruit` module (ATS with career site, Kanban pipeline, interview scheduling, offer letters, video interviews, background checks, candidate database, reports).

---

## RECOMMENDED IMPLEMENTATION PHASES

### Phase 1: Core HR Enhancements (Week 1-2)
1. Position Control backend — Create `Position` model linking dept + designation + fund + FTE + budget
2. Employee status lifecycle — Extend to active/on_leave/suspended/terminated/retired
3. Org chart — Visual org chart from existing `reporting_to` field
4. Certification tracking — `EmployeeCertification` model for GA credentials

### Phase 2: Payroll Integration via Gusto (Week 2-4)
5. Salary schedules — Step/lane matrix tables
6. Pay calendar — `PayCalendar` model
7. Gusto API integration — Employee sync, payroll run, results retrieval
8. Deductions & contributions — TRS 6%/19.81% contribution rules
9. Pay stubs — Pull from Gusto API, display in ESS
10. Payroll → GL posting — Map results to fund codes → QB journal entries
11. Multi-fund salary split

### Phase 3: Benefits Module (Week 4-5)
12. Benefits plan models — `BenefitPlan`, `BenefitRate`, `EmployeeBenefitEnrollment`
13. Open enrollment workflow
14. Qualifying life events
15. Dependent management
16. COBRA administration
17. Sick leave bank

### Phase 4: Talent Acquisition Enhancements (Week 5-6)
> **Note:** The core ATS (Modules/Recruit) is already fully built — job requisitions, candidate pipeline, interviews, offer letters, career site, background checks, candidate database, reports, and settings are all functional.

18. Structured onboarding checklists — task-based workflow (I-9, W-4, orientation, IT provisioning, badge, equipment)
19. GA PSC certification verification — integration stub for teaching license checks during hiring
20. Probationary period tracking — probation end-date + review triggers
21. Mentor/buddy assignment for new hires

### Phase 5: Performance & Learning (Week 6-8)
22. Evaluation framework with TKES/LKES templates
23. Goal management
24. Training catalog & enrollment
25. CEU/PLU tracking
26. Certification renewal alerts

### Phase 6: Compliance & Advanced Features (Week 8-10)
27. Grievance management
28. Workers' compensation tracking
29. FMLA tracking
30. EEOC reporting
31. Document generation engine
32. SSO/SAML integration
33. Enhanced ESS/MSS
