Module · Roster & timesheets
Where to find it in the app
- Use it: Time & pay → Roster & timesheets
- Turn it on/off: your business name (top-left) → Settings → Modules → Time & pay → Roster & timesheets
Plan: Solo and Business · Module group: Your team · Navigation:
Time & pay → Roster & timesheets
1. Overview
Purpose. Build the weekly staff roster, let staff clock in/out, and turn the result into timesheets you can approve and export for payroll. It understands regular shift patterns, days off, business closures and casual shifts, and it respects approved leave.
The time clock is shift-aware: clock-ins are checked against the rostered shift, so you can capture lateness, no-shows and blocked attempts, and the app can auto-close a clock-out someone forgot. The clock is a separate on/off switch from this module (see §6a), you can run the roster without the clock, and you do not turn the clock off by turning the Roster module off.
2. When to use it
- To schedule who works when, by role.
- To capture worked hours and prepare payroll.
3. Required permissions
- View the roster (
roster.view). - Build / edit the roster (
roster.manage). - View timesheets (
timesheets.view). - Edit / approve timesheets (
timesheets.manage).
4. Navigation path
Time & pay → Roster & timesheets
5. What you'll see
- A weekly grid of staff × days, with This week and week navigation.
- Shift blocks showing the role; regular patterns appear automatically, with day-off overrides and business closures marked.
- Controls to add a casual shift (including a typed name for a one-off).
- A timesheets view to review worked hours, approve the week, make hour adjustments (±hrs with a note), and Export payroll CSV.
- An attendance read in Timesheets: on-time %, lateness, no-shows and blocked clock-in attempts for the week, plus a Time in lieu (TOIL) running balance per person. Auto-closed clock-outs are flagged for you to confirm.
6. Turning it on
Settings → Modules → Your team → Roster & timesheets. Set your staff up in
Team → Staff list; their regular patterns and any closures flow into the grid.
6a. The time clock is a separate switch
The clock in/out feature has its own on/off switch, separate from this module: Settings → General → the "Time clock" card → "Use the time clock".
- Turn the clock off there if you don't track hours this way, the roster still works. Turning the Roster module off is not how you turn off clocking, and is a common mix-up.
- Solo (one-person) accounts hide the clock automatically.
- Just below the toggle are the clock-in rules, see §7b.
7. Step-by-step tasks
7a. Build the roster
- Open
Time & pay → Roster & timesheetsand pick the week. - Add or edit shifts per person, setting the role (e.g. Floor, Kitchen).
- Regular patterns pre-fill; use a day-off override where someone isn't working, and add casual shifts as needed.
- Business closures (e.g. a public holiday or training day) block the day.
Availability warnings. The grid knows each person's stated weekly
availability plus any date-specific casual exceptions (a casual marking a
particular day off or open), and it flags a shift you drop on a time someone
said they can't work, so you can rethink it or go ahead. Casuals set their
date-specific availability with a per-business notice period you configure at
Settings → General.
7b. Clock in / out (staff)
Where staff clock in:
- From "My work" in the top nav (their own page, clock in/out + this week's hours + their roster), or
- From a paired tablet kiosk set up as a Staff kiosk (see the Kiosk
section of Bookings and
Settings → Kiosk).
Worked time builds their timesheet, and who's currently clocked in shows on the dashboard (On shift).
Clock-in rules (Settings → General → Time clock, under Clock-in rules),
these only bite where you use the Roster module:
- Only clock in with a rostered shift, no shift now → clock-in is blocked, the person is told why, and the attempt is logged for you (see attendance in §7d). Owners/managers can always clock in, just flagged if there's no shift.
- Clock-in opens N min before the shift starts.
- Late after N min grace, past that, the clock-in is recorded as late.
- Max shift length, used as a backstop for forgotten clock-outs.
On-site (GPS) check, optional. You can require staff to be at the workplace
to clock in: turn on Location check on clock-in (Settings → Team, shown
when the Roster module is on), pin your workplace and set a radius.
- A self-service clock-in from outside the radius is flagged on the timesheet, or blocked if you make the check required (the person is told how far off-site they are). Clock-outs are checked too, so an off-site clock-out is flagged for you.
- The kiosk is exempt, a paired tablet is already on site.
Kiosk identity, name vs PIN. On a shared kiosk, choose how a person proves
who they are at Settings → Kiosk → "How staff clock in":
- Tap your name, simplest, but a colleague could tap your name.
- Personal PIN, each person types their own PIN, so no one can clock a workmate in or out. Use this to stop "buddy-punching". PINs are set per-person on the same Kiosk tab (managers only), stored encrypted and never shown.
7d. Attendance & auto clock-out
- The Timesheets tab summarises the week's punctuality, on-time %, who was late (and by how long), no-shows (a rostered shift with no clock-in) and blocked attempts.
- Forgot to clock out? If someone forgets, the app closes it for them, at
their rostered shift end plus the auto clock-out grace, or the max shift
length if they had no shift. It's marked auto clock-out · check, left
unapproved for you to confirm, and never paid automatically. The grace
is set at
Settings → General → Time clock → "Forgot to clock out?".
7c. Approve & export timesheets
- Open the timesheets view.
- Review hours; make an adjustment (±hrs + note) if needed.
- Approve week when correct.
- Export the approved hours for payroll, as a CSV, or as a Printable summary: one page per person to read from while you enter hours into Xero, QuickBooks or MYOB.
What the export is (and isn't). This is an hours export for manual entry or CSV import, HappierBiz doesn't push into your payroll software, run pay or lodge STP. Your payroll software stays the source of truth for pay.
Two-step sign-off (optional). If your business has turned on two-step approvals, a submitted timesheet takes two approvals: the submitter's direct manager confirms the hours first (this writes nothing to pay), then a Payroll Officer does the final sign-off, and only then do the hours flow into the export. A timesheet part-way through shows a "Payroll sign-off" tag. Turn it on and read the full flow in Approvals & payroll sign-off. With it off (the default), approving a timesheet is a single decision, exactly as described above.
Pay public holidays. A toggle in the timesheet settings: when it's on, a public-holiday closure pays the rostered hours, and public-holiday hours are tagged separately on the timesheet and the export, so you can apply penalty rates in payroll.
7f. Finalise (lock) a pay period
Once a week's hours are right, you can finalise (lock) it. Locking freezes that week's payable snapshot, so a later change to a setting or the roster can't quietly move numbers you've already signed off, and it blocks edits to that week's overrides, breaks, approvals and TOIL. The week shows as locked with who locked it and when.
- Finalise & export locks the whole period you choose in one go. Set the Period (this week, fortnight or four weeks) and click Finalise & export: it lists every week with its people and hours so you can check what's being frozen, then freezes them all and downloads one file for the span. You no longer have to lock each week separately.
- If a week still has hours waiting for approval, finalising stops and tells you which weeks to approve first, so you never freeze someone's hours at zero. Approve them in the Timesheets tab or the Approvals inbox, then finalise.
- If payroll needs to correct a locked week, unlock (re-open) it, fix it, and finalise again.
- Exporting records an exported-at stamp on each week, so a re-export is visible and you can see the week was already sent to payroll.
- Finalising, re-opening and exporting all need Edit / approve timesheets, and each is written to the business Activity Log.
7f-ii. Set up the MYOB export so it imports cleanly
MYOB only accepts a timesheet row if its pay code (the Activity ID) and the employee code already exist in your MYOB company file, spelled the same, in capitals, up to eight characters. HappierBiz can't know your MYOB codes, so it gives you a quick one-time setup and sensible defaults.
- Choose MYOB in the Payroll dropdown on the Finalise & export card, then open MYOB pay codes.
- Each pay type (ordinary, overtime, public holiday) and each leave type you use
shows an editable code, pre-filled with a tidy default (for example Annual
leave becomes
ANNUAL). Change any to match the exact pay code you have in MYOB, then Save codes. Copy list for MYOB copies the whole list so you can set the same codes up on the MYOB side. - Employee codes. The panel lists everyone in the file with the code they'll export as, and flags anyone matched only on their surname (which can go wrong) or sharing a code with someone else. For a reliable match, put each person's MYOB Card ID in their Team profile (Team, open the person, the employee ID field); the export uses that when it's set.
- In MYOB, turn on timesheets, make sure each pay code above exists and is linked to each employee, then import via File, Import Data, Timesheets and map the columns. MYOB imports the rows that match and lists any it can't, so you can fix a code and re-import.
Note: only MYOB AccountRight (desktop or browser) can import timesheets; MYOB Business online can't, so there you key the hours in by hand from the file.
7e. Time in lieu (TOIL)
TOIL is a per-person balance of time owed for extra hours worked: positive = banked (you owe them time), negative = used. The running balance sits in the balances panel on the Leave page (Time off & shifts → Leave), and each staff member now sees their own balance in My Work.
Banking time (four ways):
- Log it by hand, in the balances panel, pick a person, enter the hours and a note. This is the quick "you worked back two hours on Tuesday" case.
- Bank a timesheet variance, on a clocking person's timesheet row, the Bank to TOIL button banks the difference between clocked and rostered hours.
- Staff bank it on their own timesheet, when a set-hours person confirms their week, they can tag part of a day Bank to TOIL; it lands when you approve the week.
- Auto-accrual (optional), turn on "Auto-bank over-roster hours" in the timesheet settings and, whenever you approve a timesheet, any hours above the roster that weren't tagged as overtime bank to TOIL automatically. Your approval is the gate, nothing accrues without it.
Using time (taking a TOIL day off). Staff take TOIL as time off by requesting leave of the "Time off in lieu" type (or whichever leave type you choose in the TOIL settings). Approving that request draws the balance down by the hours off, blocks the roster and bookings for those days like any leave, and emails the staff member. Cancelling it hands the hours back. Staff can't request more TOIL than they have, the app stops the request with the exact figures.
Guardrails. Set an optional cap so a balance can't grow past, say, 40 hours, and the app won't let TOIL be overdrawn (used below zero). Every change is logged in the business Activity Log.
8. Examples
- Beginner (café): roster Floor and Kitchen for the week; staff clock in; approve and export Friday.
- Real-world (gym): trainers' regular patterns auto-fill; add a casual to cover a sick call; a public-holiday closure blocks the day.
- Advanced (multi-role venue): roster across Floor/Parties/Setup roles, adjust a miskeyed clock-out by ±hrs with a note, then export approved hours.
9. Reports & exports
- Timesheets per week, approvable.
- Payroll CSV export of approved hours (hours only, for manual entry or CSV import into your payroll software; no pay runs or STP from here).
- Printable summary, one page per employee, to read off while entering hours into Xero, QuickBooks or MYOB. Public-holiday hours are tagged separately when Pay public holidays is on.
- On shift (clocked-in now) shows on the dashboard.
10. Common mistakes
- Exporting before approving, approve the week first so payroll gets final numbers.
- Forgetting closures, mark business closures so days aren't rostered or counted.
- Editing a pattern vs a single day, use a day-off override for one-offs; change the pattern for ongoing changes.
- Ignoring leave clashes, approved leave blocks bookings, but check the roster reflects who's actually off.
- Turning the Roster module off to stop clocking, that's the wrong switch.
The clock has its own toggle at
Settings → General → Time clock. Turn that off; leave the Roster module as you need it. - Paying an auto clock-out without checking, auto-closed entries are an estimate. Review and approve them before the payroll export.
11. Troubleshooting
| Problem | Fix |
|---|---|
| A staff member isn't on the grid | Add them in Team → Staff list and set their pattern. |
| Hours look wrong | Check clock in/out entries and apply an adjustment (±hrs + note). |
| Can't approve/export | You need Edit / approve timesheets. |
| A closed day still shows shifts | Mark it as a business closure. |
| Where do I turn the clock off? | Settings → General → Time clock → "Use the time clock". It's separate from this module. |
| A staff member can't clock in | They likely have no rostered shift now and "Only clock in with a rostered shift" is on, roster them, or relax the rule at Settings → General → Time clock. The blocked attempt is listed in Timesheets. |
| Someone clocked in as someone else (kiosk) | Switch the kiosk to Personal PIN at Settings → Kiosk → How staff clock in. |
| A shift shows "auto clock-out · check" | They forgot to clock out, so it was auto-closed at the rostered end (+grace). Review and approve it. |
12. Error messages
Roster edits and approvals confirm inline (e.g. "Week approved"). The payroll export is disabled until there are approved groups to export.
Related: Approvals & payroll sign-off · Leave · Shift requests · Calendar