Files
HRM-System/docs/qa_assessment_report.md

46 lines
3.7 KiB
Markdown

# QA Document Assessment: SEB HRIS Testing Tool
Based on my analysis of the `-SEB- HRIS Testing Tool - Core,PY,TK.xlsx` document, here is an assessment of the current state of the HRM system's compliance and functionality.
## Executive Summary
The system successfully handles basic employee onboarding, basic salary calculations, and standard statutory tax generation. However, it **fails critically in automated DOLE compliance**—specifically around Timekeeping (tardiness, premiums, differentials) and Leave Management (paid vs. unpaid leaves, auto-crediting). Many calculations currently require manual intervention ("MANUAL INPUT by SEB").
---
## 1. Core HR & Leave Management
**Status:** ⚠️ Partial Pass / Major Failures
- **Strengths:** Statutory IDs (TIN, SSS), Employment Status, and Salary setup are functioning and computing correctly.
- **Critical Failures:**
- **Leave Integration:** The system is treating all leaves (Sick Leave, Vacation Leave) as standard **absences** resulting in no pay.
- **Missing Policies:** There are no automatic accrual rules for Service Incentive Leave (SIL), nor are there specialized workflows for Expanded Maternity/Paternity leaves.
- **UI/UX Issues:** The dropdown lacks a "Leave Without Pay (LWOP)" option, and users face confusing immediate exits when their leave balance reaches zero.
## 2. Timekeeping & Premiums (DOLE Compliance)
**Status:** ❌ Failing
- **Tardiness & Grace Periods:** The system fails to recognize grace periods and does not accurately distinguish between "Tardiness" and "Undertime". It also lacks proper handling for break minutes.
- **Premium Pay (Overtime & Night Differential):** While classifications exist in the system, the actual DOLE Multipliers (e.g., 125% for regular OT, 110% for Night Diff) are **not being reflected in the final payroll**.
- **Holidays & Rest Days:** The compounding logic required by DOLE (e.g., Working on a Regular Holiday on a Rest Day = 260%) fails to compute.
## 3. Payroll (BIR & Statutory Deductions)
**Status:** ✅ Passing (with caveats)
- **Strengths:** 13th Month Pay and BIR Withholding Tax (TRAIN Law) are generating correctly.
- **Caveats:** Most statutory contributions (SSS, PhilHealth, Pag-IBIG) and taxable vs. non-taxable allowances are marked as **"MANUAL INPUT by SEB"**. While the math works, the system needs to automate these based on the standard brackets rather than relying on manual HR entry.
## 4. Key Add-On Scenarios & Challenges Identified
The QA testers explicitly highlighted several compounding logic failures and system challenges:
1. **Rule of Preceding Day:** The system fails to check if an employee was present or on paid leave the day before a holiday to determine if they deserve the holiday pay.
2. **Compounding Math:** DOLE's multiplication effect (e.g., Rate x 2.00 x 1.30 x 1.10) is not correctly programmed into the `PayrollService`.
3. **Mid-Month Hires:** Statutory deductions are incorrectly applied in full rather than prorated or bypassed for mid-month hires.
4. **Shift Management:** The process of defining shifts is too tedious, and the QA team has requested the removal of the Calendar view in Shifts.
---
### Recommended Next Steps for Development
To pass the QA parameters and achieve DOLE compliance, we need to implement the following:
1. **Refactor `processAttendance()`:** Introduce Grace Periods, Break deductions, and differentiate Tardiness vs. Undertime.
2. **Upgrade `PayrollService` Engine:** Implement the DOLE multiplier table directly into the calculation engine to automatically compute Night Differentials, OT, and Holiday/Rest Day pay.
3. **Fix Leave Engine:** Ensure that `LeaveApplication` statuses correctly map to `paid_leave_days` instead of `absent_days` during payroll computation.