Time Tracking
- Free
- Solo
- Team
Log time against tasks to track how long work takes, distinguish billable from non-billable hours, and generate invoices directly from your time entries.
Timer bar
The timer bar sits at the top of every page. It’s the fastest way to start tracking:
- Click Browse Tasks: a list of your recent tasks opens, with the tasks for the page you’re on first (that project’s tasks on a project page, that client’s on a client page). Type to filter by task, project or client name.
- Press Enter to start the timer on the first matching task, or click a task to select it. If the task doesn’t exist yet, create it from the list.
- The timer starts immediately, you’ll see the task name and a live elapsed counter.
- The input switches to a notes field while the timer runs, describe what you’re working on.
- Click the red stop button when you’re done.
The time entry is saved automatically when you stop the timer. Entries under 30 seconds are discarded.
Cross-tab and cross-device sync
The running timer is part of your workspace, not just your browser. If you start a timer on your laptop and then open Kiaro on your phone, the phone shows the same timer running, with the same elapsed counter. Stop it on either device and both update. The timer bar refreshes whenever you switch back to a tab, so a stop from another window is reflected within a second. If you pause the timer (the 6-hour are-you-still-working prompt does this automatically), the paused minutes are excluded from the final time entry. You only ever bill for time you actually worked.
Today’s total
The timer bar shows your total hours logged today next to the elapsed timer, so you always know if you’re on track without checking a report.
Creating a task from the task list
The same task list appears when you start the timer, log time manually and move an entry to another task. If the task you need doesn’t exist yet, type its name and choose Create task “your name”… at the bottom of the list. Then pick the project it belongs to (search by project or client name). Kiaro creates the task and uses it straight away: the timer starts on it, the manual entry form selects it, or the entry moves to it (see Editing time entries).
Create task shows whenever you’ve typed something, even if a task with that name already exists, because the same task name often exists for a different client. On the Free plan, projects for a client that is past, inactive or lost, or a lead you haven’t activated yet, aren’t offered, since time can’t be logged on them.
Timer reminder
If no timer has been running for 30 minutes during work hours (7am–8pm), a gentle amber bar appears: “No timer running. Forgot to start one?” Click the X to dismiss, it won’t appear again for 2 hours.
Replay timer
Each entry in the time list has a play button. Click it to start a new timer for the same task, useful for continuing work from yesterday or earlier in the week.
Manual time logging
If you prefer to log time after the fact, use the Log Time Manually form (click the + button on the timer bar). Enter the task, duration in minutes, optional notes, and toggle billable. If the task doesn’t exist yet, create it from the task list.
You can also create time entries from the Log Time page (at /time/new) with full control over task, start time, duration, notes, and billable status.
A manual entry follows the same rules as the timer. Your rounding setting is applied, the date can’t be in the future, and it is refused if that week’s timesheet is submitted or approved. The task’s logged hours update straight away. On the Free plan you can’t log time on work for a client that is past, inactive or lost, or a lead you haven’t activated yet: reactivate or activate the client first. The same applies to hours you add in the weekly timesheet.
The first time you log time against a task that is still in To Do, whether by timer or manual entry, the task moves to In Progress automatically. See Projects and Tasks for the details.
Uninvoiced-value prompt
When you save a time entry on a project with at least $500 of unbilled billable time, Kiaro shows a follow-up notice next to the standard “Saved” confirmation:
You have $X uninvoiced on [Project Name]. Create a draft invoice now? [Create invoice] [Not now]
Create invoice drafts an invoice with every uninvoiced billable entry on the project and takes you straight to the invoice detail page. Not now dismisses the prompt for the rest of your browser session for that project. The prompt fires from any time-save path (timer bar, manual log, weekly timesheet, or a saved template).
The Uninvoiced summary card at the top of the Time page also includes a “Create invoice” link when you have uninvoiced billable time, so you can draft an invoice without saving a time entry first.
Time a client’s active retainer covers is left out of both the prompt and the Uninvoiced card, because it’s billed on the retainer’s invoice. See Retainer billing.
If you’ve logged 5+ hours on an hourly or mixed project but haven’t set the rate yet, the prompt swaps Create invoice for Set rate and takes you to the project edit page. Drafting an invoice without a rate would produce $0 line items, and adding the rate afterwards doesn’t fix the draft, so the rate has to come first.
Notes on the trigger:
- The threshold uses the project’s billing currency. For hourly and mixed projects with no rate set, Kiaro falls back to a 5-hour trigger so the prompt still fires for meaningful work.
- Mixed projects get the prompt for their hourly time. Their milestones are invoiced separately.
- Fixed-fee projects are excluded; those have their own invoicing flow via milestones.
- If you invoiced this project in the last 7 days, Kiaro stays quiet.
Capture before you switch
When you stop a timer on a session of 25 minutes or longer, Kiaro shows an optional bottom sheet with two questions: “What is still open or needs to be picked up next?” and “Was any decision made?” Whatever you enter is saved to your knowledge base as an open question or decision linked to that client and project, so it surfaces automatically in the client brief next time you open the page.
The sheet never blocks the timer from stopping. You can skip it with one click, or choose “Stop asking” to disable it permanently on that device. It only appears on substantial sessions to stay out of your way on quick checks and short tasks.
Editing time entries
Every time entry can be edited in place in the time list, whether it was created by the timer or logged manually. Click any of these fields to edit it:
- Duration: Click the hours value, type a new number, press Enter
- Notes: Click the notes text (or the dash if empty), type, press Enter
- Billable: Click the $ icon to toggle billable/non-billable
- Task, project or client: Click the task name (or the client and project beside it) to pick another task. Use this when you logged time against the wrong client or project. Search by task, project or client name, then click the right task. If the right task doesn’t exist yet, type its name, choose Create task, and pick the project (and so the client) it belongs to: Kiaro creates the task and moves the entry onto it in one step. The row changes straight away, and the confirmation says how much time moved and where, for example “Moved 30m to Workshop prep”. The new task’s logged hours are the entry’s hours. If the move isn’t allowed (the time is invoiced, or the week is locked), nothing is created and the row stays as it was. The entry moves with its duration, notes and billable flag, and logged hours update on both tasks
The time entries listed on a task’s page work the same way: click the duration to change it, or the $ icon to toggle billable. A running timer, an invoiced entry and an entry in a submitted or approved timesheet week show plain text, and a member can change only the entries they logged.
If Kiaro can’t save an inline edit, it shows a message and puts the old value back. It refuses to change time that is already on an invoice, time in a week whose timesheet is submitted or approved, a running timer, and, for members, entries logged by someone else. A duration has to be at least one minute, and an inline edit saves exactly what you type, without rounding it again.
Long-running timer protection
If a timer has been running for more than 6 hours of actual worked time, Kiaro pauses it and asks whether you are still working. You can choose to resume or stop and save the entry.
This protection applies whether or not your browser is open. If you close your tab or your laptop goes to sleep before stopping the timer, Kiaro still pauses it at the 6-hour mark on the server side, so you do not come back the next day to a full overnight of phantom hours. If a timer has been open for 24 hours straight, Kiaro automatically saves it at 6 hours and closes the entry. You will see a clean 6-hour entry on your time list rather than a runaway counter.
Once you have explicitly paused and resumed a timer at least once, Kiaro trusts that you are present and will not re-pause you every 6 hours. The 24-hour hard cap still applies.
Bulk actions
Select multiple time entries using the checkboxes, then use the bulk actions bar to:
- Mark as billable or non-billable, update all selected entries at once
- Delete: remove all selected entries (with confirmation)
Entries that are already on an invoice, running, or in a week whose timesheet is submitted or approved are left as they are. Members can only change their own entries, so anyone else’s selected entries are left as they are too. The confirmation message counts only the entries that changed and says how many were left alone.
A running total of selected hours appears in the toolbar so you see at a glance how many hours you’ve picked. This is useful for month-end cleanup, correcting entries in bulk, or assembling specific sets of time to invoice.
Time entry templates
For recurring work (weekly standups, regular meetings, retainers), create a template on the Time page:
- Click Create Template
- Set a label, task, duration, and optional notes
- The template appears as a clickable pill on the Time page
- Click the pill to log that time in one click
Templates are stored locally in your browser. Hover over a template to reveal the delete button.
Weekly timesheet
Go to Time Tracking → Timesheet for a spreadsheet-style view of your week. Tasks appear as rows, days of the week as columns.
- Click any cell to enter hours as a decimal (e.g.,
1.5for 1 hour 30 minutes). Kiaro uses quarter-hour precision:0.25is 15 minutes,0.5is 30,0.75is 45. Reports reads these values back in the same decimal form, so a figure never looks different between the two screens - A single cell can’t hold more than 24 hours, and the grid never changes time that is already on an invoice (see Invoiced time). A refused save shows a message and keeps what you typed
- On the Free plan, the grid won’t add hours on work for a client that is past, inactive or lost, or a lead you haven’t activated yet. Clearing a cell or removing a row still works
- A running timer isn’t part of the grid. Saving never changes, stops or deletes it: hours you type for the same task and day are saved as a separate entry
- Daily column totals and weekly row totals update automatically
- Navigate between weeks with the Previous / Next buttons
- Click Add Task to add a new task row to the timesheet. The row starts blank. Fill in any cells you want, then click Save changes to commit
- Hover any row and click the × to remove that task from the week. Removal commits with the rest of your edits when you click Save changes
- Filter by project using the dropdown above the grid (appears when you have 2+ projects)
Edits stay client-side until you click Save changes at the bottom of the grid. The grid will warn you if you try to leave the page with unsaved entries, which is handy when you’ve been filling out a week and accidentally close the tab.
This is ideal for entering time in bulk at the end of the day or week.
Timesheet approval (Team plan)
- Team
On the Team plan, everyone can submit their weekly timesheet for the workspace owner’s approval.
How to submit:
- Go to Time Tracking → Timesheet and log your hours.
- When you’re done, click Submit for Approval above the grid.
- The workspace owner gets an email. Your timesheet for that week is locked until reviewed: you can’t log, edit or delete your time in that week, from the Time page, the timer or the weekly grid.
- If you need to make changes before review, click Revoke to unlock the week and edit again.
How the owner reviews:
- The owner sees pending timesheets in their dashboard’s Needs Attention card and in the email notification.
- Clicking a pending timesheet opens its review page. The Timesheet Approvals page (linked from the email, and from Approvals in the review page’s breadcrumb) lists all submitted timesheets awaiting review.
- For each submission, the owner sees a breakdown of hours by task, project, and client.
- Approve locks the week permanently and notifies the submitter.
- Send back for changes requires a note explaining what needs fixing. The submitter gets an email with the feedback and can revise & resubmit.
Billable vs. non-billable
By default, all time entries are billable. Toggle an entry to non-billable for internal work like admin, learning, or meetings that won’t be invoiced.
The Time page shows summary cards including:
- Hours: Total time logged
- Billable Hours: Billable portion with a percentage rate
- Billable Amount: Calculated from your project hourly rates
- Uninvoiced: Billable amount not yet converted to an invoice
The cards reflect the filters applied above the table (date range, client, project, and billable). Set the range to This Week and the first and third cards read “Hours This Week” and “Billable Amount This Week”; filter to a single client and every card recalculates to that client’s totals. With no range filter the cards cover all time, so they always describe the same entries shown in the table below them.
The entry list groups time by day and shows a subtotal of hours and billable hours for each day. The list shows up to 7 days per page, so each page jump moves roughly a week at a time. This makes it easy to scan your time week by week or month by month.
Invoiced time
Once a time entry is on an invoice it is locked to that invoice. You can’t change its task, duration, notes or billable flag, and you can’t delete it, from the Time page or the weekly timesheet (or from the AI command bar or a connected AI app). On the weekly timesheet, saving is refused if a day you changed, cleared or removed holds invoiced time, so log extra time for that day as a new entry on the Time page. Void or edit the invoice first if the time was wrong.
Who can change time entries
Members can edit and delete only the time they logged themselves. Workspace owners and admins can edit and delete anyone’s. This applies on the Time page, in the AI command bar and in connected AI apps.
Hourly rates
Set an hourly rate on each project (in Project → Edit). This rate is used to calculate billable amounts across all time views, the budget burn visualization on project pages, and line item amounts when creating invoices from time entries.
Time rounding
The workspace owner configures automatic rounding in Settings → Workspace under Time Rounding. Options include:
- None (exact minutes)
- 5 minutes
- 6 minutes (1/10 of an hour)
- 10 minutes
- 15 minutes
- 30 minutes
When rounding is enabled, timer entries and manual time logs are rounded up to the nearest increment. For example, with 15-minute rounding, 22 minutes becomes 30 minutes.
Rounding applies however you log time: the timer, the Log Time form, a quick log on a task, a template, the AI command bar, or a connected AI app. Editing an entry’s duration later, or typing hours in the weekly timesheet, saves exactly what you enter.
Creating invoices from time
Go to Time Tracking → Create Invoice from Time (or Invoices → From Time Entries) to convert your unbilled time into a draft invoice:
- Select a client
- Optionally filter by date range
- Review the list of uninvoiced billable time entries
- Select the entries to include (or select all)
- Check the Invoice date and Due date, pre-filled from your payment terms, and change them if needed
- Click Create Invoice
Kiaro groups the selected entries by task, calculates hours multiplied by the project’s hourly rate for each group, and creates a draft invoice with line items. Each group shows that sum next to its amount, for example 9.5h × $150.00. The time entries are marked as invoiced so they won’t appear again.
Non-billable time is never charged, but you can still show it to the client. When the date range has non-billable entries, tick Show non-billable entries at no charge and they’re added as $0 lines that note what you’d normally charge. See Invoicing.
Estimated vs. logged hours
Each task has an optional estimated hours field. As you log time, the task’s logged hours updates automatically, and it updates straight away when you edit or delete an entry or save the weekly timesheet. The task detail page shows both values so you can see whether work is on track.
Analyzing your time
Once you’ve logged time, head to Reports to see it analyzed: your effective hourly rate, uninvoiced liability, project health, and (on the Team plan) member utilization, all built from the entries you’ve tracked here.
Searching and filtering
The Time page includes filters for:
- Date range: All Time, Today, This Week, This Month
- Client: Filter entries by client
- Project: Filter entries by project. With a client selected, the list only shows that client’s projects, and switching to another client clears a project that belongs to the previous one.
- Billable: Show only billable or non-billable entries
- Sort: By date or duration
Active filters appear as removable chips above the time list. Click the X on any chip to clear that filter without opening the filter panel. If you apply filters that result in no entries, an empty state explains what happened and how to adjust your search.
Cross-tab sync
The timer syncs across browser tabs automatically. If you start a timer in one tab, other tabs will reflect the running timer immediately. You can’t accidentally run two timers at once.
Export
Export your time entry data from the time tracking list page. Click Export and choose CSV, Excel (.xlsx), or PDF (a formatted timesheet). The export respects the date range, billable, client, and project filters currently applied.