Commit Graph

165 Commits

Author SHA1 Message Date
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
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
baf044dc6e Fix time picker: auto-fill defaults when selecting individual dropdowns 2026-04-29 20:41:37 +08:00
fb1647cdf5 Replace native time input with cross-browser dropdown picker (fixes Safari) 2026-04-29 20:36:51 +08:00
a3707af349 Add shift_grace_period to attendance record detail 2026-04-29 20:21:30 +08:00
2c994fbd15 Fix night shift validation: use record shift, handle midnight crossover, add 5min tolerance 2026-04-29 19:33:24 +08:00