adc95699b3
fix: daily wage undertime double-deduction, conditional meal break, and weekend approved LWOP deductions
2026-06-01 16:02:45 +08:00
bcb81ed68a
fix(attendance): resolve absent status on active clock-in, add auto-logout after 12h, support single punches in BiometricAttendanceController
2026-05-30 11:34:22 +08:00
e89b8e0ccf
fix: update biometric sync timezone parsing to Asia/Manila and correct historical records
2026-05-30 11:13:45 +08:00
cfe86edbf7
fix: adjust attendance auto-calculation threshold to have 1.5-hour tolerance to prevent early departures from triggering half-day status
2026-05-28 12:42:13 +08:00
f393a8282f
fix: preserve existing shift and policy in attendance record when overwriting via biometric sync
2026-05-28 12:29:55 +08:00
a1695010f1
fix: allow bulk sync overwrite to process already-synced biometric records and respect active filters
2026-05-28 12:12:23 +08:00
e65cefb933
feat: remove default 7-day date filter from biometric attendance page
2026-05-28 11:55:51 +08:00
02632bb92a
feat: add local agent logging and bulk sync overwrite option
2026-05-25 11:52:10 +08:00
33a2dbed16
feat: implement multi-branch attendance tracking and filter updates
2026-05-25 11:34:04 +08:00
9235ddbff5
fix: copy branch_id from biometric log in syncCustom
2026-05-25 11:33:33 +08:00
9e93996f50
feat: implement manual pairing and custom sync for biometric attendance
2026-05-25 11:30:18 +08:00
76a65445a0
Fix: Holiday pay proration — deduct 1h break, use 8h standard, floor hours
...
Biometrics doesn't track breaks, inflating total_hours by ~1h.
The fix deducts 1h meal break, floors to whole hours (client policy),
and uses DOLE 8h standard instead of 9h shift duration.
Dinh May 1: floor(7.28-1)/8 = 6/8 = 0.75 × ₱765 = ₱573.75 ✅
(was: 7.28/9 = 0.81 × ₱765 = ₱618.80)
2026-05-22 14:25:50 +08:00
3b90534d98
Refactor biometric attendance to use database
2026-05-19 17:16:46 +08:00
98d9dab18f
fix: eager load branch on correct relation
2026-05-19 16:57:09 +08:00
03865bf03e
feat: add branch filtering and column to attendance records
2026-05-19 16:47:07 +08:00
149bd1165e
Fix UI configuration block for local agent users
2026-05-19 16:39:11 +08:00
7f92eff3eb
Switch biometric agent to staging JSON cache flow
2026-05-19 16:27:54 +08:00
ceb03224b5
Fix Carbon parsing for JS date strings with timezone names
2026-05-19 15:33:47 +08:00
c3acfe9233
Fix ZKTeco date parsing and CSRF whitelist
2026-05-19 15:11:44 +08:00
ee7d0e1aa5
feat: improve employee lookup by branch_id and add sync debug reasons
2026-05-19 14:48:31 +08:00
5696c98bb5
fix: refactor ZKTeco API receiver to group by day and use correct AttendanceRecord table, and limit agent to last 15 days
2026-05-19 14:17:48 +08:00
172937f22d
feat: implement ZKTeco local sync agent architecture
2026-05-19 13:51:03 +08:00
cc3f4e3a89
fix: move ZKTeco library inside app to avoid composer autoloader issues on shared hosting
2026-05-19 13:35:12 +08:00
b353aad649
feat: add ZKTeco connection testing wizard in branch form
2026-05-19 13:18:04 +08:00
20a79a130d
feat: implement multi-branch biometric IP configuration and auto-sync
2026-05-19 11:24:41 +08:00
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