This article shows you how to build a HubSpot workflow that reminds your team to raise an invoice. When a deal reaches a stage where it should be billed — for example, Closed Won — the workflow checks whether an invoice already exists on the deal. If none does, it notifies the deal owner or creates a task, so a won deal never goes uninvoiced. It uses the ScaleXP Invoicing deal properties that are written back to each deal, so the check is automatic and reliable.
How the reminder works
ScaleXP Invoicing keeps a set of properties up to date on every HubSpot deal, including the Number of Invoices raised against the deal and the Invoice Status. A deal-based workflow can read these properties at the moment a deal is won and decide whether action is needed:
- If the deal already has one or more invoices, no reminder is sent.
- If the deal has no invoices, the workflow sends an internal notification or creates a task for the deal owner.
This means the reminder only ever fires for deals that genuinely need an invoice, keeping the noise down for your team.
Before you start
Make sure the following are in place so the workflow has accurate data to check:
- ScaleXP Invoicing is installed and connected to HubSpot, and is writing invoice properties back to your deals.
- You have permission in HubSpot to create and publish deal-based workflows.
- If you've raised invoices in your accounting system in the past, bring that history into HubSpot first so existing deals show the correct invoice count. See How to add historical data to HubSpot.
Build the workflow
Follow these steps in HubSpot to create the reminder.
- In HubSpot, go to Automation and then Workflows, and click Create workflow.
- Choose From scratch and select a Deal-based workflow, then give it a clear name such as "Remind owner to create invoice".
- Set the enrollment trigger. Choose Deal stage is Closed Won (or whichever stage in your pipeline should trigger billing). This enrolls each deal the moment it reaches that stage.
- Add a short delay if you want to give your team a chance to raise the invoice themselves first — for example, Delay for 1 day. This step is optional.
- Add an If/then branch to check whether an invoice already exists. Set the condition to the ScaleXP Invoicing property Number of Invoices is equal to 0. You can use Invoice Status instead — for example, branching on whether it is empty or set to a "not invoiced" value.
- On the branch where no invoice exists, add the reminder action. Choose Send internal email notification and address it to the Deal owner, or add a Create task action assigned to the deal owner with a clear instruction such as "Raise an invoice for this won deal".
- Leave the other branch (where one or more invoices exist) with no action, so invoiced deals are simply ignored.
- Review the workflow and click Turn on to publish it.
Tips and variations
- Escalate over time — add a further delay and a second notification so that if an invoice still hasn't been raised after a few days, a manager is also alerted.
- Re-enrollment — by default each deal is enrolled once. If a deal can be won, invoiced, and reopened, consider whether re-enrollment should be enabled for your process.
- Trigger earlier — if you raise invoices before a deal closes, set the enrollment trigger to an earlier stage rather than Closed Won.
- Use a task instead of email — tasks keep the reminder inside the deal owner's to-do list and are easier to track to completion than an email.
If you'd rather have invoices raised automatically rather than reminding someone to do it by hand, see ScaleXP Invoicing: Automating invoice creation with HubSpot workflows.