Timesheets — clocking in, manual entries, and payable time

Let your team clock in and out from the account menu, fill in shifts they forgot, and give admins a per-member breakdown of worked, break, and payable time with hourly rates and export.

Practice management8 min readUpdated

Timesheets is an optional feature for practices that pay staff by the hour, or simply want a record of who was in when. Members clock in and out from the account menu in the sidebar; the time lands on their personal timesheet; admins get one page that rolls the whole team up into payable hours — and dollars, once a rate is set — for whatever pay period they pick.

It is deliberately light-touch. There's no approval queue and no schedule to reconcile against. A shift is either clocked (started and ended with the button) or manual (typed in afterwards), and the admin view flags which is which, plus anything that was edited after the fact. That's usually all a small practice needs to run payroll honestly without adding a chore to everyone's day.

Turning it on

Go to Settings → Timesheets and flip the toggle. While it's off, nothing timesheet-related appears anywhere — no menu items, no pages — so you can enable it for a trial pay period and switch it off again without leaving clutter behind.

The Timesheets settings page with the feature toggle and the unpaid-break rule

Once enabled, the Unpaid breaks section appears beneath the toggle:

  • Break length — minutes deducted from each qualifying shift. Leave it at 0 to pay every worked minute.
  • Applies to shifts longer than — the shift length, in minutes, above which the break is deducted. Shifts at or under this length are paid in full.

A typical rule is "30 minutes off any shift over 6 hours" (30 and 360). The deduction is automatic and applies to every member's shifts, including ones recorded before you changed the rule — payable time is always computed from the current rule, never stored. Changing the rule mid-period therefore re-prices the whole period; set it before you start relying on the numbers.

Both fields save as you type. The settings page is admin-only, like every other optional-feature toggle.

Clocking in and out

Everything a member needs lives in the account menu — the avatar and name at the bottom of the sidebar (or the avatar button on a phone). Open it and the first section shows your clock status and a single button.

The account menu off the clock: a grey status line, today's payable minutes, and a Clock in button
  • Off the clock — the status line shows how much payable time you've banked today. Clock in starts a shift at the current moment.
  • On the clock — the status line turns green and counts up live; Clock out ends the shift.
The account menu on the clock: a green status pill counting up, and a Clock out button

The avatar itself shows the same thing at a glance without opening the menu: a gently pulsing green ring and a green clock chip while you're clocked in, a quiet grey chip when you're not. The change is instant — you see it before the server has confirmed — and if something goes wrong (you were already clocked in on another device, say) the button flips back and tells you why.

A few rules the clock enforces:

  • You can only have one open shift at a time. Clocking in twice, from two devices, is rejected.
  • A single shift can't be longer than 24 hours; times can't be in the future.
  • If you leave a shift open for more than 12 hours, Ona assumes you forgot. Clock out then asks when you actually finished instead of closing the shift at the current time, so an overnight mistake doesn't become a 15-hour day on the payroll.

There's no break button. Breaks are handled by the org-wide rule in Settings, so nobody has to remember to clock out for lunch.

Your timesheet

The Timesheet item in the same menu opens your own page. On the left: the clock card (the same button, larger, with the live timer) and the totals for the period you've selected — shifts, worked, breaks, payable. On the right: every shift in that period as a table — date, start → end, note, worked, break, payable — newest first, with a live counter on the shift that's still open.

The date picker at the top defaults to This week. Pick any preset or a custom range; the totals and table follow.

Adding and fixing entries

Forgot to clock in? Clocked out an hour late? Add entry (top right of your timesheet) records a shift after the fact: pick the date, a start and end time, and an optional note. The dialog shows the shift length as you type and refuses anything the clock would — end before start, a future time, more than 24 hours — and it won't save an entry that overlaps another of your shifts.

If a shift ran past midnight, switch on Shift ends on a different day and set the end date.

To correct an existing shift, open the menu on its row and choose Edit; Delete removes it entirely. Deleting the shift that's currently open simply clocks you out without recording any time.

Two things worth knowing about corrections:

  • Manual entries — ones typed in rather than clocked — carry a Manual flag on the timesheet and count separately in the admin view.
  • Edited entries keep their previous times and note in an edit history, and carry an Edited flag. Hover it to see how many times it changed and when. Editing is never blocked, but it's never invisible either.

The team view

Owners and admins get Timesheets in the sidebar (under Organization) and in the account menu. It's the payroll page.

The Timesheets page: totals strip, one row per member with status, shifts, worked, breaks, payable and rate, and a member's entries open in the side panel

Pick the pay period with the date picker (defaults to This week). The strip at the top totals the whole team — shifts, worked, breaks, payable hours, and the payable amount for members who have a rate. The table underneath has one row per active member:

  • StatusOff, or a green pill with how long they've been on the clock right now.
  • Shifts / Worked / Breaks / Payable — for the selected period. Open shifts are shown but not counted until they're closed.
  • Rate — click to set or change the member's hourly rate; Amount is payable hours × rate.
  • Flags — counts of manual and edited entries in the period, so anything worth a second look stands out.

Members who were deactivated during the period still appear if they have shifts in it, so a pay run is never missing someone who left mid-month.

A member's shifts

Click a row to open that member's timesheet beside the table. It has the same totals and the same day-by-day list of shifts — including their Manual and Edited flags — and admins can Add entry, Edit and Delete on anyone's behalf, with the same rules and the same audit trail as the member editing their own. Use it when someone phones in "I forgot to clock out yesterday" and you'd rather fix it than wait.

The open member is kept in the page URL, so you can send a colleague a link straight to one person's week.

Hourly rates

Rates live only here. Click the Rate cell, type an amount in dollars per hour, and press Enter (or the tick). Clear the field to remove a rate. Rates are never shown to the member or anywhere else in Ona — not on the team page, not in their profile — and changing one re-prices every period, past and future, since amounts are computed from hours × the current rate.

Export

Export (top right) downloads the table as you see it — one row per member, with hours as decimals and amounts in dollars — as an Excel file or CSV, named after the date range. Hand it to whoever runs payroll, or import it into your payroll tool.

Details that matter

  • Where do totals come from? From the shifts whose start falls in the selected range. A shift that starts at 11 PM on the last day of a period and ends at 7 AM the next belongs to the first period.
  • Whose clock is "today"? Yours. "Today" and "this week" in the account menu are worked out in your device's timezone; the admin view uses the viewer's timezone for range boundaries. Shifts themselves are stored as exact instants, so nothing is lost if a team spans timezones.
  • Rounding — a shift is counted in whole minutes, rounded up, so a 30-second shift is 1 minute. Hours in the export are shown to two decimals.
  • Who can see what — every member sees only their own timesheet. Owners and admins see everyone's, set rates, and export. Staff and clinicians never see rates or other members' hours.
  • Turning it off — switching the feature off hides every timesheet surface but keeps the data. Switch it back on and the history is still there.

Related guides

Can’t find what you’re looking for?

Book a demo and we’ll walk you through it live — or email [email protected] and a human will help.