ScaleXP Invoicing: HubSpot deal automation workflows

Automate deal stages, trigger HubSpot workflows, and move deals across multiple pipelines based on invoice status and payments

ScaleXP Invoicing continuously writes invoice and payment data back to your HubSpot deals, so you can automatically move deals between stages — and across multiple pipelines — when an invoice is created, paid, or becomes overdue, using either built-in dashboard automations or your own HubSpot workflows.

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

Option 1: Create simple automations using the ScaleXP Invoicing dashboard

Go to the Automation page of your ScaleXP Invoicing dashboard. Here you can select a single deal stage for each invoice-related action.


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 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 option is to trigger on property value changed and watch 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 Pipeline property. This gives you a branch of your workflow for each pipeline you choose.

Then add an action to each branch to Set deal pipeline and stage to the relevant value.


ScaleXP Invoicing continuously updates a number of standard invoice-related properties on your 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 pipeline and stage. For example:

  • When an invoice is created → move to “Invoice Sent”
  • When the first payment is received → move to “Active Customer”
  • When an invoice is fully paid → move to “Customer”
  • When an 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 and 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 your “Closed Won” and “Paid” stages, so payment events don’t overwrite your sales-stage logic.
  • Use the invoice status properties as your single source of truth for whether a customer has been invoiced and has paid.
  • Test each workflow on a single deal before enabling it across a whole pipeline.