Collect What You're Owed

Prev Next
SERVICETITAN · ACCOUNTS RECEIVABLE
Collect What You're Owed

Track aging receivables, follow up on overdue balances, and manage the adjustments unique to memberships and service agreements — where outstanding AR most often stems from failed recurring billing charges rather than unpaid one-time invoices.

Verify & Review Outstanding Balances
Verify billing run results before reviewing AR

⚠︎ This step is a verification check, not a full walkthrough. For the complete recurring billing setup and failure resolution workflow, see Invoice Your Customers.

a. Review the results of your most recent billing run. Failed charges are flagged with an Action Required alert. If you see unresolved failures, address those first — re-run billing for affected contracts or manually apply payments to the unpaid billing invoices.

b. Check for membership cancellation refund invoices that may be sitting in Pending status. When a membership is cancelled with prepaid visits remaining, the system auto-generates a refund invoice to credit the customer. If that refund invoice has not been posted, the customer's AR balance will appear overstated.

c. Confirm that any recently completed maintenance visits have been invoiced and posted. Service visit invoices from recurring maintenance jobs follow the same batch-post-export cycle as billing invoices.

Review your accounts receivable aging

⚠︎ 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.

⚠︎ Deferred revenue affects AR interpretation. If your memberships use deferred revenue mode, a customer showing a large outstanding balance may actually have a deferred liability — not a collection problem. Cross-reference AR aging with the Active Membership Liability report and the Deferred Revenue report before escalating to collections.

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 membership and service agreement customers, you may see a mix of billing invoices (subscription charges) and service visit invoices (maintenance work). Prioritize follow-up on the oldest outstanding amounts.

Generate and send customer statements

⚠︎ 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.

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.

Place or remove a credit hold on a customer

⚠︎ 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. For membership and service agreement customers, note whether the hold is due to failed billing charges, expired contracts, or disputed invoices — this helps your team understand the situation when the customer calls.

Collect & Adjust Payments
Process a customer refund

⚠︎ 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.

⚠︎ Membership cancellation refund invoices: When a membership is cancelled with unperformed visits remaining, ServiceTitan auto-generates a refund invoice to credit the customer. These refund invoices must be posted and exported through the normal batch process. If they sit in Pending status, the customer's AR balance and deferred revenue will both be overstated.

⚠︎ 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.

Charge interest on overdue balances

⚠︎ 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 applies to membership and service agreement invoices. Because membership and service agreement billing invoices share the same invoice type, interest charges configured on payment terms will apply to these invoices as well. Make sure this is intentional before enabling interest on payment terms used for recurring billing.

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 off bad debt

⚠︎ 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 memberships using deferred revenue, writing off a billing invoice does not automatically adjust the corresponding deferred revenue balance. Verify the deferred revenue account separately after posting the write-off.

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.

Send payment reminders to customers

⚠︎ 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 membership customers with failed billing charges, the most effective recovery path is to update the payment method and re-run billing — not to send a statement. Use statements for balances where the service has been performed but payment is outstanding.

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.

Troubleshoot Collection Issues
Troubleshoot: AR balance doesn't match the general ledger

⚠︎ "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.

⚠︎ Deferred revenue creates a separate reconciliation layer. If you use deferred revenue for memberships, the AR balance alone does not tell the full financial story. Reconcile the Deferred Revenue account against the Active Membership Liability report at each month-end in addition to the standard AR-to-GL reconciliation.

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 membership and service agreement customers, check for unposted cancellation refund invoices. These auto-generated invoices settle the deferred revenue balance when a contract is cancelled, but they must be posted to flow through to the GL.

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.

Troubleshoot: Refund won't process

⚠︎ 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.

Troubleshoot: Credit hold isn't preventing bookings

⚠︎ 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.

Measure the impact
Failed Charges
Failed auto-charge rate per billing cycle
Review billing run results after each cycle. Track the failed charge count as a percentage of total charges attempted. Expired or invalid payment methods are the top source of membership and service agreement revenue leakage.
Aging
Total AR outstanding by invoice type
Separate billing invoice AR from service visit invoice AR to identify the source of outstanding balances. A growing billing invoice AR total signals recurring charge failures.
Accounting > AR Management ↗
Collection Speed
Days sales outstanding (DSO)
A rising DSO means customers are taking longer to pay. For contracted service, compare DSO separately for billing invoices and service visit invoices — they have different collection dynamics.
Reports > All Reports > search for "AR Transactions" ↗
Deferred Revenue
Deferred revenue reconciliation accuracy
Compare the Deferred Revenue account in your GL against the Active Membership Liability report at each month-end close. A persistent mismatch signals revenue recognition lag or unposted cancellation invoices.
Write-Offs
Bad debt as % of recurring revenue
Track write-off adjustment invoices in Accounting > Invoices (filter by Invoice Type: adjustment). Compare against recurring billing totals in your P&L. If bad debt exceeds 1–2% of recurring revenue, tighten credit policies and follow-up cadence on failed billing charges.
Accounting > Invoices ↗