⚠︎ ServiceTitan supports two timekeeping systems — Legacy Timekeeping and Flexible Timekeeping. They are mutually exclusive, and their setup, troubleshooting, and features differ. Confirm which one your company uses at Settings > People > Payroll. Legacy tracks non-job time with timesheet codes; Flexible replaces codes with timesheet activities, configured differently.
⚠︎ ServiceTitan must be the single source of truth for time. All timesheet edits must happen in ServiceTitan before exporting to your payroll provider. If you edit hours in an external system but not in ServiceTitan, job costing reports will show incorrect profitability.
a. Open the Field Mobile App. Tap Time or go to your timesheet from the Menu.
b. If your company uses legacy timekeeping, tap Clock In at the start of your shift and Clock Out when finished. Use Start Break and End Break to log break time accurately.
c. If your company uses flexible timekeeping, your time is tracked in one of three ways: manually, automatically, or continuously. Confirm with your office how you should track your time.
a. Open ServiceTitan Mobile.
b. If your company uses legacy timekeeping, tap your profile icon then select Clock In at the start of your shift and Clock Out when finished. Use Start Meal Break and End Meal Break to log break time accurately.
c. If your company tracks time automatically, tapping Dispatch, Arrive, and Close Out actions creates and ends timesheets.
a. If your company uses legacy timekeeping, click your Profile icon in the top toolbar and select Time Clock, then click Clock In. Click Clock Out at the end of your shift. To track a meal break or other non-job event, such as a meeting or training, find the event in the Time Clock and click Start; click End when it's done.
b. If your company uses flexible timekeeping, click your Profile icon and select Time Clock. Locate the activity you want to clock into and click Clock In. To move from one activity to another without clocking out first, click Switch Activity. At the end of your shift, click Clock Out.
⚠︎ Office Timesheets requires account configuration. Contact Technical Support to enable this feature. Employees also need the "View employee time tracking and edit page" permission enabled.
a. To edit job timesheets, open the job record, go to the Timesheets section, and click View Timesheets to edit hours associated with that job.
b. To edit non-job timesheets, go to Dispatch, click the technician whose timesheet you want to edit, and select Edit Timesheets. Use the date range and employee or technician filters to find the entry.
c. To edit office timesheets, click your Profile icon, and click Payroll to open the Payroll Dashboard.
d. Update the clock-in time, clock-out time, or activity code as needed. Add a note explaining the reason for the change, then click Save.
a. Go to Settings > People > Payroll. In the Timesheet Codes section, click Edit. On the Non-job Event Codes screen, click Add a Non-job Event Code.
b. Enter the code to identify the event, an optional description, and select who it applies to: Technicians or Office Employees. Set the Type: Unpaid, Paid, or Paid Time Off. For Paid types, choose whether to pay the profile hourly rate or a custom hourly rate.
c. Select how you want technicians to view and use the timesheet code, and whether to exclude from reports if the technician fails to clock in.
d. Click Save. Repeat for each non-job event type your team uses — for example, Drive Time, Training, Parts Run, PTO, On Call.
a. Go to Settings > People > Payroll. Click Edit next to Timesheet Activities, then click Create Timesheet Activity.
b. In General Settings, select a Timesheet Category, enter a Timesheet Activity Code, choose an icon, add an optional description, and set the Business Unit behavior for reporting.
c. In Visibility, select the roles that can log time against this activity. In Associations, configure whether Job, Project, Project Label, Labor Type, and Budget Code associations are required, allowed, or not allowed.
d. In Pay, select whether the activity pays the base rate, is unpaid, or uses a custom pay rule with earnings codes. Click Save Timesheet Activity.
a. Go to the top toolbar, click your Profile icon, and click Payroll to open the Payroll Dashboard. Select the pay period and review each employee's timesheet pay, performance pay, and total hours.
b. Select the employees you want to release and click Send to Employee to release the pay period for employee sign-off. After employees approve (or disputes are resolved), click Approve to finalize the pay period.
⚠︎ Bonus and commission line items only appear in payroll after the associated invoice is Posted or Exported. If a technician's pay looks short, check invoice status first.
a. Commissions calculate automatically based on pay profiles assigned to each technician (if using Configurable Payroll) or legacy performance pay settings. Review commission amounts on the Payroll Dashboard under Performance Pay.
b. To adjust, click the technician's name and review individual job-level commission calculations. Add payroll adjustments if corrections are needed.
⚠︎ Commissions only process job invoices (not project/AFP invoices, counter sales, or membership billing invoices). If your customer uses AIA-style progress billing, commissions cannot be automated on those invoices — use manual payroll adjustments instead.
a. Commission is driven by the Sold By technician on the invoice, the Pays Commission flag on each invoice item, and per-technician percentages set in Settings > Payroll.
b. For multi-technician jobs, set Technician Splits on the invoice. Splits drive the Performance Bonus only — they do not override the Sold By sales commission.
a. Pay rules live in Pay Profiles under Settings > Payroll > Configurable Payroll. Each rule applies a take (percentage or amount) against a defined revenue base, optionally filtered by job filters and weighted by multipliers.
b. Run the Master Pay File report to review calculated commissions for each technician for the pay period. Go to Reports and search for the Master Pay File.
c. Adjust individual commission amounts if needed by creating a Payroll Adjustment, add a note for the override, then click Save.
⚠︎ Configurable Payroll is for performance pay (commissions and bonuses) only — it does not handle timesheet/hourly pay rules. It is currently only available for technicians, not office employees.
a. Go to Settings > People > Payroll. Under Global Payroll Settings, click Edit next to Overtime Settings. Choose from the default overtime profiles or create a custom overtime profile with your state's rules — daily threshold, weekly threshold, consecutive day rules, and overtime multiplier.
b. Assign the overtime profile to each employee: go to Settings > People > Technicians (or Employees for office staff), click Edit, then the Payroll tab. Select the profile from the Overtime dropdown in the Hourly Pay section.
⚠︎ Custom overtime profiles (Flexible Overtime) require account configuration — contact Technical Support to enable. If overlapping overtime rules exist in a profile, the system pays the higher rate.
a. Go to Settings > People > Payroll. Under the Earnings Codes tab, create earnings codes that match your payroll provider's codes — for example, REG for regular, OT for overtime, COMM for commission.
b. Assign each earnings code to the corresponding pay types. Earnings codes can be assigned to Business Units, Timesheet Codes (Legacy Timekeeping) or Timesheet Activities (Flexible Timekeeping), and Payroll Adjustments.
a. After approving payroll, go to Reports > All Reports and search for the Master Pay File. Run the report for the pay period. Filter by business unit if you process payroll separately.
b. Export the report as CSV or Excel and import it into your payroll provider.
⚠︎ After enabling Configurable Payroll, the legacy Payroll Detail report is no longer available. Use the Master Pay File report instead for payroll processing. Configurable Payroll pay items include the pay rule ID in the Activity column.
a. Go to the Payroll Dashboard and look for employees flagged with timesheet warnings. Overlapping entries occur when a technician clocks into a new activity without ending the previous one.
b. Edit the conflicting timesheets to correct start and end times. For future prevention: if you use Continuous Timekeeping, activities auto-close when dispatch events take place. For Manual or Automatic modes, train technicians to end their current activity before starting a new one.
a. Verify the technician has an active pay profile assigned: go to Settings > People > Technicians > click Edit > Payroll tab. Check that the Pay Type is set to Both or Performance Pay (Commission).
b. Check that the job matches the pay rule's job filters in Configurable Payroll. If the job doesn't match any filter, no commission is generated.
c. Confirm the job is completed and the invoice is Posted or Exported.
d. If using Configurable Payroll, verify the pay profile is not still In Progress. Use the Test Profile feature to preview calculations against real data.