How to track a retainer balance per client in HubSpot

By Kayabyte

You want one number per client company: hours left on the retainer, with a warning before it hits zero. This guide builds that in HubSpot using properties, a workflow and a report, says which plan each part needs, and shows where the manual version breaks down. HubSpot facts last checked 10 November 2026 against HubSpot’s knowledge base.

The numbers to keep

For each client company you need at least: hours purchased in the current period, hours used, hours remaining, and the day the period ends. If the client has bought extra blocks or carried hours over, those add to the purchased number.

Step 1: create the properties

In Settings > Properties > Companies, create number properties for hours purchased, hours used and hours remaining, plus a date property for the period end (HubSpot: create and edit properties). The number of custom properties you can create depends on your subscription.

Step 2: calculate what is left

Step 3: get the hours used

Two ways, both manual at the source:

Step 4: warn before it runs out

Build a company workflow that enrolls companies when remaining hours are below your limit and creates a task for the account manager or sends an internal notification. Workflows need Professional or Enterprise (HubSpot: create workflows). Records enrol only the first time they meet the trigger unless you set re-enrollment, so decide how the workflow should fire again next month (HubSpot: enrollment triggers).

Step 5: a view for the account team

Create a custom report of companies sorted by hours remaining. Custom reports need Professional or Enterprise, and can be exported (HubSpot: custom reports).

Where the manual version breaks

Full disclosure: we built an app for this

Retainer Wallet keeps the blocks of hours and the time entries itself and works out the balance from them. It writes hours purchased, used and remaining, percent used, overage hours, period end date and a balance status (Healthy, Low, Exhausted, Overage) to the company, so the reports and workflow above run on numbers that update themselves, usually within seconds of time being logged. The Low status starts when the share of hours left falls below a threshold you set for each retainer. Editing or deleting an entry re-runs the draw-down from that day. The properties and workflow triggers do not need a calculation property, but HubSpot workflows themselves still need Professional or Enterprise. Free: 1 user and 3 retainers; Starter USD 29 per month; Pro USD 59 per month; 14-day Pro trial without a card. It installs from our site, not the HubSpot Marketplace.

More detail

FAQ

How do I show hours remaining on a HubSpot company? Create number properties for hours purchased and used, and a calculation property for the difference on Professional or Enterprise. Add them to the company sidebar.

Can HubSpot warn me when a retainer is almost used? Yes, with a workflow on Professional or Enterprise that enrolls companies when remaining hours fall below a number and creates a task or notification. It enrols a record only once unless you set re-enrollment.

Can a rollup property add up hours from tickets? On Professional or Enterprise a rollup property can sum a number property across associated records, filtered by conditions. The hours must already be stored as a number on each ticket.

Questions or corrections: support@kayabyte.dev. HubSpot is a registered trademark of HubSpot, Inc. Kayabyte is an independent developer and is not affiliated with HubSpot.