⚠︎ Configure retainage in Settings > Accounting > Application For Payment BEFORE creating the first pay application. Retainage settings can also be overridden per project inside the project record. Changing defaults after billing has started does not retroactively update existing applications.
a. Go to Settings > Accounting > Application For Payment. Configure the default settings for how pay applications are generated and formatted.
b. Set the default retainage percentage that will apply to new projects. Choose whether retainage applies to the full contract value or only to work completed.
c. Configure a Retainage Project Label for GL reporting. This label tracks retainage in a separate "Retainage Receivable" asset account. Without this label configured, retainage is not properly tracked in your general ledger.
d. To override the default on a specific project, open the project record and update the retainage percentage for that project only.
a. The schedule of values (SOV) is typically populated from your project estimate. When you sell the estimate, the project labels and line items flow into the SOV automatically. The label hierarchies (parent labels) become the line items on the continuation sheet.
b. To import an SOV from an external source, open the project and go to the billing section. Download the SOV template, fill in line items with descriptions and scheduled values, and upload the file.
c. Review the SOV line items to confirm they match your contract. Each line item should map to a project label so costs and revenue are tracked correctly on the Budget vs. Actual table.
⚠︎ Always verify the schedule of values is up to date before generating a pay application. Mismatched line items cause rejection by general contractors.
⚠︎ Materials must be received in ServiceTitan via a Purchase Order before they can be entered as Stored Materials on a pay application. Unbilled materials not yet received will not be eligible.
a. Open the project and go to the billing section. Click Add Application for Payment.
b. Select the billing period. ServiceTitan pulls in the schedule of values with previous billing totals already calculated.
c. Enter the % Complete or Amount Completed for each line item. The system calculates "Total Completed & Stored to Date," subtracts "Previous Billings," and determines "Current Payment Due." The G702 summary and G703 continuation sheet update automatically.
d. If billing for Stored Materials (inventory purchased but not yet installed), enter the stored materials value for applicable line items. This improves cash flow by allowing recovery of material costs before installation.
e. Review the retainage amounts, then click Save. When ready, finalize the pay application for submission.
⚠︎ Do NOT mix job-level invoicing and project-level progress billing on the same project. This causes double-booked revenue — once on the job completion and again on the pay application.
⚠︎ Automated commissions (Native Commissions and Configurable Payroll) do NOT process project/AFP invoices. These are non-job invoices with no Sold By field or tech splits. Commission tracking for progress-billed work must be done manually via custom reports and Payroll Adjustments.
a. Upon substantial completion, open the project and go to the Continuation Sheet in the billing section.
b. Use the Collect Retainage feature. Choose whether to release the full retainage amount or a partial amount. Partial release is common in commercial contracts where retainage is released in stages — for example, the majority upon substantial completion and the remainder after the punch list is closed. Confirm the release schedule with your GC or contract terms.
c. Collecting retainage moves the balance from "Retainage Receivable" (Asset) to "Current Due" and generates the final invoice. Until released, retainage does NOT age in standard AR — it sits in a separate retainage bucket.
d. Send the final invoice to the customer or general contractor. The retainage amount now appears as a current receivable in AR aging.
a. Confirm the pay application has been finalized — draft pay applications do not sync to your accounting system.
b. Go to Accounting > Batch/Export Transactions and check for export errors on the project invoice. Common issues include mismatched GL account mappings or connectivity timeouts.
c. Verify that the GL accounts mapped for progress billing revenue and retainage match valid accounts in your accounting software. The retainage account must map to a "Retainage Receivable" asset account, not general AR.
d. Check your accounting integration status at Settings > Integrations > Accounting. If the connection shows an error, try disconnecting and reconnecting, then re-export.