Commit Graph

98 Commits

Author SHA1 Message Date
2ecce8a990 feat: enforce time rounding down to the nearest 30 mins for total_hours 2026-05-18 14:46:49 +08:00
2d37e3d3da feat: automatically deduct shift break duration from attendance total hours if shift break times are missing 2026-05-18 14:41:34 +08:00
0a9b564fdf fix: correctly calculate holiday premium addition for monthly earners 2026-05-18 14:17:26 +08:00
df7ebf0ef2 fix: allow updating payroll entries during processing status 2026-05-18 13:50:18 +08:00
78d6c4d494 feat: implement 3-step payroll status workflow (draft -> processing -> completed) 2026-05-18 13:01:21 +08:00
6e10efc408 feat: implement 2-column payslip-style payroll adjustment overrides 2026-05-18 12:30:14 +08:00
64cc09ad15 Fix: Deduct 1.5h meal break from ND hours per day + flat 10% rate
Biometrics doesn't track break in/out, inflating night_diff_hours.
Deduct 1.5h per night shift day for the untracked meal break.
Also removed OT multiplier compounding from ND — all ND hours
use flat hourlyRate × 10% per client policy.

Dinh Chavez: 24h raw → 12h adjusted = ₱114.75 (exact client match)
2026-05-15 22:08:37 +08:00
1018f04fec Fix: Use attendance record as ground truth for rest day instead of weekend default
Employees who work Saturdays (like Ana Regina) were having their LWOP on Saturdays ignored because the system treated all Saturdays as rest days. Now the attendance record's is_rest_day flag overrides the weekend assumption.
2026-05-15 19:22:58 +08:00
ca48602a76 Fix: Prorate holiday pay for daily employees, flat 10% ND rate, detect LWOP from absent status 2026-05-15 19:16:54 +08:00
6f901c2e72 Fix: Extract holiday pay from basic salary, remove Rest Day Premium, fix holiday count in payslip summary 2026-05-14 13:05:42 +08:00
f04c90ffc4 Fix: Holiday pay logic - prevent double pay for monthly employees, don't count special holidays as absences 2026-05-12 12:47:51 +08:00
e07927abe1 Fix: Always inject holiday metadata into attendance record so banner shows even when employee worked 2026-05-12 12:12:31 +08:00
1d745f52a7 Feat: Add Holiday Type dropdown (Regular 100% / Special Non-Working 30%) for payroll premium rates 2026-05-12 11:29:50 +08:00
1c3b0e25e3 Feat: Add dynamic holiday overlay to Attendance Calendar 2026-05-11 17:43:58 +08:00
0f15e024d8 Feat: Hide payroll_frequency from UI and auto-calculate based on pay period dates 2026-05-11 13:25:41 +08:00
cf78d71feb Fix: Make payslip PDF template dynamically render all earnings and deductions 2026-05-11 13:10:45 +08:00
cd05e3a4f8 Fix: Ensure Time Exempt status still deducts Tardiness and Undertime 2026-05-11 12:44:17 +08:00
511510114c Fix: Overhaul monthly earners Base Salary logic to start at Cut-off Max and deduct absences 2026-05-11 12:37:13 +08:00
827135d343 Fix: Stop double statutory deductions for daily earners, enforce overtime approval, and reflect un-synced birthday leaves 2026-05-11 12:21:21 +08:00
3047b1a504 Fix: Resolves payroll computation inaccuracies, Phantom Holiday Pay, LWOP deductions, Rank & File daily wage formulas, and Payslip UI navigation lock-in issues identified during parallel testing. 2026-05-06 12:36:16 +08:00
1eb42942cd feat: make employee ID field editable on edit page 2026-05-05 11:21:15 +08:00
bda02061b4 fix: overtime approval workflow - prevent absent override on valid present records, async OT submission, correct employee mapping 2026-05-05 10:47:35 +08:00
e3c4fe2190 Fix leave visibility on dashboard calendar and attendance grid 2026-05-04 14:37:36 +08:00
ab3e4fa862 fix(attendance): correctly map Half Day (HD) status in calendar cell instead of forcing Present (P) 2026-04-30 14:41:42 +08:00
4fe67fe6c4 Fix attendance record saving validation when employee default shift is missing 2026-04-30 13:55:10 +08:00
b63d58620f Fix shift assignment defaulting to present and update employee creation fields 2026-04-30 13:46:32 +08:00
30c24b707b fix: relax attendance time validation and fix calendar status display 2026-04-30 13:32:52 +08:00
1c48367f1f Fix return type hint for logout to accommodate Inertia location response 2026-04-30 13:20:44 +08:00
fd5a4e40ad Fix CSRF login/logout issues and conditionally hide SaaS routes 2026-04-30 13:18:51 +08:00
ee72ae0e67 Fix settings array mapping and non-saas dashboard queries 2026-04-30 13:13:48 +08:00
248db4c441 Fix login cache/hang issue: remove blocking IP geolocation API call and safely handle Inertia invalid event 2026-04-30 13:11:45 +08:00
7b1b5f8f00 Make all employee fields optional except core requirements (name, email, password, salary) 2026-04-30 13:04:26 +08:00
45cd7dc795 Fix 419 Page Expired errors by appending CSRF token to FormData and remove required validation on profile image and contact info fields 2026-04-30 12:57:37 +08:00
69c5b4ff89 fix: resolve FormData rest_days array serialization bug in employee forms 2026-04-30 12:13:53 +08:00
03038c43f4 feat: implement tax toggle with TRAIN law graduated rates and manual override; fix attendance calendar status display 2026-04-29 23:35:17 +08:00
67625a1ae2 Fix: preserve record shift_id on manual attendance update instead of overwriting with employee default 2026-04-29 21:07:32 +08:00
a3707af349 Add shift_grace_period to attendance record detail 2026-04-29 20:21:30 +08:00
0af2431c99 Fix: remove non-existent working_hours column, calculate from shift times 2026-04-29 19:25:22 +08:00
c4d24427fa Fix attendance calendar to read shift from attendance record instead of employee default 2026-04-29 19:23:05 +08:00
081ca2d0c4 Update legacy shift sync with March pattern fallback for employees without direct data 2026-04-29 18:43:52 +08:00
6b6763fec9 fix(attendance): handle rest_day status in db, seeder, and UI 2026-04-28 22:24:48 +08:00
caa7c19fec feat(payroll): implemented compounded DOLE multipliers for OT and Night Differential 2026-04-28 18:37:14 +08:00
2419abfb21 fix(hr): automatically show RD status for rest days based on global settings even if no record exists 2026-04-28 18:28:06 +08:00
6d75d3afc0 feat(hr): added rest day support to attendance records 2026-04-28 18:23:41 +08:00
486b7e7e10 feat(hr): set overtime threshold to 1 hour 2026-04-28 18:19:05 +08:00
e9d13413e2 feat(hr): added grace period support to late detection logic 2026-04-28 18:16:54 +08:00
ec97bd62dc fix(hr): added dynamic absent detection to calendar grid 2026-04-28 18:15:28 +08:00
29ce088592 fix(hr): ensure positive workedHours and robust HD detection 2026-04-28 18:13:13 +08:00
2553fba614 fix(hr): support early arrivals for midnight shifts and crossover logic 2026-04-28 18:07:54 +08:00
68dbf494c5 fix(hr): robust HD detection and added debug logs 2026-04-28 18:03:37 +08:00