A timesheet built on payroll
August was the busiest month of the year, with 352 commits. Most of them came from one feature: a weekly timesheet. It is built on top of payroll records instead of being a separate system. Each employee has a row for the week, and each day opens a dialog for hours, location and status. Days can be marked absent or as a day off.
The timesheet splits hours on its own. Up to 8 regular hours count per day and up to 40 per week. Anything over that is shown as overtime, with daily totals, a sub-total, an hourly rate that can be edited in place, and a grand total. Hours can be shown as decimals or as hours and minutes, and the timesheet remembers which one you prefer. This replaced an earlier, narrower column for one type of weekly worker, which we removed.
Two languages and clearer actions
We also moved the Payroll interface onto a proper translation system, with English and Spanish text for the payroll grid, dialogs, menus, tables, reports and settings. Each component now has its own language files, which makes later changes easier.
A new net pay adjustment dialog lets payroll staff add remarks and mark an employee as paid, and the period bar can filter by paid or unpaid. "Close Payroll" was renamed "Finalize Payroll" and now asks for a firmer confirmation, because it cannot be undone. Number fields accept simple sums and hours:minutes input. Companies can record work locations, set a salary date, and choose whether employee addresses appear on exports. The login pages were also redesigned.
This article was written from Mintage Payroll’s commit history for August 2025. See Mintage Payroll today