We’ve been heads-down on a big round of improvements this week, focused on flexibility, accuracy, and a smoother experience for payroll admins. Here’s what’s new:
Quick Edit Time Entries
You can now edit a time entry directly from the Timesheets → Approvals page without needing to delete and re-add it. A quick-edit popup lets you update the date, hours, pay rate type (standard, alternative, or day rate), task/project name, and notes — all in one place.
We also fixed two bugs with this modal: the date wasn’t pre-filling correctly (the date lives in the started_at timestamp, not a separate column), and alternative rate entries were incorrectly defaulting to standard rate when opened.
Payslip Customization Options
Under Settings → Business → Payslip Customization, two new options are now available:
- Show notes on payslip — displays task/project names and notes from manual time entries on the generated payslip.
- Show dates on timesheet entries — lists each time entry individually with its date, rather than grouping by rate. Great for clients who need a detailed per-day breakdown.
WT Tax Code Support
Employees can now be assigned the WT (Withholding Tax) tax code, commonly used in the screen and talent industry for schedular payments. When set:
- Tax is calculated as a flat percentage (default 20%, adjustable per employee)
- No ACC Earner’s Levy or KiwiSaver deductions are applied
- Payslips display “Withholding Tax (WT X%)” with a note indicating it’s a flat-rate schedular payment
Total Paid Hours Mode
On the manual timesheet entry page, “Total Hours” has been renamed to “Total Paid Hours” to make it clearer. Break deductions are now only applied when using start/end time mode — if you enter a total directly, what you enter is what gets paid. Break duration also defaults to 0 for all new entries.
Bug Fix — Payslip PDF Generation
A bug was causing payslip PDFs to fail with a database error when the “show dates” or “show notes” options were enabled. The query was incorrectly referencing a date column that doesn’t exist on the time_entries table — all date information is stored in started_at. This has been corrected.