The result card showed x_fclk_net_hours = worked_hours − break − early-out penalty minutes. Tapping out before the scheduled end adds a 15-min early-out penalty to the break field, so short shifts clamped to 0 → "Worked 0h 0m". Show GROSS attendance.worked_hours (the actual clock-in → clock-out elapsed time) instead, and format adaptively (Xh Ym / Ym / Ys) so brief shifts and quick tests don't all read 0. Net-of-deductions stays in the payroll reports. Live as 19.0.3.11.5 (verified worked_hours computes correctly in the DB). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4.9 KiB
4.9 KiB