a. Go to Accounting > Batch/Export Transactions. Filter for the closing period.
b. Confirm there are no invoices or payments still in Pending status for the period. All install job invoices, progress billing invoices, and their associated payments should show Exported status.
c. If any items remain in Pending or Posted status, batch, post, and export them before proceeding.
d. Check for export errors at Accounting > GL Errors. Records that failed to sync will show "Error" status even if the batch shows "Exported." Resolve any errors before continuing.
⚠︎ "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.
⚠︎ For install companies, WIP is critical. Multi-day install jobs accumulate costs before the final invoice is posted. Jobs left open at month-end inflate your inventory and expenses while understating revenue on your income statement.
a. Go to Reports > All Reports and search for Work in Progress. Click to open the report. Set the As Of Date to the last day of the period you are closing. Filter by Business Unit or Job Type as needed.
b. Review install jobs with costs incurred but no invoice posted. Follow up with your team to complete and invoice outstanding work before closing the period.
c. For companies using Project Management, review project-level Budget vs. Actual data from the project record to identify underbilled or overbilled projects. Overbilling creates a liability on your balance sheet; underbilling creates a cash flow drain.
d. Check for progress billing milestones that were reached during the period but not yet invoiced. For multi-visit installs where deposits were collected upfront, verify that deposit balances are correctly carried against completed work.
⚠︎ Install jobs left in Working status at month-end will not trigger COGS recognition for materials consumed via Truck-to-Job. If inventory was issued to the job but the job has not been completed, material costs remain in Inventory Asset rather than flowing to Cost of Goods Sold — overstating your inventory and understating expenses.
⚠︎ 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.
a. Go to Reports > Legacy Reports and search for Accounting Detail. Set the date range to the period you are closing and filter by Business Unit as needed.
b. Review cash receipts, income by GL account, and net change in A/R. For install businesses, pay particular attention to the split between equipment revenue, labor revenue, and material revenue — miscategorized equipment is the most common GL issue for install companies.
c. Compare these totals against the prior period to identify significant variances before reconciling in your accounting software.
a. Go to Reports > All Reports and open the Invoice Items report template. Filter by GL Account Type to confirm revenue and cost items are posting to the correct GL accounts.
b. Look for items with missing GL assignments — these silently export to a default or catch-all account in your accounting software. Also look for equipment mapped as parts, which understates equipment revenue on the P&L.
⚠︎ 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.
a. In your accounting software, run the Income Statement (Profit & Loss) report for the closing period. Select the relevant Class/Department (which maps to your ServiceTitan Business Units).
b. Review total revenue, cost of goods sold, and net income for accuracy. For install businesses, verify the revenue split across equipment, labor, and materials — compare against the Accounting Detail report to catch GL mapping drift.
a. In your accounting software, run the Balance Sheet as of the last day of the closing period.
b. Confirm that total assets equal total liabilities plus equity. For install businesses, check the Inventory Asset account specifically — if it's growing faster than expected, jobs may be stuck in Working status with unconsumed Truck-to-Job materials (see Step 2 above).
c. If the report is out of balance, review recent journal entries and unposted transactions in your accounting software before exporting additional data from ServiceTitan.
a. In your accounting software, run the Trial Balance for the closing period.
b. Verify that total debits equal total credits. Any difference indicates unbalanced journal entries that need correction before closing.
a. In your accounting software, run a Tax Liability report for the closing period.
b. Review the tax collected and tax owed amounts by jurisdiction to confirm accuracy before filing.
⚠︎ 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.
a. In your accounting software, review revenue by GL account or Chart of Accounts for the closing period.
b. Cross-reference revenue totals against the ServiceTitan Accounting Detail Legacy Report (Reports > Legacy Reports > search "Accounting Detail") and/or the BU Dashboard Revenue report (Reports > All Reports > search "BU Dashboard Revenue") to verify that all revenue is posted to the correct GL accounts.
⚠︎ 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. Fix GL mappings in the Pricebook, but note that fixes only apply to future exports — historical data already exported is not retroactively corrected.
a. Go to Accounting > Accounting Periods.
b. Set the status of the closing month to Closed. This blocks any user (without admin override) from editing, voiding, or adding transactions in that month.
⚠︎ 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.
a. Go to Reports > All Reports, find the report you want to schedule, and click the Calendar icon (or open the report, click More, and select Schedule).
b. Choose between a Simple Report (individualized per recipient) or Flexible Report (same report for all recipients).
c. Set the delivery cadence (e.g., every 1 month), date range (e.g., Previous Month), recipients, and export format (PDF or XLSX). Click Schedule.
d. To view or edit existing schedules, go to Reports > Scheduled Reports.
a. Check for unposted invoices in Accounting > Batch/Export Transactions. Only posted or exported invoices appear in financial reports and accounting exports.
b. Verify the reporting date range includes all transactions. Check that GL account mapping is correct for each revenue type — items without a GL assignment export to a default account and may appear in an unexpected category.
c. If the invoice date falls in a closed accounting period, it cannot be batched or posted. Check your accounting period settings at Accounting > Accounting Periods.
d. For install jobs, confirm that all completed jobs have been invoiced. Use a Jobs report (Reports > All Reports > search "Jobs") filtered for completed jobs without invoices to find gaps.
a. Run the Accounting Detail report in ServiceTitan (Reports > Legacy Reports) and compare totals against your accounting software's General Ledger or P&L report for the same period.
b. Common causes of discrepancy: one-sided journal entries in the accounting software, payment postings in a different period, records that show "Exported" in ServiceTitan but have a sync error in the accounting system, or GL mapping errors where items post to the wrong account category.
c. Check for export errors at Accounting > GL Errors. Records that failed to sync will show "Error" status even if the batch shows "Exported."
⚠︎ "Exported" in ServiceTitan does not always mean "synced." If the external system rejected a record, the entity-level sync status shows an error even though the batch shows Exported. Always check per-record sync state when troubleshooting discrepancies.
a. Run the Trial Balance in your accounting software for the same period. Verify that total debits equal total credits — a mismatch here confirms the imbalance source.
b. Review recent journal entries in your accounting software. Look for one-sided entries or entries with mismatched debit and credit amounts.
c. In ServiceTitan, go to Accounting > Journal Entries to review journal entries created during the period. Check for GL errors at Accounting > GL Errors.
d. For install businesses, check the Inventory Asset account. If install jobs were completed but the COGS journal entry did not fire (e.g., job stuck in Working status), inventory may be overstated.
e. 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.
a. If the invoice has been exported, it is permanently locked in ServiceTitan. You cannot unpost or edit it.
b. Create an adjustment invoice (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.
c. If the accounting period is already closed, only adjustment invoices are allowed — unposting is blocked.