Logging time
Time can be logged two ways: a live timer on the ticket detail page, or the Log Time modal (also reachable from Timesheets).- Timer
- Log Time modal
On a ticket’s detail page, click Start to begin timing your work. The elapsed time is shown live. Click Stop when you’re done, and the Log Time modal opens pre-filled with the real start and end time the timer captured — review and save. Only one timer can run at a time; starting a new one prompts you to stop the one already running elsewhere.
- Log against — a ticket or a project/task. The company is shown read-only, derived from whichever you pick.
- Description — what was done during this time.
- Duration — enter minutes directly, or switch to start/end time and let the modal compute the duration. Quick-add buttons (+15m, +30m, +1h, +2h) speed up common durations.
- Date — defaults to today; see Backdating below.
- Work type — Remote, Onsite, After-hours, Travel, or Internal.
- Billable flag — whether the entry should be invoiced to the client.
Backdating
Time doesn’t have to be logged the same day it happened. Change the Date field in the Log Time modal to log against any prior day — useful for catching up after a busy stretch or correcting a forgotten entry. Backdated entries still respect your organization’s timezone when resolving which week they belong to.Billable vs non-billable
Mark entries as billable when the work should be invoiced to the client. Use non-billable for internal tasks, training, or work covered under a flat-rate agreement. Non-billable time still appears in reports for utilization tracking.Rate resolution
When a billable entry is invoiced, its hourly rate is resolved in this order — the first one that applies wins:- Manual override — an admin can set a specific rate on an entry when reviewing it, overriding everything else below.
- Service agreement rate — the explicit or company-default Service Agreement tied to the entry.
- Organization default rate — a fallback hourly rate configured under Settings → Tickets → Billing.
- $0 — if none of the above apply.
Approval workflow
Time entries move through a submit/approve cycle, with a rejection path that lets a technician correct and resubmit rather than dead-ending:1
Draft
The entry is created. The owner can edit or delete it while it’s in this state.
2
Submitted
The technician submits the entry for review. It becomes read-only for the owner and appears in a manager’s approval queue.
3
Approved / Rejected
A manager or admin (someone other than the owner) either approves the entry, making it eligible for invoicing, or rejects it with a reason. A rejected entry can be edited and resubmitted — it isn’t a dead end.
4
Invoiced
Once attached to a generated invoice, the entry is locked into the billing record and shows a link to that invoice.
Whether approval is required at all is configurable — see Billing settings below. When it’s turned off, submitted time is auto-approved (and audit-logged) at invoice time, which suits a solo shop with no separate approver.
Weekly Timesheets
Timesheets (PSA sidebar, under Finance) shows a Monday–Sunday grid of the tickets and projects you logged time against that week, with week navigation and — for managers — a technician selector to review someone else’s week. Below the grid, each entry has its own actions depending on status: Edit and Submit (draft or rejected entries), Delete, and, for managers, Approve or Reject with a reason. The week itself has an envelope status of its own:- Submit week — submits every draft or rejected entry in the week at once.
- Approve week — available to managers once every entry in the week is submitted; approves them all together. Blocked if any entry in the week is still a draft or rejected, so a week can’t end up approved while part of it is still unresolved.
- Reject week — sends every submitted entry in the week back to rejected with a shared reason.
Billing review (“Ready to Bill”)
Ready to Bill (PSA sidebar, under Finance) is where approved, unbilled billable time turns into invoices. It groups outstanding time by company and Service Agreement — a company’s time with no agreement attached gets its own group — so you can see exactly what’s ready to invoice before you generate anything. Click Create invoice on any group to jump into the invoice generation flow, pre-filled with that company, agreement, and time period.Ticket billed notation and auto-close
When an invoice is generated from time entries, each affected ticket gets a system reply noting what was billed (e.g. “Time billed on invoice INV-2026-0042 ($240.00).”), and its unbilled-time total is updated. If a ticket is Resolved and every bit of its billable time has now been billed, it automatically closes — provided Auto-close tickets when billed is turned on (it is by default). This closure doesn’t notify the customer; it’s treated as an internal, administrative step rather than a customer-facing status change.Billing settings
Under Settings → Tickets → Billing:- Auto-close tickets when billed — default on. When an invoice covers all of a Resolved ticket’s time, close it automatically.
- Require approval before billing — default on. Only approved time can be invoiced. Turn this off for a solo shop with no separate approver; submitted time is then auto-approved (and audit-logged) at invoice time.
- Default hourly rate — applied when a time entry has no service agreement rate to inherit. Leave blank for $0.