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

> ## 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,i,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</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">Accurately track every hour worked, calculate commissions and overtime, and export clean payroll data to your provider.</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#p1" class="jp" rel="noopener">Track Time </a><a href="/docs/track-time-process-payroll#p2" class="jp" rel="noopener">Process Payroll </a><a href="/docs/track-time-process-payroll#p3" class="jp" rel="noopener">Troubleshoot </a><a href="/docs/track-time-process-payroll#kpi" class="jp" rel="noopener">Measure Impact </a></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><div style="font-size:12px;color:#4B5563;line-height:1.5;margin:0 0 8px">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>.</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;margin:0 0 0;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:8px 0 4px;padding-top:5px;border-top:1px solid #DFE0E1"><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 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 Flexible Timekeeping options in 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;margin:0 0 0;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:8px 0 4px;padding-top:5px;border-top:1px solid #DFE0E1"><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;margin:0 0 0;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), open the <b>Time Clock</b> and click <b>Start</b> for the event; 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:8px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><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 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="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 6px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ 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. ServiceTitan must be the single source of truth for time.</p></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. In the <i>Timesheets</i> section, 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 Payroll Dashboard.</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 1px">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:6px 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;margin:0 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>. 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><!-- 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;margin:0 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>. 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:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/set-up-timesheet-codes" target="_self" translate="no" class="sl" rel="noopener"><u>Set up timesheet codes</u></a><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 Payroll Dashboard. Select the pay period you want to review.</p><p style="margin:0 0 2px"><b>b.</b> Review each employee's hours, overtime, commissions, and adjustments. Flag any discrepancies for correction before approval.</p><p style="margin:0 0 2px"><b>c.</b> Select the employees you want to release and click <b>Send to Employee</b> to release the pay period for employee sign-off.</p><p style="margin:0 0 2px"><b>d.</b> After employees review and approve (technicians approve in the mobile app, office employees in Time Clock), managers click <b>Approve by Manager</b> to finalize.</p></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 6px">Calculate technician commissions</div><div style="font-size:13px;color:#374151;line-height:1.5;margin:0 0 8px">ServiceTitan automatically calculates commissions based on rules you configure. Which workflow applies depends on which engine you're using — <b>Performance Pay</b> or <b>Configurable Payroll</b>.</div><!-- Sub-workflow: Performance Pay --><div style="font-size:11px;font-weight:700;color:#004491;text-transform:uppercase;letter-spacing:0.05em;margin:0 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;margin:0 0 0;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 <i>Sold By</i> sales commission.</p></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;margin:0 0 0;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 <i>take</i> (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">⚠︎ Commissions only populate in payroll reports when the invoice is Posted or Exported. If a technician's pay looks short, check the invoice status first.</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/performance-pay-overview" target="_self" translate="no" class="sl" rel="noopener"><u>Performance Pay overview</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 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>Technicians</b> or <b>Settings</b> &gt; <b>People</b> &gt; <b>Employees</b> for office employees. Click <b>Edit</b> for the technician or employee, then click the <b>Payroll</b> tab.</p><p style="margin:0 0 2px"><b>b.</b> In the <b>Overtime</b> dropdown, select the overtime profile that applies. ServiceTitan provides several default overtime profiles you can use.</p><p style="margin:0 0 2px"><b>c.</b> Click <b>Save Changes</b>. Overtime is recalculated automatically on every timesheet save based on the assigned profile.</p><p style="margin:0 0 2px"><b>d.</b> If your state has specific overtime laws, create custom overtime profiles that you can assign to your hourly employees.</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">⚠︎ You can bulk-update employee payroll settings, including overtime profiles, by going to <b>Settings</b> &gt; <b>People</b> &gt; <b>Payroll</b> &gt; <b>Employee Payroll Settings</b>.</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 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">Set up earnings codes and map 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> Go to <b>Settings</b> &gt; <b>People</b> &gt; <b>Payroll</b>. In the <b>Earnings Codes</b> section, create codes that match your payroll provider's earnings codes — for example, Regular, Overtime, Commission, Bonus.</p><p style="margin:0 0 2px"><b>b.</b> Assign earnings codes to your pay types so that when you export, ServiceTitan pay activities map directly to your provider's codes.</p><p style="margin:0 0 2px"><b>c.</b> For GL mapping, go to <b>Settings</b> &gt; <b>Accounting</b> &gt; <b>Payroll GL Mapping</b>. Map each payroll activity type to the appropriate general ledger account so payroll journal entries post correctly.</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">⚠︎ Burdened labor cost (used in Job Costing) and actual payroll cost (the check) are two different numbers. Job Costing uses the Labor Burden Rate configured in technician payroll profiles — it's a managerial estimate. Payroll is the cash reality. These will almost never match to the penny. This is expected.</p></div></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 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">Export payroll data to your payroll provider</div><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 6px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ Always review and approve the pay period before exporting. Exporting unapproved payroll may result in incorrect payments.</p></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>Reports</b> and search for the <b>Master Pay File</b> report. Run it for the approved pay period.</p><p style="margin:0 0 2px"><b>b.</b> The Master Pay File includes all paid activities: hourly pay, performance pay, and payroll adjustments. The Activity column shows the type of pay earned.</p><p style="margin:0 0 2px"><b>c.</b> Export the report to CSV or Excel. Upload the file to your payroll provider and verify totals match before processing.</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 exporting and reconciling payroll, close the Accounting Period to prevent backdated edits. Go to <b>Accounting</b> &gt; <b>Financials</b> &gt; <b>Accounting Periods</b>. Closing an accounting period is effectively irreversible — it blocks users from adding, editing, or voiding transactions in that closed month.</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:#F1EDFF;border-radius:8px;border-left:4px solid #4F3A9E"><div style="font-size:14px;font-weight:700;color:#4F3A9E">Troubleshoot Payroll Issues</div></div><div style="display:flex;flex-direction:column;gap:6px"><!-- 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:#F1EDFF;color:#4F3A9E;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> From the Payroll Dashboard, look for entries flagged with an overlap warning. Overlaps occur when an employee has two time entries with the same time window.</p><p style="margin:0 0 2px"><b>b.</b> Edit or delete the incorrect entry so the times no longer overlap. Add a note explaining the correction for audit purposes.</p></div></div></div></div><!-- 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:#F1EDFF;color:#4F3A9E;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's <b>Pay Type</b> is set to <b>Both</b> or <b>Performance Pay</b> in their profile by navigating to <b>Settings</b> &gt; <b>People</b> &gt; <b>Technicians</b> &gt; <b>Edit</b> &gt; <b>Payroll</b> tab.</p><p style="margin:0 0 2px"><b>b.</b> If using Configurable Payroll, confirm the technician is assigned to the correct <b>pay profile</b>. Use the <b>Test Profile</b> feature to validate calculations.</p><p style="margin:0 0 2px"><b>c.</b> Verify the invoice in question is <b>Posted</b> or <b>Exported</b> — commissions calculate only on posted job invoices, not open, pending, or non-job invoices.</p><p style="margin:0 0 2px"><b>d.</b> Verify that the relevant Pricebook items have <b>Pays Commission</b> selected.</p><p style="margin:0 0 2px"><b>e.</b> Confirm the pay period dates include the job completion date. Configurable Payroll applies rules to current and future periods — it does not retroactively apply to historical 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 accuracy rate</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">Run timesheet exception reports to identify patterns. Frequent manual edits may signal clock-in/out training gaps or mobile app issues.</div><a href="https://go.servicetitan.com/#/new/reports/all" target="_blank" class="sl" rel="noopener">Reports &gt; All Reports &gt; "Early Clock In" · "Late Clock Out" · "Overtime Alert" ↗</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">Track how long it takes to review and approve each pay period. Use Payroll Sign-off to streamline the approval chain — managers can batch-approve rather than reviewing each technician individually.</div></div><!-- KPI 3: Labor Cost --><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 Cost</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Overtime percentage</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">Monitor overtime hours as a percentage of total hours. Rising overtime may indicate capacity or scheduling issues. Use the Timesheets report to break down regular vs. overtime vs. double overtime intervals.</div><a href="https://go.servicetitan.com/#/new/reports/all" target="_blank" class="sl" rel="noopener">Reports &gt; All Reports &gt; "Timesheets" ↗</a></div><!-- KPI 4: Revenue --><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">Revenue</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Commission-to-revenue ratio</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">Compare commission payouts to total revenue generated using the Master Pay File and Technician Performance reports. A healthy ratio ensures your incentive structure drives profitability.</div><a href="https://go.servicetitan.com/#/new/reports/all" target="_blank" class="sl" rel="noopener">Reports &gt; All Reports &gt; "Master Pay File" · "Technician Performance" ↗</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>
