---
title: "Close Your Books"
slug: "close-your-books-3"
updated: 2026-05-18T23:49:25Z
published: 2026-05-18T23:49:25Z
---

> ## 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.

# Close Your Books

<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"><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 · ACCOUNTING &amp; FINANCE</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">Close Your Books</div><p style="position:relative;font-size:13.5px;color:#B5DEFF;margin:0;line-height:1.65;max-width:540px;opacity:0.85">Run the financial reports you need to close the books with confidence. Verify revenue, reconcile balances, and deliver accurate financials on time.</p></div><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/close-your-books-3#p1" class="jp" rel="noopener">Confirm All Transactions Are Posted &amp; Exported </a><a href="/docs/close-your-books-3#p2" class="jp" rel="noopener">Reconcile Project Financials </a><a href="/docs/close-your-books-3#p3" class="jp" rel="noopener">Run Financial Reports </a><a href="/docs/close-your-books-3#p4" class="jp" rel="noopener">Lock the Period &amp; Automate </a><a href="/docs/close-your-books-3#p5" class="jp" rel="noopener">Troubleshoot Report Issues </a><a href="/docs/close-your-books-3#kpi" class="jp" rel="noopener">Measure Impact </a></div><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">Confirm All Transactions Are Posted &amp; Exported</div></div><div style="display:flex;flex-direction:column;gap:6px"><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">Verify all invoices and payments are posted and exported</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>Accounting</b> &gt; <b>Batch/Export Transactions</b>. Filter for the closing period.</p><p style="margin:0 0 2px"><b>b.</b> Confirm there are no invoices or payments still in <b>Pending</b> status for the period. For commercial projects, this includes both job invoices (from individual site visits) and project invoices (progress billing / AFP invoices). Both must be posted and exported.</p><p style="margin:0 0 2px"><b>c.</b> If any items remain in Pending or Posted status, batch, post, and export them before proceeding.</p><p style="margin:0 0 2px"><b>d.</b> Check for export errors at <b>Accounting</b> &gt; <b>GL Errors</b>. Records that failed to sync will show "Error" status even if the batch shows "Exported." Resolve any errors before continuing.</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">⚠︎ "Exported" does not mean successfully synced. If your accounting system rejected a record, the individual record's sync status may show "Error" even though the batch shows "Exported." Always check per-record sync status.</p></div><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">⚠︎ Project invoices (progress billing / AFP) are non-job invoices — they have no Sold By field, no technician assignment, and no tech splits. Automated commissions do not process on project invoices. If your team expects commission on project revenue, that must be handled manually via reporting.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/batch-post-and-export-transactions" target="_self" translate="no" class="sl" rel="noopener"><u>Batch, post, and export transactions</u></a><a href="/v1/docs/export-error-report-guide" target="_self" translate="no" class="sl" rel="noopener"><u>Export Error Report Guide</u></a></div></div></div></div></div><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">Reconcile Project Financials</div></div><div style="display:flex;flex-direction:column;gap:6px"><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">Reconcile work in progress (WIP)</div><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">⚠︎ For commercial projects, the WIP report is the most critical financial tool at month-end. It prevents the existential risk of overbilling (a liability — you have borrowed from the project) or underbilling (an asset drain — you are financing the client). The Controller must reconcile WIP before closing.</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> &gt; <b>All Reports</b> and search for <b>Work in Progress</b>. Set the <b>As Of Date</b> to the last day of the period you are closing.</p><p style="margin:0 0 2px"><b>b.</b> For each active project, review the overbilling/underbilling position. The WIP formula is: Earned Revenue = (Total Actual Costs / Total Estimated Costs) × Contract Value. If Billed exceeds Earned, you are overbilled (liability). If Earned exceeds Billed, you are underbilled (asset).</p><p style="margin:0 0 2px"><b>c.</b> For projects using Stored Materials billing, verify that stored materials are included in the "Completed &amp; Stored to Date" column. Stored materials inflate the completed column — ensure the amounts reflect materials actually on site.</p><p style="margin:0 0 2px"><b>d.</b> Journal off any material overbilling or underbilling variances in your accounting system before closing.</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">⚠︎ Job Costing must be enabled for the WIP report to populate. Ensure the Project Start Date is filled in on all projects — without a start date, projects may be excluded from the WIP report entirely. For project-level aggregation, the report uses the Project cost type, which does not include procurement costs to avoid double-counting materials ordered on a different job within the same project.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/run-job-costing-reports" target="_self" translate="no" class="sl" rel="noopener"><u>Job costing reports</u></a><a href="/v1/docs/job-costing-summary-report" target="_self" translate="no" class="sl" rel="noopener"><u>Job Costing Summary report</u></a><a href="/v1/docs/work-in-progress-wip-active-projects-report" target="_self" translate="no" class="sl" rel="noopener"><u>Work in Progress (WIP) Active Projects report</u></a></div></div></div></div><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">Verify revenue recognition on all active projects</div><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">⚠︎ ServiceTitan uses percentage of completion for project revenue recognition. Revenue is recognized proportional to the completion percentage — if PMs have not updated this field, recognized revenue will be understated for the period.</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> Verify that the <b>Completion Percent</b> has been updated for every active project for the period. Revenue is only recognized proportional to the completion percentage — if PMs have not updated this field, recognized revenue will be understated.</p><p style="margin:0 0 2px"><b>b.</b> Review the project's <b>Budget vs. Actual</b> data to confirm that recognized revenue aligns with actual costs incurred and the contract value.</p><p style="margin:0 0 2px"><b>c.</b> Verify that all invoiced revenue for the period is posted and exported. Any unposted invoices mean missing revenue in the 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">⚠︎ Do not mix Core and Phased project modes. Using Core project logic on a Phased (progress billing) project causes double-booked revenue — once on Job Completion and again on the Pay Application. This is the most dangerous revenue recognition error for commercial contractors.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/work-in-progress-wip-active-projects-report" target="_self" translate="no" class="sl" rel="noopener"><u>Work in Progress (WIP) Active Projects report</u></a></div></div></div></div><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">Reconcile retainage</div><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">⚠︎ Retainage is a deferred receivable — not standard AR. It must be tracked in a dedicated Retainage Receivable asset account on your balance sheet, not in general Accounts Receivable. Failing to segregate retainage overstates your collectible AR and creates audit risk.</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> For each active project with retainage enabled, verify that the <b>Retainage Receivable</b> balance matches the expected held amount (retainage % × total billed to date, minus any retainage already released).</p><p style="margin:0 0 2px"><b>b.</b> If retainage was released during the period (e.g., upon substantial completion), verify that the release posted correctly: Debit: Accounts Receivable; Credit: Retainage Receivable. The released amount should now appear in standard AR aging.</p><p style="margin:0 0 2px"><b>c.</b> In your accounting system, verify the <b>Retainage Receivable</b> account balance against the sum of all held retainage across active projects. These should match.</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">⚠︎ The retainage label must be configured in Project Settings for retainage to track properly in GL reporting. If the label is not set, retainage amounts may not post to the correct GL account. Retainage must be enabled on the project before the first bill — enabling it mid-project does not retroactively apply to prior pay applications.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/work-in-progress-wip-active-projects-report" target="_self" translate="no" class="sl" rel="noopener"><u>Work in Progress (WIP) Active Projects report</u></a></div></div></div></div><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 Budget vs. Actual and committed costs</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> For each active project, open the project record and review the <b>Budget vs. Actual (BvA)</b> table. Compare total budgeted costs, actual costs, and committed costs (POs issued but not yet billed).</p><p style="margin:0 0 2px"><b>b.</b> Verify that all POs received during the period have been billed — these should have moved from the <b>Committed</b> column to the <b>Actual</b> column. POs that remain in Committed but were received represent unbilled vendor invoices that will understate your expenses.</p><p style="margin:0 0 2px"><b>c.</b> Review committed costs remaining to confirm they represent genuine future obligations, not forgotten or canceled POs that should be closed out.</p><p style="margin:0 0 2px"><b>d.</b> Drill into any Actual cost variances by clicking on the amount to see the specific labor hours or material receipts driving the cost. Investigate any unexpected variances before closing.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/work-in-progress-wip-active-projects-report" target="_self" translate="no" class="sl" rel="noopener"><u>Work in Progress (WIP) Active Projects report</u></a><a href="/v1/docs/understand-budget-vs-actual" target="_self" translate="no" class="sl" rel="noopener"><u>Understand Budget vs Actual</u></a></div></div></div></div><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">Verify change order financial impact</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> Review all change orders approved during the period. Confirm that each approved CO has updated the project's <b>Total Budget</b> and <b>Contract Value</b>.</p><p style="margin:0 0 2px"><b>b.</b> Verify that approved change order work performed during the period has been invoiced via the next progress billing cycle. Approved COs that have not been billed represent earned revenue that is missing from the period.</p><p style="margin:0 0 2px"><b>c.</b> Check for any change orders still in <b>Pending</b> status with labor already booked against them. Labor on a Pending CO cost code is "at-risk work" — it will appear in Job Costing but the associated revenue cannot be billed until the CO is approved.</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">⚠︎ Change orders in ServiceTitan are not a separate entity type — they are Estimates linked to the project with a change order flag. Their status follows the Estimate lifecycle (Open, Sold, Dismissed). An approved change order with work performed but not billed creates a gap between costs incurred and revenue recognized.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/use-change-orders-to-reflect-cost-adjustments" target="_self" translate="no" class="sl" rel="noopener"><u>Use change orders to reflect cost adjustments</u></a><a href="/v1/docs/project-operations-change-order-requests-cors-report-template" target="_self" translate="no" class="sl" rel="noopener"><u>Project Operations: Change Order Requests (CORs) report template</u></a></div></div></div></div></div><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">Run Financial Reports</div></div><div style="display:flex;flex-direction:column;gap:6px"><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">Review the Accounting Detail report</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> &gt; <b>Legacy Reports</b> and search for <b>Accounting Detail</b>. Set the date range to the period you are closing. Filter by Business Unit as needed.</p><p style="margin:0 0 2px"><b>b.</b> Review cash receipts, income by GL account, and net change in A/R. For commercial projects, verify that progress billing revenue, retainage entries, and standard job invoice revenue are each posting to the correct GL accounts.</p><p style="margin:0 0 2px"><b>c.</b> Compare these totals against the prior period to identify significant variances before reconciling in your accounting software.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/accounting-detail-report" target="_self" translate="no" class="sl" rel="noopener"><u>Accounting Detail Legacy Report</u></a></div></div></div></div><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">Verify GL account mapping</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> &gt; <b>All Reports</b> and open the <b>Invoice Items</b> report template. Filter by <b>GL Account Type</b> to confirm revenue and cost items are posting to the correct GL accounts.</p><p style="margin:0 0 2px"><b>b.</b> For commercial projects, verify three critical GL mappings: (1) Revenue items are posting to the correct income GL accounts by Business Unit; (2) Cost of Goods Sold items are properly mapped for inventory and material items; (3) Retainage is posting to a dedicated Retainage Receivable asset account, not general Accounts Receivable.</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">⚠︎ Fixing GL mappings in the Pricebook only corrects future exports. Already-exported transactions are not retroactively corrected — those require adjustment invoices or manual corrections in the accounting software.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/resolve-gl-account-discrepancies-in-job-costing-reports" target="_self" translate="no" class="sl" rel="noopener"><u>How to Resolve GL Account Discrepancies in Job Costing reports</u></a></div></div></div></div><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">Run your income statement (in accounting software)</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> In your accounting software, run the <b>Income Statement (Profit &amp; Loss)</b> report for the closing period. Select the relevant Class/Department (which maps to your ServiceTitan Business Units).</p><p style="margin:0 0 2px"><b>b.</b> Review total revenue, cost of goods sold, and net income for accuracy. For commercial contractors, compare the income statement against the WIP report — revenue recognized on the P&amp;L should align with earned revenue calculated by the WIP formula.</p><p style="margin:0 0 2px"><b>c.</b> To cross-reference against ServiceTitan data, go to <b>Reports</b> &gt; <b>Legacy Reports</b> and search for <b>Accounting Detail</b>.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/accounting-detail-report" target="_self" translate="no" class="sl" rel="noopener"><u>Accounting Detail Legacy Report</u></a><a href="/v1/docs/best-practice-on-closing-the-books-with-quickbooks" target="_self" translate="no" class="sl" rel="noopener"><u>Best practice on closing the books with QuickBooks</u></a></div></div></div></div><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">Run your balance sheet (in accounting software)</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> In your accounting software, run the <b>Balance Sheet</b> as of the last day of the closing period.</p><p style="margin:0 0 2px"><b>b.</b> Confirm that total assets equal total liabilities plus equity.</p><p style="margin:0 0 2px"><b>c.</b> For commercial contractors, check these accounts specifically: <b>Retainage Receivable</b> (should match total held retainage across active projects), <b>Accounts Receivable</b> (should not include retainage — if it does, the GL mapping is wrong), and <b>Overbilling liability</b> (should match the WIP report's overbilled positions).</p><p style="margin:0 0 2px"><b>d.</b> If the report is out of balance, review recent journal entries and unposted transactions in your accounting software before exporting additional data from ServiceTitan.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/accounting-detail-report" target="_self" translate="no" class="sl" rel="noopener"><u>Accounting Detail Legacy Report</u></a><a href="/v1/docs/best-practice-on-closing-the-books-with-quickbooks" target="_self" translate="no" class="sl" rel="noopener"><u>Best practice on closing the books with QuickBooks</u></a></div></div></div></div><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">Run a trial balance (in accounting software)</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> In your accounting software, run the <b>Trial Balance</b> for the closing period.</p><p style="margin:0 0 2px"><b>b.</b> Verify that total debits equal total credits. Any difference indicates unbalanced journal entries that need correction before closing.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/best-practice-on-closing-the-books-with-quickbooks" target="_self" translate="no" class="sl" rel="noopener"><u>Best practice on closing the books with QuickBooks</u></a></div></div></div></div><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">Verify tax liability</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> In your accounting software, run a <b>Tax Liability</b> report for the closing period.</p><p style="margin:0 0 2px"><b>b.</b> Review the tax collected and tax owed amounts by jurisdiction to confirm accuracy before filing.</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">⚠︎ ServiceTitan Tax Zone names must match your accounting software's Tax Item names exactly. Mismatches cause export errors and incorrect tax reporting. If you're using Avalara, rates are looked up automatically by address — but manual tax zone overrides can cause double-taxation on commercial recurring service visits.</p></div></div></div></div></div><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">Cross-reference revenue by GL account</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> In your accounting software, review revenue by GL account or Chart of Accounts for the closing period.</p><p style="margin:0 0 2px"><b>b.</b> Cross-reference revenue totals against the ServiceTitan <b>Accounting Detail Legacy Report</b> (<b>Reports</b> &gt; <b>Legacy Reports</b> &gt; search "Accounting Detail") and/or the <b>BU Dashboard Revenue</b> report (<b>Reports</b> &gt; <b>All Reports</b> &gt; search "BU Dashboard Revenue") to verify that all revenue is posted to the correct GL accounts.</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">⚠︎ GL mapping in ServiceTitan does not affect job-level margin calculations inside ServiceTitan — ST calculates margin independently. However, items with no GL assignment export to a catch-all or default account in your accounting software. This is a silent data quality issue.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/business-unit-dashboard-revenue-report" target="_self" translate="no" class="sl" rel="noopener"><u>Business Unit Dashboard - Revenue report</u></a><a href="/v1/docs/accounting-detail-report" target="_self" translate="no" class="sl" rel="noopener"><u>Accounting Detail Legacy Report</u></a></div></div></div></div></div><div id="p4" 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">Lock the Period &amp; Automate</div></div><div style="display:flex;flex-direction:column;gap:6px"><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">Close the accounting period</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>Accounting</b> &gt; <b>Accounting Periods</b> (or <b>Settings</b> &gt; <b>Accounting</b> &gt; <b>Accounting Periods</b>).</p><p style="margin:0 0 2px"><b>b.</b> Set the status of the closing month to <b>Closed</b>. This blocks any user (without admin override) from editing, voiding, or adding transactions in that month.</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">⚠︎ Closing an accounting period is irreversible in practice. Once closed, unposting is blocked — only adjustment invoices (credit memos) are allowed for corrections. Lock months promptly after reconciliation to prevent backdated edits that change your printed financial statements.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/use-accounting-periods" target="_self" translate="no" class="sl" rel="noopener"><u>Use accounting periods</u></a></div></div></div></div><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">Schedule automatic report delivery</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> &gt; <b>All Reports</b>, find the report you want to schedule, and click the <b>Calendar</b> icon (or open the report, click <b>More</b>, and select <b>Schedule</b>).</p><p style="margin:0 0 2px"><b>b.</b> Choose between a <b>Simple Report</b> (individualized per recipient) or <b>Flexible Report</b> (same report for all recipients).</p><p style="margin:0 0 2px"><b>c.</b> Set the delivery cadence (e.g., every 1 month), date range (e.g., Previous Month), recipients, and export format (PDF or XLSX). Click <b>Schedule</b>.</p><p style="margin:0 0 2px"><b>d.</b> To view or edit existing schedules, go to <b>Reports</b> &gt; <b>Scheduled Reports</b>.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/schedule-reports" target="_self" translate="no" class="sl" rel="noopener"><u>Schedule reports</u></a><a href="/v1/docs/edit-or-deactivate-scheduled-reports" target="_self" translate="no" class="sl" rel="noopener"><u>Edit or deactivate scheduled reports</u></a></div></div></div></div></div><div id="p5" 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">Troubleshoot Report Issues</div></div><div style="display:flex;flex-direction:column;gap:6px"><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">Troubleshoot: Revenue missing from accounting software</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 date range on the report covers the full closing period. Transactions posted on the last day of the month are commonly missed if the end date is set one day early.</p><p style="margin:0 0 2px"><b>b.</b> Check for unposted invoices. Go to <b>Accounting</b> &gt; <b>Batch/Export Transactions</b>. Both job invoices and project invoices (AFP/progress billing) must be posted to generate journal entries.</p><p style="margin:0 0 2px"><b>c.</b> For projects using <b>Percentage of Completion</b>, verify that the <b>Completion Percent</b> has been updated. If it has not been maintained, recognized revenue will be zero regardless of how much work has been performed.</p><p style="margin:0 0 2px"><b>d.</b> Check for export errors at <b>Accounting</b> &gt; <b>GL Errors</b>. Records that failed to sync will show "Error" status even if the batch shows "Exported."</p><p style="margin:0 0 2px"><b>e.</b> Verify that progress billing invoices for the period were created. If a billing cycle was missed (e.g., the PM did not submit the pay application by the 25th), that revenue will not appear in the period.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/batch-post-and-export-transactions" target="_self" translate="no" class="sl" rel="noopener"><u>Batch, post, and export transactions</u></a><a href="/v1/docs/export-error-report-guide" target="_self" translate="no" class="sl" rel="noopener"><u>Export Error Report Guide</u></a></div></div></div></div><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">Troubleshoot: Balance sheet out of balance</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> Run the <b>Trial Balance</b> in your accounting software for the same period. Verify that total debits equal total credits — a mismatch here confirms the imbalance source.</p><p style="margin:0 0 2px"><b>b.</b> Review recent journal entries in your accounting software. Look for one-sided entries or entries with mismatched debit and credit amounts.</p><p style="margin:0 0 2px"><b>c.</b> In ServiceTitan, go to <b>Accounting</b> &gt; <b>Journal Entries</b> to review journal entries created during the period. Check for GL errors at <b>Accounting</b> &gt; <b>GL Errors</b>.</p><p style="margin:0 0 2px"><b>d.</b> Check the <b>Retainage Receivable</b> account. If retainage was released during the period but the reversing entry (Debit: AR, Credit: Retainage Receivable) did not post correctly, the balance sheet will be out of balance.</p><p style="margin:0 0 2px"><b>e.</b> Check for WIP adjusting entries. If overbilling or underbilling journal entries were recorded in the accounting software, verify they are balanced and posted to the correct period.</p><p style="margin:0 0 2px"><b>f.</b> Check for pending adjustments or voided transactions that may not have been fully reversed. Correct any errors, then re-run the balance sheet to confirm it balances.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/best-practice-on-closing-the-books-with-quickbooks" target="_self" translate="no" class="sl" rel="noopener"><u>Best practice on closing the books with QuickBooks</u></a><a href="/v1/docs/create-an-adjustment-invoice" target="_self" translate="no" class="sl" rel="noopener"><u>Create an adjustment invoice</u></a></div></div></div></div><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">Troubleshoot: Exported invoice needs correction</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> If the invoice has been exported, it is permanently locked in ServiceTitan. You cannot unpost or edit it.</p><p style="margin:0 0 2px"><b>b.</b> Create an <b>adjustment invoice</b> (credit memo) in ServiceTitan to reverse the financial impact. This creates a new invoice record with reversing GL entries while preserving the original audit trail.</p><p style="margin:0 0 2px"><b>c.</b> If the accounting period is already closed, only adjustment invoices are allowed — unposting is blocked.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/create-an-adjustment-invoice" target="_self" translate="no" class="sl" rel="noopener"><u>Create an adjustment invoice</u></a><a href="/v1/docs/understand-invoice-statuses" target="_self" translate="no" class="sl" rel="noopener"><u>Understand invoice statuses</u></a></div></div></div></div></div><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"><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">Timeliness</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Days to close the month</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">Compare period end date to the date status is set to Closed. Faster close means faster financial visibility. Target: close within 5–10 business days of month-end.</div><a href="https://go.servicetitan.com/#/new/accounting/periods" target="_blank" class="sl" rel="noopener">Accounting &gt; Accounting Periods ↗</a></div><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">WIP overbilling / underbilling ratio</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">Overbilling (Billed &gt; Earned) creates a liability; underbilling (Earned &gt; Billed) drains cash flow. Both should trend toward zero. Material imbalances signal missed billings or stale completion percentages.</div><a href="https://go.servicetitan.com/#/new/reports/all" target="_blank" class="sl" rel="noopener">Reports &gt; All Reports &gt; search for "Work in Progress" ↗</a></div><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">Completeness</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Retainage reconciliation</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">The Retainage Receivable balance should match total held retainage across all active projects. Discrepancies indicate missed retainage entries or incorrect GL mapping.</div></div><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">Profitability</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Budget vs. Actual variance by project</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">Track total actual costs vs. total budget per project. Consistently negative variances indicate estimating issues; positive variances indicate scope creep or unapproved change orders.</div></div><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">Completeness</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Change order billing coverage</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">Every approved change order with work performed should be included in the next billing cycle. Unbilled approved COs represent earned revenue missing from the period.</div><a href="https://go.servicetitan.com/#/new/reports/all" target="_blank" class="sl" rel="noopener">Reports &gt; All Reports &gt; search for "Change Order Requests" ↗</a></div><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">Export error rate</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">All records should sync successfully. Export errors mean your accounting system has incomplete data for the period.</div><a href="https://go.servicetitan.com/#/new/accounting/journal-entries/errors" target="_blank" class="sl" rel="noopener">Accounting &gt; GL Errors ↗</a></div><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">Compliance</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Tax liability accuracy</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">Compare the Tax Liability report against filed returns. Mismatches indicate misconfigured tax zones or missed invoices.</div><a href="https://go.servicetitan.com/#/Settings/TaxZones" target="_blank" class="sl" rel="noopener">Settings &gt; Invoicing &gt; Tax Zones ↗</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>
