⚠︎ This step is a verification check, not a full walkthrough. For the complete install invoicing workflow, COGS timing, and deposit handling, see Invoice Your Customers.
a. Go to Accounting > Invoices and filter for Pending invoices on install-type jobs. Cross-reference against the job status — look for jobs that have been in Working status for longer than expected (e.g., more than 5–7 days for a typical install).
b. For each stale job, verify whether the work is actually complete. If so, complete the job to trigger COGS recognition and release the invoice for posting.
c. Check for deposit payments collected before the install. Confirm the deposit appears as a payment on the invoice and the remaining balance is correct. If the deposit was applied to the wrong invoice, correct it before posting.
⚠︎ Review AR aging at least weekly. Balances that slip past 90 days are significantly harder to collect.
⚠︎ Invoices without a payment term assigned have no due date and are excluded from aging bucket columns. Assign payment terms to every invoice to see correct aging distribution. Payment terms are configured at Settings > Invoicing > Payment Terms.
⚠︎ AR Transaction reports should be limited to a maximum one-year date range for performance. Larger ranges cause timeouts.
⚠︎ If AR aging appears inflated, check for install jobs still in Working status. These jobs have Pending invoices that show up on the customer record but not in AR Management — the customer's true collectible balance may be lower than it appears.
a. Go to Accounting > AR Management to view your outstanding customer balances organized by aging buckets. Use the Statement Type dropdown to select "As Of Date" and set your filters.
b. Use the filters to narrow by Business Unit, Customer Type, Min. Days Past Due, or Invoice Export Status to focus on the balances that need attention first.
c. Click into any customer row to see the individual invoices making up their balance. For install customers, check whether the outstanding balance represents the full job amount or just the remaining balance after a deposit. Prioritize follow-up on the oldest outstanding amounts.
⚠︎ This screen only pulls data from posted and exported invoices. Invoices in Pending status will not appear here — make sure invoices are posted before generating statements.
⚠︎ To control how often you send statements in bulk, set the Statement Send Frequency at Settings > Invoicing > Customer Statement.
⚠︎ For install customers who paid a deposit, the statement will show the deposit as a payment and the remaining balance as outstanding. Verify the deposit is correctly applied before sending — a misapplied deposit creates a confusing statement.
a. Go to Accounting > AR Management.
b. Choose the statement type from the Statement Type dropdown — As Of Date (shows outstanding transactions as of a specific date) or Balance Forward (lists transactions within a date range with a carried-over balance).
c. Set the Date Range or As Of Date. Use the filters (Invoice Export Status, Min. Days Past Due, Business Unit, Customer Type, Payment on File) to narrow the list.
d. Select the customers you want to send statements to. From the Actions dropdown, choose Email Statements, Print Statements, or Print Statements & Mark as Sent. Preview statements before sending to verify the amounts are correct.
⚠︎ A credit hold does not physically block new bookings. It triggers a high-visibility red banner on the call/booking screen. Your team should have a policy where CSRs transfer calls from delinquent customers to your Accounts Receivable team when they see the banner — the system will not prevent them from booking.
a. Open the customer record. Apply a "Credit Hold" tag to the customer. Tags are managed at Settings > Operations > Tag Types.
b. Configure the Credit Hold tag to Show on Dispatch Board so dispatchers also see the alert when the customer appears on the board.
c. Add a note explaining why the hold was placed or removed. This helps your team understand the situation when the customer calls.
⚠︎ Card refunds process back to the original card only. If the original card has expired or been replaced, you cannot refund to that card — issue the refund as a check or leave it as an unapplied credit on the customer's account instead. Card refunds may take 1–2 business days to settle; ACH refunds take 3–5 business days.
⚠︎ Deposit refunds on cancelled installs: If the customer paid a deposit and the install is cancelled, refund the deposit through the adjustment invoice workflow. The deposit payment is on the original Pending invoice — if the invoice has not been posted, you can remove the deposit payment directly. If it has been posted, create an adjustment invoice to reverse it.
⚠︎ Accounting sync: Adjustment invoices export as Credit Memos to your accounting software (QuickBooks, Intacct, Xero). Known issue: when syncing a negative adjustment invoice without an associated payment, the credit memo may use items from the original invoice instead of the adjustment invoice, overstating the credit amount. Always verify the credit memo in your accounting software after export.
a. Open the invoice record. The invoice must be in Posted or Exported status — if it's still Pending, edit the invoice directly instead of creating an adjustment.
b. Click Add an adjustment invoice and confirm in the pop-up. Add negative (credit) line items for the refund amount.
c. Apply a refund payment to the adjustment invoice. Select the refund method: credit card (refunds to the original card), ACH, check, or leave the credit unapplied on the customer's account to apply toward a future invoice.
d. Enter the refund amount and add a note explaining the reason. Complete the refund by following the steps in the article linked below — exact button labels and confirmation screens vary by payment method.
⚠︎ Interest charges automatically generate adjustment invoices linked to the original invoices. The original invoice must use a payment term that has interest settings configured. Review the legal disclaimer before saving interest settings on payment terms.
⚠︎ There is no automatic recurring interest — someone on your team must manually charge interest each cycle. There is currently no automation rule to apply fees on invoices automatically.
⚠︎ Interest can also be charged on membership and service agreement invoices. If your payment terms have interest enabled, be aware this applies across those invoice types as well.
a. First, create a task code item in your Pricebook for interest charges. Create a service item for interest (you can leave the price at $0.00). For the full setup steps, see the Charge interest using the Invoices module article linked below.
b. Next, configure a payment term with interest settings: go to Settings > Invoicing > Payment Terms. Select or create a payment term, open the Interest tab, enable the Charge Interest toggle, and set the interest rate, grace period, and charge frequency.
c. To apply charges, go to Accounting > Invoices. Select the overdue invoices (use the aging filters to identify them), then click Actions > Charge Interest. Select the date from which interest should accrue, review the calculated charges, and confirm.
⚠︎ Write-offs are processed via adjustment invoices, not a dedicated "Write Off" button on the AR screen. The adjustment invoice exports as a Credit Memo to your accounting software (QuickBooks, Intacct, Xero).
⚠︎ If the original invoice has already been exported, you cannot edit it directly — the adjustment invoice is the only correction path. Verify GL account mappings on your Bad Debt expense account before posting.
⚠︎ For install jobs where equipment was sold, verify the equipment revenue GL account is mapped correctly before writing off the balance. A write-off with incorrect GL mappings can misclassify the loss on your P&L.
a. Open the invoice record for the uncollectible balance.
b. Click Add an adjustment invoice. Add a negative line item for the amount to write off. Map the line item to your Bad Debt expense GL account to categorize the loss correctly.
c. Enter a memo documenting the write-off reason. Post the adjustment invoice to zero out the balance and record the expense in your general ledger.
⚠︎ To send payment reminders, use customer statements from AR Management. For SMS-based payment collection messaging, configure Marketing Pro campaigns. Statement email delivery requires the "View/Email Customer Statements" permission to be enabled for your user role.
⚠︎ For install customers with a remaining balance after a deposit, confirm the deposit is correctly applied to the invoice before sending the statement. A statement showing the full job amount (without the deposit offset) will confuse the customer and generate unnecessary calls.
a. Go to Accounting > AR Management. Filter for overdue balances using the Min. Days Past Due filter and set the Statement Type.
b. Select the customers you want to remind. Click the Actions dropdown and select Email Statements. Review the email template and recipient addresses in the flyout.
c. Preview the statement, customize the subject or body if needed, then click Send to email the statements to the selected customers.
⚠︎ "Exported" does not mean fully synced to your accounting system. If the external system rejected a record, the individual record's sync status may show an error even though the batch itself shows "Exported." Always check per-record sync status when troubleshooting GL mismatches.
⚠︎ Auto-batching can interfere with manual batch management. If auto-batching is enabled, invoices may be auto-batched within seconds of creation. When you need to manage batches manually, temporarily disable auto-batching at Settings > Accounting > Journal Entries and Auto-Batching to prevent conflicts.
⚠︎ Equipment GL mapping errors compound over time. If equipment revenue is mapped to a generic "Parts" account instead of an equipment-specific GL account, the AR-to-GL reconciliation may appear correct in total but the P&L category breakdown will be wrong. A one-time pricebook audit of equipment GL mappings prevents this from accumulating.
a. Run the AR Transactions report (Reports > All Reports > search "AR Transactions") and compare the total to the Accounts Receivable balance on your Balance Sheet in your accounting software for the same date.
b. Check for unposted invoices or payments. Go to Accounting > Batch/Export Transactions and post any pending batches — unposted transactions are the most common cause of mismatches.
c. For install jobs, check whether Inventory Asset is overstated. Jobs stuck in Working status keep material costs on Inventory Asset instead of COGS. Complete stale jobs to trigger the cost transfer and bring both accounts back in line.
d. Look for manual journal entries posted directly to the AR account. These bypass the sub-ledger and create discrepancies. Reverse any incorrect entries and rebook them through the proper invoice or adjustment invoice workflow.
⚠︎ ACH refunds take 3–5 business days to settle. If a customer reports a missing ACH refund within that window, the refund may still be in transit. Verify the payment status on the invoice before issuing a duplicate refund.
a. Verify the original payment has fully settled — not just authorized. If the payment hasn't settled yet, you'll need to void it rather than issue a refund. Check the payment status on the invoice record to confirm.
b. Confirm your payment processor connection is active. Go to Settings > Integrations > Payment Processing and verify the connection status. If the connection shows an error, re-authenticate or contact your payment processor.
c. If the credit card on file has expired or been replaced, you cannot refund to that card. Instead, issue the refund through an alternative method — such as a check — or apply a credit to the customer's account using an adjustment invoice.
⚠︎ Credit Hold is an alert, not a system block. ServiceTitan does not disable the ability to book a job for a customer with a credit hold tag. Consistent enforcement depends on your team following an established collections process.
a. Understand that Credit Hold is a tag-based visual alert, not a system block. Confirm the "Credit Hold" tag is applied to the customer record and configured to Show on Dispatch Board.
b. Verify the CSR is seeing the red banner on the booking screen when pulling up the customer. If not, confirm the tag is active and applied to the correct customer record (not just a note in the memo field).
c. Since the system does not physically disable the "Book Job" button, enforcement depends on your team's process. CSRs should transfer calls from delinquent customers to Accounts Receivable when the credit hold banner appears. Consider reviewing role permissions under Settings > People > Roles if you need to restrict which users can override AR policies.