Skip to content
Automation Squad
HQBMade to order

Invoicing, payments & bookkeeping

HubSpot deal Closed Won → QuickBooks Online invoice + number back on the deal

Won deals become sent QuickBooks invoices with the number written back to HubSpot.

Sales marks the deal won and finance finds out days later, usually by being asked where the invoice is. With this running, a HubSpot deal entering Closed Won raises the QuickBooks Online invoice, matches or creates the customer, and sends it from QuickBooks. The invoice number and QuickBooks ID go back onto the deal, so nobody bills twice.

How it works

  1. H

    Trigger

    Deal stage changes to Closed Won (dealstage property-change webhook from a HubSpot developer app, or a 5-minute poll of the deals search API)

    HubSpot

  2. if

    Step 1

    Skip deals that already carry an invoice

    Only deals entering a won stage pass, and only while the deal's quickbooks_invoice_number property is empty. A re-saved deal never raises a second invoice.

  3. H

    Step 2

    Pull the deal, company and billing contact

    Deal name, amount and close date come across, plus the associated company name and the primary contact's email. Line items come from HubSpot's line_items endpoint in a plain HTTP call.

  4. QB

    Step 3

    Find the customer or create one

    QuickBooks is searched by company display name, then by email. No match creates a customer with the name, email and billing address from HubSpot.

  5. QB

    Step 4

    Create the invoice

    One invoice line per HubSpot line item, or a single line for the deal amount when the deal has none. Your default terms set the due date and the memo carries the HubSpot deal name and ID.

  6. QB

    Step 5

    Send it from QuickBooks

    QuickBooks emails the invoice to the customer's billing address through its own send, so it shows as sent in QuickBooks. Switch this step off to review before sending.

  7. H

    Step 6

    Write the invoice back to the deal

    Two custom deal properties receive the QuickBooks invoice number and ID, and a note on the deal timeline records the amount and the date it went out.

What changes once it runs

  • On the webhook variant the invoice exists in QuickBooks within a minute of the stage change; on polling, within five.
  • Customers are matched before they are created, so one HubSpot company maps to one QuickBooks customer.
  • Sales can read the invoice number off the deal without asking finance.
  • A deal moved back and forth through Closed Won still produces exactly one invoice.

What you get

  • The n8n export in two trigger variants: HubSpot webhook and 5-minute polling
  • Field-mapping sheet from HubSpot deal, company and contact fields to QuickBooks customer and invoice fields
  • Written guide for the QuickBooks OAuth connection and the HubSpot property definitions
  • Walkthrough video of one deal going from Closed Won to a sent invoice in the QuickBooks sandbox
  • A test checklist for the first three live deals

Before you start

  • HubSpot CRM (the free tier is enough for deals, custom properties and a private app token)
  • A free HubSpot developer account if you want the webhook trigger; the polling variant needs nothing extra
  • QuickBooks Online Simple Start or above (QuickBooks Solopreneur has no API access and will not work)
  • At least one product or service item in QuickBooks to bill against
  • Two custom deal properties in HubSpot (the guide names them)

Built for

Questions before you buy

Our pipeline has more than one won stage. Can it watch several?
Yes. The stage IDs sit in one list at the top of the workflow. Add every won stage you have, across pipelines, and each one raises an invoice the same way.
What if the HubSpot company has no email address?
The invoice is still created, but the send step is skipped and a note on the deal says why. QuickBooks needs a billing email to send, so someone adds it and sends from inside QuickBooks.
Can it use Xero instead of QuickBooks?
Not this package. Xero shapes contacts and invoices differently enough that we keep it as a separate build. Ask and we will quote it as a single integration.
Do the invoice lines match HubSpot products and prices?
When a deal has HubSpot line items, each one becomes an invoice line with its name, quantity and unit price, billed against the QuickBooks item you map in the sheet. Deals without line items get one line for the deal amount.
Will it work on Make or Zapier?
Both have HubSpot deal-stage triggers and QuickBooks invoice actions, and the mapping sheet applies to either. The line-item lookup is a plain HTTP call to HubSpot on all three platforms, and the guide shows it for each. n8n remains the tested version.

Nearby on the shelf

Whole catalog