Overview
Time tracking in PSA lets technicians log billable and non-billable hours directly against tickets or clients. Time entries feed into billing runs to generate invoices automatically. Every minute logged is accounted for without manual spreadsheet work.
Logging Time on a Ticket
- Open the ticket.
- Click the Time tab or the Log Time button.
- Enter a start time and end time, or enter the duration in minutes directly.
- Add a description of what you worked on.
- Confirm the billing rate (the default comes from the billing code if one is set, or from your org's default rate).
- Check the Billable box if this time should be charged to the client. Uncheck it for internal work, warranty work, or anything you are not billing for.
- Click Save.
The entry is attached to both the ticket and the company. It appears in the next billing run for that client's contract.
Timer vs. Manual Entry
Manual entry is the most common method. You fill in start/end times or a duration after you finish working.
You can also track time live with a timer on the ticket, and review everything you logged for the week on the Timesheet view (grouped by day, with total and billable minutes). If your org requires sign-off, managers, admins, and owners can approve or reject submitted timesheets before the time is billed.
Time Categories and AI Human Hours
Every ticket time entry carries a category — Human, Human + AI, or THEO AI — so PSA can separate human effort from THEO-assisted and THEO-autonomous work. This powers the 4-area time panel on each ticket and the derived AI Human Hours ROI metric. See AI Human Hours and the 4-Area Time Panel for the full breakdown.
Billable vs. Non-Billable
Every time entry has a Billable flag:
- Billable — the entry is included in the next billing run and appears on the client's invoice.
- Non-billable — the entry is recorded for internal reporting but is excluded from invoices.
You can change the billable flag on an entry any time before it is included in a billing run. Once an entry is billed (attached to an invoice), it is locked.
Billing Codes
Billing codes organize the types of work you perform (Remote Support, On-Site, After-Hours, Project Work) and carry a default hourly rate. When you log time, selecting a billing code populates the rate automatically. Billing codes are managed under Settings > Billing Codes.
Viewing Unbilled Time
All unbilled billable time entries for a company are swept up by the next billing run. To see what is pending:
- Open a company record and check the time entries tab.
- Or run a billing run preview — it shows all unbilled entries per contract before you commit.
Time Approval Workflow
By default, a saved time entry is available for billing immediately. If your org enables timesheet approval, submitted timesheets go to a manager, admin, or owner for approve / reject before the time is eligible to bill. You can also use the manual billing-run preview step to review entries before committing a run.
Frequently Asked Questions
Can I log time without a ticket?
Yes. Go to Time Entries in the main navigation, click New Entry, and select a company without linking to a specific ticket.
What happens to unbilled time entries if a contract ends?
The entries remain and can still be included in a billing run. Check for and clear unbilled time before marking a contract inactive.
Can I edit a time entry after it has been billed?
No. Once a time entry is linked to an invoice it is locked. If there is an error, void the invoice, correct the entry, and reissue.
Does PSA track time spent in each ticket status?
The ticket's activity log records status change timestamps, but this is separate from logged time entries. Time entries reflect only what the technician manually records.