ScaleXP Invoicing: HubSpot Deal Automation Workflows

How to use HubSpot Workflow to automate HubSpot Deal Properties and move Deals across Pipelines and Stages

ScaleXP Invoicing can automatically update HubSpot deal stages based on invoice events such as creation, payment, or overdue status.

For example:

  • Move deals forward when payment is received
  • Flag overdue customers automatically
  • Separate “Won” from “Paid”
  • Trigger Customer Success or onboarding processes only after payment

This article describes how to set this up.

Option 1: Create Simple Automations using the ScaleXP Invoicing Dashboard

Go to your ScaleXP Invoicing Dashboard, Automation: https://app.scalexp-invoicing.com/automation

Here you can select a single deal stage for each invoice-related action. 

Image


Option 2: Create Other Automations using HubSpot Workflows

How to create a Workflow automation in HubSpot

  1. Go to Automation → Workflows
  2. Create a Deal-based workflow (See the HubSpot Knowledge base for more info on adding Workflow actions.)
  3. Choose invoice-related properties as your trigger, for example:
    • Invoice Status changes to “First Paid”
    • Overdue Invoice Count > 0
    • Invoice Status becomes “All Paid”

You can set the trigger to any of the properties above, but the most common one is to trigger on "property value changed" - and watch for the Invoice Status property. You can find out more about HubSpot workflow triggers here

Next, we recommend you use the "Branch" function as your action, branching on the property "Pipeline". This will give you a branch of your workflow for each pipeline that you choose.

Then, simply add an action to each branch of your workflow to update the "Deal pipeline and stage"  to the relevant value.

ScaleXP Invoicing continuously updates a number of standard invoice-related properties in HubSpot deals.  

You can use these properties as workflow triggers to update deal stages automatically 

These properties include:

Deal Property HubSpot Internal name Description
Invoice Status (e.g. Synced, First Paid, All Paid) is_invoice_status The current status of invoices linked to this deal
Invoice Total ex. tax is_invoice_total Total value, excluding tax, of all invoices linked to this deal, excluding deleted and voided
Overdue Invoices is_overdue Shows true if any invoice linked to this deal has a due date before today and is not marked as paid, excludes deleted and voided. Updated every 5 minutes.
Number of Invoices is_number_of_invoices The number of invoices linked to this deal, excluding deleted and voided
Number of Invoices Paid is_number_of_invoices_paid The number of invoices linked to this deal that have been marked as paid
Next Invoice Date is_next_invoice_date The invoice date of the earliest unpaid invoice linked to this deal. Note that this could be in the past if invoices are overdue.
Next Invoice Due Date is_next_invoice_due_date The due date of the earliest unpaid invoice linked to this deal. Note that this could be in the past if invoices are overdue.
Invoice Numbers is_invoicenumbers Comma separated list of invoice numbers generated for the deal
Overdue Total is_overduetotal Value of invoices marked as overdue, ex. Tax
Paid Total is_paidtotal Value of invoices marked as paid, ex. Tax - note this excludes credits or part payments
Invoice Total in Base Currency is_invoice_total_base Total value in your Xero/QuickBooks base currency using the exchange rate generated by Xero/QuickBooks (excluding Tax). Total includes all invoices linked to this deal, excluding deleted and voided
Invoices Sent is_allsent Shows true if all invoices for this deal have been sent
Connection Name is_connectionname Name of the Xero or QuickBooks account used to sync invoices
MRR is_mrr Monthly Recurring Revenue from Repeating Invoices
ARR is_arr Annual Recurring Revenue from Repeating Invoices
Projected Total (ex. tax) is_projected_total Projected value, excluding tax, of all invoices and repeating invoices linked to this deal, calculated where an end date exists excluding deleted and voided
Contact ID is_contact_id The internal reference ID for the contact that has been invoiced from your accounting platform

See HubSpot Invoicing: Adding invoice properties to HubSpot deals for more about what these are and how to find them.  Here is an example:

For more advanced users, you can tailor the properties that ScaleXP Invoicing fills in.  Contact support@scalexp.com for assistance with this.

Moving Deal Stage

Select the action “Set Deal Stage”

  • Examples:
    • When invoice is created → Move to “Invoice Sent”
    • When first payment received → Move to “Active Customer”
    • When invoice is fully paid → Move to “Customer”
    • When invoice becomes overdue → Move to “Chasing Payment”

If you use multiple pipelines (e.g. New Business, Renewals, Enterprise), you can:

  • Add an If/Then branch based on Pipeline
  • Apply different stage updates depending on pipeline logic

For example:

  • If Pipeline = New Business
    → Invoice Paid → Move to “Customer Onboarding”
  • If Pipeline = Renewals
    → Invoice Paid → Move to “Renewed”

This keeps each pipeline structured correctly while still automating billing-related movement.

Best Practices

  • Separate “Closed Won” from “Paid” stages
  • Use invoice status properties as your single source of truth

See also these articles: