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
- Professional and Enterprise: make Hours remaining a calculation property with the formula purchased minus used. Equations work on properties of the same object (HubSpot: calculation properties). A second calculation can give percent used.
- Starter and Free: HubSpot’s calculation properties are not part of those plans, so the remaining number is a normal number someone updates.
Step 3: get the hours used
Two ways, both manual at the source:
- Type the total into the company each week or month. Quick, but no trail.
- Add an Hours spent number property to tickets (or deals), have people fill it in, and on Professional or Enterprise use a rollup property on the company that sums it across associated tickets. Rollups support Sum, Count and others, and can be filtered by association label or by conditions on number and enumeration properties, so a per-month filter may need a helper property (HubSpot: rollup properties). The article says Time since and Time until properties cannot be used as inputs, and it does not describe summing durations directly, so store hours as a plain number.
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
- The purchased number must be reset each month, and a rollover has to be added by hand.
- If a client has two retainers, or a top-up block with its own expiry, one pair of numbers cannot say which hours were used first.
- Editing an old entry means redoing the sum.
- Hours on tickets are only as good as the habit of filling them in.
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.
More guides
- How to audit and clean up HubSpot properties without breaking anything
- How to stop a HubSpot deal reaching Closed won until it is approved
- How to bulk create custom properties in HubSpot from a CSV or spreadsheet
- How to send a client an hours statement from HubSpot
- How to copy properties from one HubSpot account to another
- DealHub or a lightweight approval app for HubSpot deals?
- How to export all properties from HubSpot, with their dropdown options
- How to bulk add dropdown options (and properties) in HubSpot
- HubSpot deal approval options compared: native approvals, workflows, DealGuard and Deal Approvals & Stage Gate
- HubSpot deal approvals without Enterprise: what Free, Starter and Professional can do
- HubSpot discount approval on Sales Hub Professional or Starter
- How to set up discount approvals in HubSpot (deal desk)
- How to see what your HubSpot pipeline looked like last week
- Creating HubSpot properties in bulk: HubSpot import, the API, Lift and Bulk Property Import & Export compared
- HubSpot property naming conventions: a template for internal names, groups and labels
- Tracking retainer hours in HubSpot: StopWatch, PSOhub, a spreadsheet or Retainer Wallet
- A weekly stale-deal report in HubSpot, without Enterprise
- Insycle or Bulk Property Import & Export for HubSpot properties?
- How to require approval before a deal moves stage in HubSpot
- How to require fields before a HubSpot deal moves to a stage
- RevOps Deal Desk & CPQ vs Deal Approvals & Stage Gate for HubSpot
- How to stop reps skipping deal stages or moving deals backward in HubSpot
- Export property history in HubSpot: who changed it and when