---
title: "Track Time & Process Payroll"
slug: "track-time-process-payroll-1"
updated: 2026-05-11T17:54:55Z
published: 2026-05-11T17:54:55Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://help.servicetitan.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Track Time & Process Payroll

<editor360-custom-block data-preprocessing="true" data-sanitizationtags="b,svg,polyline,style"><div class="sc" style="max-width:960px;margin:0 auto;padding:0 0 3rem;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#1a1a1a"><!-- HERO --><div style="border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#0d1b35 0%,#162a4a 60%,#0f2040 100%);padding:32px 32px 28px;margin:0 0 16px;border-top:3px solid #3892F3;position:relative;"><div style="position:absolute;top:-60px;right:-60px;width:320px;height:320px;background:radial-gradient(circle,rgba(2,101,220,0.18) 0%,transparent 70%);pointer-events:none;"></div><div style="position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.02) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;border-radius:12px;"></div><div style="position:relative;display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:20px;background:rgba(2,101,220,0.18);border:1px solid rgba(56,146,243,0.4);margin:0 0 16px"><span class="hb">SERVICETITAN · PAYROLL &amp; TIMEKEEPING</span></div><div style="position:relative;font-size:24px;font-weight:800;color:#ffffff;line-height:1.25;margin:0 0 10px;max-width:520px;letter-spacing:-0.01em">Track Time &amp; Process Payroll</div><p style="position:relative;font-size:13.5px;color:#B5DEFF;margin:0;line-height:1.65;max-width:540px;opacity:0.85">Track every hour, automate commissions, and export clean payroll — so your team gets paid accurately and on time.</p></div><!-- JUMP-TO PILLS --><div style="display:flex;align-items:center;gap:8px;margin:0 0 16px;flex-wrap:wrap"><span style="font-size:11px;color:#6A7A85;font-weight:500">Jump to:</span><a href="/docs/track-time-process-payroll-1#p1" class="jp" rel="noopener">Track Time</a><a href="/docs/track-time-process-payroll-1#p2" class="jp" rel="noopener">Process Payroll</a><a href="/docs/track-time-process-payroll-1#p3" class="jp" rel="noopener">Troubleshoot</a><a href="/docs/track-time-process-payroll-1#kpi" class="jp" rel="noopener">Measure Impact</a></div><!-- GLOBAL WARNINGS --><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:0 0 8px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ ServiceTitan supports two timekeeping systems — <b>Legacy Timekeeping</b> and <b>Flexible Timekeeping</b>. They are mutually exclusive, and their setup, troubleshooting, and features differ. Confirm which one your company uses at <b>Settings</b> &gt; <b>People</b> &gt; <b>Payroll</b>. Legacy tracks non-job time with timesheet codes; Flexible replaces codes with timesheet activities, configured differently.</p></div><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:0 0 16px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ 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.</p></div><!-- SECTION 1: TRACK TIME --><div id="p1" style="margin:20px 0 8px;padding:10px 14px;background:#E3FCFF;border-radius:8px;border-left:4px solid #038299"><div style="font-size:14px;font-weight:700;color:#038299">Track Time</div></div><div style="display:flex;flex-direction:column;gap:6px"><!-- Step 1 --><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E3FCFF;color:#038299;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 6px">Clock in and out (field and office)</div><!-- Sub-workflow: Field Mobile App --><div style="font-size:11px;font-weight:700;color:#038299;text-transform:uppercase;letter-spacing:0.05em;margin:8px 0 4px;padding:4px 8px;background:#E3FCFF;border-radius:4px;display:inline-block">Field Mobile App workflow</div><div style="font-size:13px;color:#374151;line-height:1.7;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Open the <b>Field Mobile App</b>. Tap <b>Time</b> or go to your timesheet from the <b>Menu</b>.</p><p style="margin:0 0 2px"><b>b.</b> If your company uses legacy timekeeping, tap <b>Clock In</b> at the start of your shift and <b>Clock Out</b> when finished. Use <b>Start Break</b> and <b>End Break</b> to log break time accurately.</p><p style="margin:0 0 2px"><b>c.</b> If your company uses flexible timekeeping, your time is tracked in one of three ways: <b>manually</b>, <b>automatically</b>, or <b>continuously</b>. Confirm with your office how you should track your time.</p></div><div style="margin:4px 0 8px;padding-top:4px;padding-left:1em"><a href="/v1/docs/use-legacy-timekeeping-to-track-your-work-hours-in-fma" target="_self" translate="no" class="sl" rel="noopener"><u>Use Legacy Timekeeping to track your work hours in the Field Mobile App</u></a><a href="/v1/docs/compare-the-different-ways-to-use-flexible-timekeeping-with-the-servicetitan-field-mobile-app" target="_self" translate="no" class="sl" rel="noopener"><u>Compare the different ways to use Flexible Timekeeping with the Field Mobile App</u></a></div><!-- Sub-workflow: ServiceTitan Mobile (Legacy) --><div style="font-size:11px;font-weight:700;color:#038299;text-transform:uppercase;letter-spacing:0.05em;margin:8px 0 4px;padding:4px 8px;background:#E3FCFF;border-radius:4px;display:inline-block">ServiceTitan Mobile (Legacy) workflow</div><div style="font-size:13px;color:#374151;line-height:1.7;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Open <b>ServiceTitan Mobile</b>.</p><p style="margin:0 0 2px"><b>b.</b> If your company uses legacy timekeeping, tap your <b>profile</b> icon then select <b>Clock In</b> at the start of your shift and <b>Clock Out</b> when finished. Use <b>Start Meal Break</b> and <b>End Meal Break</b> to log break time accurately.</p><p style="margin:0 0 2px"><b>c.</b> If your company tracks time automatically, tapping <b>Dispatch</b>, <b>Arrive</b>, and <b>Close Out</b> actions creates and ends timesheets.</p></div><div style="margin:4px 0 8px;padding-top:4px;padding-left:1em"><a href="/v1/docs/clock-io-servicetitan-mobile" target="_self" translate="no" class="sl" rel="noopener"><u>Clock in and out in ServiceTitan Mobile</u></a><a href="/v1/docs/track-your-time-in-servicetitan-mobile" target="_self" translate="no" class="sl" rel="noopener"><u>Track your time in ServiceTitan Mobile</u></a></div><!-- Sub-workflow: Office --><div style="font-size:11px;font-weight:700;color:#038299;text-transform:uppercase;letter-spacing:0.05em;margin:8px 0 4px;padding:4px 8px;background:#E3FCFF;border-radius:4px;display:inline-block">Office workflow</div><div style="font-size:13px;color:#374151;line-height:1.7;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> If your company uses <b>legacy timekeeping</b>, click your <b>Profile</b> icon in the top toolbar and select <b>Time Clock</b>, then click <b>Clock In</b>. Click <b>Clock Out</b> 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 <b>Time Clock</b> and click <b>Start</b>; click <b>End</b> when it's done.</p><p style="margin:0 0 2px"><b>b.</b> If your company uses <b>flexible timekeeping</b>, click your <b>Profile</b> icon and select <b>Time Clock</b>. Locate the activity you want to clock into and click <b>Clock In</b>. To move from one activity to another without clocking out first, click <b>Switch Activity</b>. At the end of your shift, click <b>Clock Out</b>.</p><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ 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.</p></div></div><div style="margin:4px 0 0;padding-top:4px;border-top:1px solid #DFE0E1;padding-left:0"><a href="/v1/docs/clock-in-and-out-from-the-office" target="_self" translate="no" class="sl" rel="noopener"><u>Clock in and out from the office</u></a><a href="/v1/docs/use-the-time-clock-with-flexible-timekeeping" target="_self" translate="no" class="sl" rel="noopener"><u>Use the Time Clock to track your time with Flexible Timekeeping</u></a></div></div></div></div><!-- Step 2 --><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E3FCFF;color:#038299;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Edit a timesheet entry</div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> To edit <b>job timesheets</b>, open the job record, go to the <b>Timesheets</b> section, and click <b>View Timesheets</b> to edit hours associated with that job.</p><p style="margin:0 0 2px"><b>b.</b> To edit <b>non-job timesheets</b>, go to <b>Dispatch</b>, click the technician whose timesheet you want to edit, and select <b>Edit Timesheets</b>. Use the date range and employee or technician filters to find the entry.</p><p style="margin:0 0 2px"><b>c.</b> To edit <b>office timesheets</b>, click your <b>Profile</b> icon, and click <b>Payroll</b> to open the <b>Payroll Dashboard</b>.</p><p style="margin:0 0 2px"><b>d.</b> Update the clock-in time, clock-out time, or activity code as needed. Add a note explaining the reason for the change, then click <b>Save</b>.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/access-timesheets" target="_self" translate="no" class="sl" rel="noopener"><u>Access timesheets</u></a><a href="/v1/docs/edit-technician-timesheets" target="_self" translate="no" class="sl" rel="noopener"><u>Edit technician timesheets</u></a></div></div></div></div><!-- Step 3 --><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E3FCFF;color:#038299;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 6px">Set up and manage timesheet codes (Legacy) or timesheet activities (Flexible)</div><!-- Sub-workflow: Legacy --><div style="font-size:11px;font-weight:700;color:#038299;text-transform:uppercase;letter-spacing:0.05em;margin:8px 0 4px;padding:4px 8px;background:#E3FCFF;border-radius:4px;display:inline-block">Legacy Timekeeping workflow</div><div style="font-size:13px;color:#374151;line-height:1.7;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Go to <b>Settings</b> &gt; <b>People</b> &gt; <b>Payroll</b>. In the <b>Timesheet Codes</b> section, click <b>Edit</b>. On the Non-job Event Codes screen, click <b>Add a Non-job Event Code</b>.</p><p style="margin:0 0 2px"><b>b.</b> Enter the code to identify the event, an optional description, and select who it applies to: Technicians or Office Employees. Set the <b>Type</b>: Unpaid, Paid, or Paid Time Off. For Paid types, choose whether to pay the profile hourly rate or a custom hourly rate.</p><p style="margin:0 0 2px"><b>c.</b> 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.</p><p style="margin:0 0 2px"><b>d.</b> Click <b>Save</b>. Repeat for each non-job event type your team uses — for example, Drive Time, Training, Parts Run, PTO, On Call.</p></div><div style="margin:4px 0 8px;padding-top:4px;padding-left:1em"><a href="/v1/docs/set-up-timesheet-codes" target="_self" translate="no" class="sl" rel="noopener"><u>Set up timesheet codes</u></a></div><!-- Sub-workflow: Flexible --><div style="font-size:11px;font-weight:700;color:#038299;text-transform:uppercase;letter-spacing:0.05em;margin:8px 0 4px;padding:4px 8px;background:#E3FCFF;border-radius:4px;display:inline-block">Flexible Timekeeping workflow</div><div style="font-size:13px;color:#374151;line-height:1.7;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Go to <b>Settings</b> &gt; <b>People</b> &gt; <b>Payroll</b>. Click <b>Edit</b> next to <b>Timesheet Activities</b>, then click <b>Create Timesheet Activity</b>.</p><p style="margin:0 0 2px"><b>b.</b> In General Settings, select a <b>Timesheet Category</b>, enter a <b>Timesheet Activity Code</b>, choose an icon, add an optional description, and set the <b>Business Unit</b> behavior for reporting.</p><p style="margin:0 0 2px"><b>c.</b> 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.</p><p style="margin:0 0 2px"><b>d.</b> In Pay, select whether the activity pays the base rate, is unpaid, or uses a custom pay rule with earnings codes. Click <b>Save Timesheet Activity</b>.</p></div><div style="margin:4px 0 0;padding-top:4px;border-top:1px solid #DFE0E1;padding-left:0"><a href="/v1/docs/create-timesheet-activities" target="_self" translate="no" class="sl" rel="noopener"><u>Create timesheet activities</u></a></div></div></div></div></div><!-- end section 1 --><!-- SECTION 2: PROCESS PAYROLL --><div id="p2" style="margin:20px 0 8px;padding:10px 14px;background:#E0F2FF;border-radius:8px;border-left:4px solid #004491"><div style="font-size:14px;font-weight:700;color:#004491">Process Payroll</div></div><div style="display:flex;flex-direction:column;gap:6px"><!-- Step 4 --><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E0F2FF;color:#004491;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Review and approve payroll</div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Go to the top toolbar, click your <b>Profile</b> icon, and click <b>Payroll</b> to open the <b>Payroll Dashboard</b>. Select the pay period and review each employee's timesheet pay, performance pay, and total hours.</p><p style="margin:0 0 2px"><b>b.</b> Select the employees you want to release and click <b>Send to Employee</b> to release the pay period for employee sign-off. After employees approve (or disputes are resolved), click <b>Approve</b> to finalize the pay period.</p><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ 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.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/review-payroll" target="_self" translate="no" class="sl" rel="noopener"><u>Review payroll</u></a><a href="/v1/docs/release-payroll-for-employee-sign-off" target="_self" translate="no" class="sl" rel="noopener"><u>Release payroll for employee sign-off</u></a><a href="/v1/docs/approve-payroll-for-processing" target="_self" translate="no" class="sl" rel="noopener"><u>Approve payroll for processing</u></a><a href="/v1/docs/resolve-payroll-disputes" target="_self" translate="no" class="sl" rel="noopener"><u>Resolve payroll disputes</u></a></div></div></div></div><!-- Step 5 --><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E0F2FF;color:#004491;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Calculate technician commissions</div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> 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 <b>Performance Pay</b>.</p><p style="margin:0 0 2px"><b>b.</b> To adjust, click the technician's name and review individual job-level commission calculations. Add payroll adjustments if corrections are needed.</p><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ 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.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/configurable-payroll-overview" target="_self" translate="no" class="sl" rel="noopener"><u>Configurable Payroll overview</u></a><a href="/v1/docs/create-payroll-adjustments" target="_self" translate="no" class="sl" rel="noopener"><u>Create payroll adjustments</u></a></div></div></div></div><!-- Step 6 --><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E0F2FF;color:#004491;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 6px">Set up commission and bonus rules</div><!-- Sub-workflow: Performance Pay --><div style="font-size:11px;font-weight:700;color:#004491;text-transform:uppercase;letter-spacing:0.05em;margin:8px 0 4px;padding:4px 8px;background:#E0F2FF;border-radius:4px;display:inline-block">Performance Pay workflow</div><div style="font-size:13px;color:#374151;line-height:1.7;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Commission is driven by the <b>Sold By</b> technician on the invoice, the <b>Pays Commission</b> flag on each invoice item, and per-technician percentages set in <b>Settings</b> &gt; <b>Payroll</b>.</p><p style="margin:0 0 2px"><b>b.</b> For multi-technician jobs, set <b>Technician Splits</b> on the invoice. Splits drive the Performance Bonus only — they do not override the <b>Sold By</b> sales commission.</p></div><div style="margin:4px 0 8px;padding-top:4px;padding-left:1em"><a href="/v1/docs/performance-pay-overview" target="_self" translate="no" class="sl" rel="noopener"><u>Performance Pay overview</u></a></div><!-- Sub-workflow: Configurable Payroll --><div style="font-size:11px;font-weight:700;color:#004491;text-transform:uppercase;letter-spacing:0.05em;margin:8px 0 4px;padding:4px 8px;background:#E0F2FF;border-radius:4px;display:inline-block">Configurable Payroll workflow</div><div style="font-size:13px;color:#374151;line-height:1.7;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Pay rules live in <b>Pay Profiles</b> under <b>Settings</b> &gt; <b>Payroll</b> &gt; <b>Configurable Payroll</b>. Each rule applies a <em>take</em> (percentage or amount) against a defined revenue base, optionally filtered by job filters and weighted by multipliers.</p><p style="margin:0 0 2px"><b>b.</b> Run the <b>Master Pay File</b> report to review calculated commissions for each technician for the pay period. Go to <b>Reports</b> and search for the Master Pay File.</p><p style="margin:0 0 2px"><b>c.</b> Adjust individual commission amounts if needed by creating a <b>Payroll Adjustment</b>, add a note for the override, then click <b>Save</b>.</p><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ 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.</p></div></div><div style="margin:4px 0 0;padding-top:4px;border-top:1px solid #DFE0E1;padding-left:0"><a href="/v1/docs/configurable-payroll-overview" target="_self" translate="no" class="sl" rel="noopener"><u>Configurable Payroll overview</u></a></div></div></div></div><!-- Step 7 --><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E0F2FF;color:#004491;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Configure overtime rules</div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Go to <b>Settings</b> &gt; <b>People</b> &gt; <b>Payroll</b>. Under <b>Global Payroll Settings</b>, click <b>Edit</b> next to <b>Overtime Settings</b>. 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.</p><p style="margin:0 0 2px"><b>b.</b> Assign the overtime profile to each employee: go to <b>Settings</b> &gt; <b>People</b> &gt; <b>Technicians</b> (or <b>Employees</b> for office staff), click <b>Edit</b>, then the <b>Payroll</b> tab. Select the profile from the <b>Overtime</b> dropdown in the Hourly Pay section.</p><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ 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.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/enter-payroll-settings" target="_self" translate="no" class="sl" rel="noopener"><u>Enter payroll settings</u></a><a href="/v1/docs/manage-overtime-settings" target="_self" translate="no" class="sl" rel="noopener"><u>Manage overtime settings</u></a><a href="/v1/docs/create-custom-overtime-profiles" target="_self" translate="no" class="sl" rel="noopener"><u>Create custom overtime profiles</u></a><a href="/v1/docs/manage-employee-payroll-settings" target="_self" translate="no" class="sl" rel="noopener"><u>Manage employee payroll settings</u></a></div></div></div></div><!-- Step 8 --><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E0F2FF;color:#004491;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Map payroll codes to your general ledger</div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Go to <b>Settings</b> &gt; <b>People</b> &gt; <b>Payroll</b>. Under the <b>Earnings Codes</b> tab, create earnings codes that match your payroll provider's codes — for example, REG for regular, OT for overtime, COMM for commission.</p><p style="margin:0 0 2px"><b>b.</b> Assign each earnings code to the corresponding pay types. Earnings codes can be assigned to <b>Business Units</b>, <b>Timesheet Codes</b> (Legacy Timekeeping) or <b>Timesheet Activities</b> (Flexible Timekeeping), and <b>Payroll Adjustments</b>.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/create-and-edit-earnings-codes" target="_self" translate="no" class="sl" rel="noopener"><u>Create and edit earnings codes</u></a><a href="/v1/docs/assign-earnings-codes" target="_self" translate="no" class="sl" rel="noopener"><u>Assign earnings codes</u></a></div></div></div></div><!-- Step 9 --><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E0F2FF;color:#004491;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Export payroll data to your payroll provider</div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> After approving payroll, go to <b>Reports</b> &gt; <b>All Reports</b> and search for the <b>Master Pay File</b>. Run the report for the pay period. Filter by business unit if you process payroll separately.</p><p style="margin:0 0 2px"><b>b.</b> Export the report as CSV or Excel and import it into your payroll provider.</p><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ 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.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/master-pay-file-built-in-report" target="_self" translate="no" class="sl" rel="noopener"><u>Master Pay File built-in report</u></a><a href="/v1/docs/finalize-payroll" target="_self" translate="no" class="sl" rel="noopener"><u>Finalize payroll and export to your payroll provider</u></a></div></div></div></div></div><!-- end section 2 --><!-- SECTION 3: TROUBLESHOOT --><div id="p3" style="margin:20px 0 8px;padding:10px 14px;background:#FEF3E2;border-radius:8px;border-left:4px solid #8B5E0F"><div style="font-size:14px;font-weight:700;color:#8B5E0F">Troubleshoot Payroll Issues</div></div><div style="display:flex;flex-direction:column;gap:6px"><!-- Step 10 --><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#FEF3E2;color:#8B5E0F;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Troubleshoot: Overlapping timesheet entries</div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Go to the <b>Payroll Dashboard</b> and look for employees flagged with timesheet warnings. Overlapping entries occur when a technician clocks into a new activity without ending the previous one.</p><p style="margin:0 0 2px"><b>b.</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.</p></div></div></div></div><!-- Step 11 --><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#FEF3E2;color:#8B5E0F;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Troubleshoot: Commissions not calculating</div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Verify the technician has an active pay profile assigned: go to <b>Settings</b> &gt; <b>People</b> &gt; <b>Technicians</b> &gt; click <b>Edit</b> &gt; <b>Payroll</b> tab. Check that the Pay Type is set to <b>Both</b> or <b>Performance Pay</b> (Commission).</p><p style="margin:0 0 2px"><b>b.</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.</p><p style="margin:0 0 2px"><b>c.</b> Confirm the job is completed and the invoice is <b>Posted</b> or <b>Exported</b>.</p><p style="margin:0 0 2px"><b>d.</b> If using Configurable Payroll, verify the pay profile is not still <em>In Progress</em>. Use the <b>Test Profile</b> feature to preview calculations against real data.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/configurable-payroll-overview" target="_self" translate="no" class="sl" rel="noopener"><u>Configurable Payroll overview</u></a></div></div></div></div></div><!-- end section 3 --><!-- KPI GRID --><div id="kpi" style="margin:24px 0 12px"><div style="display:flex;align-items:center;gap:8px;margin:0 0 12px"><svg width="15" height="15" viewbox="0 0 24 24" fill="none" stroke="#004491" stroke-width="2.5"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline></svg><div style="font-size:13px;font-weight:700;color:#004491;text-transform:uppercase;letter-spacing:0.06em">Measure the impact</div></div><div style="display:grid;grid-template-columns:1fr 1fr;gap:8px"><!-- KPI 1: Accuracy --><div style="padding:14px 16px;border-radius:10px;background:#fff;border:1px solid #DFE0E1;border-top:3px solid #0265DC;"><div style="font-size:11px;font-weight:700;color:#0265DC;text-transform:uppercase;letter-spacing:0.06em;margin:0 0 6px">Accuracy</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Timesheet dispute rate</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">Fewer disputes mean your timekeeping setup is accurate and employees trust the system.</div><a href="https://go.servicetitan.com/#/new/payroll" target="_blank" class="sl" rel="noopener">Payroll (left sidebar) &gt; Payroll Dashboard &gt; select pay period &gt; review dispute count per employee ↗</a></div><!-- KPI 2: Efficiency --><div style="padding:14px 16px;border-radius:10px;background:#fff;border:1px solid #DFE0E1;border-top:3px solid #0265DC;"><div style="font-size:11px;font-weight:700;color:#0265DC;text-transform:uppercase;letter-spacing:0.06em;margin:0 0 6px">Efficiency</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Payroll processing time</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">Faster processing means fewer late-pay issues and happier employees. Track days from pay period close to export — no single built-in report measures this.</div></div><!-- KPI 3: Labor --><div style="padding:14px 16px;border-radius:10px;background:#fff;border:1px solid #DFE0E1;border-top:3px solid #0265DC;"><div style="font-size:11px;font-weight:700;color:#0265DC;text-transform:uppercase;letter-spacing:0.06em;margin:0 0 6px">Labor</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Overtime hours per pay period</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">Excessive overtime signals scheduling or staffing gaps.</div><a href="https://go.servicetitan.com/#/new/reports/all" target="_blank" class="sl" rel="noopener">Reports &gt; All Reports &gt; search "Overtime Alert" ↗</a></div><!-- KPI 4: Productivity --><div style="padding:14px 16px;border-radius:10px;background:#fff;border:1px solid #DFE0E1;border-top:3px solid #0265DC;"><div style="font-size:11px;font-weight:700;color:#0265DC;text-transform:uppercase;letter-spacing:0.06em;margin:0 0 6px">Productivity</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Idle time percentage</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">High idle time means technicians are waiting between jobs — optimize dispatch.</div><a href="https://go.servicetitan.com/#/new/reports/all" target="_blank" class="sl" rel="noopener">Reports &gt; All Reports &gt; search "Excessive Idle Time" ↗</a></div></div></div><style> .sc { counter-reset: step } .sn { counter-increment: step } .sn::before { content: counter(step) } .hb { font-size: 10.5px; font-weight: 700; color: #78BBFA; letter-spacing: 0.08em } .jp { font-size: 11.5px; font-weight: 600; color: #374151; text-decoration: none; padding: 5px 13px; background: #fff; border: 1px solid #D0D8DD; border-radius: 20px; transition: all 0.15s } .jp:hover { background: #E0F2FF; border-color: #B5DEFF; color: #004491 } .st { transition: box-shadow 0.15s, border-color 0.15s } .st:hover { border-color: #B5DEFF !important; box-shadow: 0 2px 12px rgba(2, 101, 220, 0.07) } .sl { font-size: 10.5px; color: #0265DC; text-decoration: none; margin-right: 6px } .sl:hover { text-decoration: underline } .sl+.sl::before { content: "· "; color: #D0D8DD } p[data-block-id] { font-size: 1rem; } ul li p[data-block-id] { margin-bottom: 0; } ul[data-type="taskList"] li div p[data-block-id] { margin-bottom: 0; } ol li p[data-block-id] { margin-bottom: 0; } table tbody th p[data-block-id] { margin-bottom: 0; } blockquote p[data-block-id] { margin-bottom: 0 !important; } p[data-block-id]:empty::after { content: "\00A0"; } </style></div></editor360-custom-block>
