Retention held
Reviewed against source:
Open Reports → Retention in Thermal →
What it's for
Retention held shows unreleased retention on issued progress invoices, by project or agreement and by billed customer. Open it from Reports → Retention held, at /reports/retention.
The header names the as-of date. This page does not release retention or change an invoice.
Tabs
This report has no tabs. Two tables stack on the page.
Panels and controls
Choose Branch and select Apply when you can compare branches. All branches is available when your account is not limited to one branch.
Tiles are Total retention held, 0–30 days, 31–60 days, 61–90 days, and 91+ days.
By project and agreement columns are Project / agreement, Billed customer, Retention held, 0–30 days, 31–60 days, 61–90 days, 91+ days, and Oldest hold. A project row is named PRJ-<number> — <name>, or the project name alone when it has no number. An agreement row is Agreement plus its number, or Service agreement when it has none. Opening a row goes to that project or agreement.
By customer uses the same balance columns without the project column.
Export downloads the selection as CSV or PDF.
Empty states: No retention held / Issued progress invoices with unreleased retention appear here. and No customer retention / Customer totals appear once retention is held.
What it accepts
Retention is held on issued progress invoices (sent, partial, or paid), less issued releases. Drafts, invoices awaiting approval, void invoices, and deleted invoices are excluded. Age runs from the invoice issue date in the company timezone. Older invoices without an issue date age from the sent date, or from the creation date when there is no sent date. Releases reduce the oldest holds on each schedule first. The billed customer is the customer on the original invoice. It can differ from the site owner or the current agreement payer. Completed and archived projects and agreements stay on the report while retention is held.
How to configure it
Nothing in Settings changes how this screen behaves. Retention is recorded on the project or agreement schedule of values.
Who can see it
This screen sits behind the Reports area.
Owners and office managers can open it. Dispatchers have the Customers, Projects, and Agreements areas but not View costs by default, so they cannot; technicians cannot either. Opening it requires all of those areas and View costs. The gate is checked on the server, not just hidden in the sidebar, so a direct link does not get around it.
The full role matrix is on Roles & permissions.