Commit Graph

171 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
cc02005d7f fix: show generate payslips action on index for processing status 2026-05-18 13:41:20 +08:00
78d6c4d494 feat: implement 3-step payroll status workflow (draft -> processing -> completed) 2026-05-18 13:01:21 +08:00
bda1dcd7d5 fix: resolve FormEvent preventDefault error on custom modal save 2026-05-18 12:54:23 +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
ec88361a38 Add plan docs and sync frontend source files 2026-05-12 12:11:26 +08:00
5c58cc8d12 Feat: Add holiday name banner to attendance calendar view modal 2026-05-12 12:07:31 +08:00
4d459b82d6 Fix: Guard migration with hasColumn check to prevent duplicate column error 2026-05-12 11:35:44 +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
e3ecc35044 Chore: Update compiled frontend assets after removing frequency from show.tsx 2026-05-11 13:36:42 +08:00
9e235db876 Fix: Remove stray Payroll Frequency badge from show.tsx 2026-05-11 13:28:54 +08:00
a793b9d336 Chore: Update compiled frontend assets 2026-05-11 13:26:32 +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
bb4e897f50 fix(frontend): properly normalize midnight rollover for early clock-ins preventing false 'Late' warnings 2026-04-30 14:45:45 +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
9bc09040cc Fix record shift_name fetching on stdClass 2026-04-30 14:12:21 +08:00
4fe67fe6c4 Fix attendance record saving validation when employee default shift is missing 2026-04-30 13:55:10 +08:00
354c355d02 Add required prop to Full Name label in employee create and edit forms 2026-04-30 13:49:16 +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
8d32222d4f Fix 419 Page Expired errors by automatically refreshing CSRF token via Inertia interceptor 2026-04-30 12:45:32 +08:00
3a45c85117 fix: resolve DELETE hr.employees.destroy parameter mapping in index.tsx 2026-04-30 12:29:19 +08:00
b3f3e04b6a fix: intercept backend errors in employee forms to prevent silent navigation failures 2026-04-30 12:25:53 +08:00
69c5b4ff89 fix: resolve FormData rest_days array serialization bug in employee forms 2026-04-30 12:13:53 +08:00
23bff0928e build: update assets 2026-04-29 23:36:52 +08:00
11d7c0f372 chore: export database to scxs4.sql 2026-04-29 23:36:10 +08:00