Module: KPI Matrix (Employee Performance Management) Target System: ERPat ERP System (CodeIgniter 3 / PHP 8.2+) Documentation Date: February 2026 · Last Revised: June 2026 Status: Implemented — documentation reconciled to code (see fidelity notes in doc 02 Appendix C) Branch: ERPAT-2345 (migration
20260604185300_create_kpi_matrix_tables.php)???? End-user guide (interactive HTML): a multi-page, browser-ready user guide now lives alongside these developer docs — open
index.htmlin this folder. It covers every screen, workflow, legend, SOP, terminology and the salary-progression standards from the end user's perspective (the files below remain the deeper developer/design reference).
Purpose
This documentation package describes the KPI Matrix module — a performance management system that transforms ERPat's existing operational data into structured, measurable Key Performance Indicators (KPIs) for employee evaluation, salary progression, and organizational insight. The module is implemented; these documents are maintained to match the shipped code (config, calculation engine, models, controller, views, and migration).
The KPI Matrix:
- Leverages existing data — attendance, tasks, projects, tickets, timesheets, disciplinary, leave, certifications
- Provides a calculation engine — 29 metrics across 8 categories, automated scoring, normalization, review cycles
- Integrates with salary progression — KPI scores generate (advisory) salary-grade step-advancement recommendations
- Provides actionable dashboards — per-employee, per-department, per-organization views
Best-KPI grounding: the metric set follows current performance-management best practice — a balance of leading and lagging indicators across quantity, quality, efficiency, reliability/compliance, development, and wellbeing dimensions, with SMART target guidance and role-based weighting. See 02_KPI_CATEGORIES_AND_METRICS.md.
Document Index
| # | Document | Description | Status |
|---|---|---|---|
| 00 | 00_BACKGROUND.md | Project brief, problem statement, objectives, scope definition | ✅ |
| 01 | 01_DATA_SOURCES_INVENTORY.md | Inventory of existing ERPat data points used for KPI calculation | ✅ |
| 02 | 02_KPI_CATEGORIES_AND_METRICS.md | KPI categories, the 29 metrics, formulas, weights, scoring — reconciled to code | ✅ Revised |
| 03 | 03_DATABASE_SCHEMA.md | The 9 KPI tables, relationships, migration | ✅ |
| 04 | 04_SALARY_INTEGRATION.md | KPI-to-salary progression bridge: grade advancement, recommendations | ✅ |
| 05 | 05_CALCULATION_ENGINE.md | Computation logic, aggregation, scheduling, caching | ✅ |
| 06 | 06_UI_AND_DASHBOARDS.md | Interface design: employee cards, department matrix, review forms | ✅ |
Earlier drafts referenced separate
07_PERMISSIONS_AND_ACCESS.md,08_IMPLEMENTATION_ROADMAP.md, andAI_IMPLEMENTATION_GUIDE.mdfiles. Those were never created; permissions, roadmap, and implementation guidance are covered inside docs 00, 04, 05, and 06 and the in-code config. The index above reflects the actual files in this package.
Architecture Summary
┌─────────────────────────────────────────────────────────────┐
│ KPI MATRIX MODULE │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Data Layer │ │ Calculation │ │ Presentation │ │
│ │ (Existing) │→│ Engine │→│ Layer │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ Attendance Aggregation Employee Card │
│ Tasks/Projects Scoring Department Matrix │
│ Tickets Weighting Review Dashboard │
│ Timesheets Normalization Analytics/Reports │
│ Discipline Target Compare Timeline Feed │
│ Leaves/Schedule │
│ Certifications ┌──────────────┐ │
│ Skillsets │ Salary │ │
│ Payslips │ Integration │ │
│ └──────────────┘ │
│ Grade Step ↑ │
│ Increase Rec. │
│ History Link │
│ │
├─────────────────────────────────────────────────────────────┤
│ Database (9 tables): kpi_templates, kpi_template_metrics, │
│ kpi_review_cycles, kpi_employee_assignments, │
│ kpi_metric_scores, kpi_composite_results, │
│ kpi_manual_entries, kpi_score_history, │
│ kpi_salary_recommendations │
└─────────────────────────────────────────────────────────────┘
Implemented Code Artifacts
| Layer | File(s) |
|---|---|
| Migration | modules/KpiMatrix/migrations/20260604185300_create_kpi_matrix_tables.php (9 tables) |
| Config | modules/KpiMatrix/config/kpi_templates.php (8 categories, 29 metrics, 5 templates, rating bands, step mapping) |
| Engine | modules/KpiMatrix/libraries/Kpi_calculation_engine.php (29 metric calculators, normalization, composite, salary trigger) |
| Models | 9 × modules/KpiMatrix/models/Kpi_*_model.php (templates, template_metrics, review_cycles, employee_assignments, metric_scores, composite_results, manual_entries, score_history, salary_recommendations) |
| Controller | modules/KpiMatrix/controllers/Kpi_matrix.php |
| Views | modules/KpiMatrix/views/kpi_matrix/ |
| Routing / Menu / RBAC | Module-owned — modules/KpiMatrix/config/routes.php (top-level kpi_matrix), modules/KpiMatrix/config/menu.php + modules/KpiMatrix/config/default_menu.php, modules/KpiMatrix/config/permissions.php (permissions kpi_matrix, kpi_matrix_manage) |
Key Data Sources Identified
| Source | Model | KPI-Relevant Fields | Status |
|---|---|---|---|
| Attendance | Attendance_model | worked, late, overtime (4 types), night diff, PTO hours | ✅ Existing |
| Attendance Metrics | Attendance_metrics_model | 18 metric columns per log entry | ✅ Existing |
| Tasks | Tasks_model | status statistics, points, deadlines, completion rates | ✅ Existing |
| Projects | Projects_model | total_points, completed_points, open/completed counts | ✅ Existing |
| Tickets | Tickets_model | ticket_type_points, duration, overdue calculation | ✅ Existing |
| Timesheets | Timesheets_model | duration per member/task/project, daily stats | ✅ Existing |
| Disciplinary | Discipline_entries_model | yearly entries, open cases per user | ✅ Existing |
| Leaves | Leave_applications_model | applications by status, type, date range | ✅ Existing |
| Leave Credits | Leave_credits_model | balance (debit-credit), utilization rates | ✅ Existing |
| Schedule | Schedule_model | user schedule assignment, compliance | ✅ Existing |
| Certifications | Certifications_model | active cert count (non-expired) | ✅ Existing |
| Skillsets | Skillsets_workforce_model | skill/job function matching | ✅ Existing |
| Salary Grades | Salary_grades_model | grade matrix, step computation | ✅ Existing |
| Salary History | Salary_history_model | rate tracking, progression timeline | ✅ Existing |
| Payslips | Payslips_model | yearly absent/undertime totals | ✅ Existing |
| KPI Templates | Kpi_templates_model | Template + per-metric config, weights, thresholds | ✅ Built |
| KPI Cycles & Assignments | Kpi_review_cycles_model, Kpi_employee_assignments_model | Review periods + employee↔template↔reviewer | ✅ Built |
| KPI Scores | Kpi_metric_scores_model, Kpi_composite_results_model | Per-metric + composite scores per cycle | ✅ Built |
| KPI History & Manual | Kpi_score_history_model, Kpi_manual_entries_model | Score snapshots + manual metric entries | ✅ Built |
| KPI Salary Recs | Kpi_salary_recommendations_model | Advisory step-advancement recommendations | ✅ Built |
Relationship to Existing Modules
Payroll Module ←── salary_history, salary_grades
↑
KPI Matrix ←── attendance, tasks, tickets, timesheets,
↓ discipline, leaves, certs, skillsets
Salary Progression ←── KPI scores → grade step advancement
The KPI Matrix sits between operational data collection (left) and compensation decisions (right), transforming raw activity data into structured performance metrics that drive salary progression.
How to Use This Documentation
- Start with 00_BACKGROUND.md to understand the business case
- Review 01_DATA_SOURCES_INVENTORY.md for available data points
- Study 02_KPI_CATEGORIES_AND_METRICS.md for proposed metrics and formulas
- Check 03_DATABASE_SCHEMA.md for new table designs
- Read 04_SALARY_INTEGRATION.md for the critical salary link
- Dig into 05_CALCULATION_ENGINE.md for the computation, scoring, and scheduling logic, then 06_UI_AND_DASHBOARDS.md for the interface
Roadmap and implementation-guidance content (once planned as separate files that were never created — see the note under the Document Index above) now lives inside docs 00, 04, 05, and 06 and the in-code config under
modules/KpiMatrix/config/.
Related Documentation
temp/payroll-module-documentation/— Payroll module architecture (reference pattern).github/copilot-instructions.md— ERPat system architecture and coding standardsapplication/config/system_logs.php— System logging configurationapplication/helpers/payroll_helper.php— Salary computation helpers