HubSpot and QuickBooks: Invoices on the Deal Record
The integration closes the loop between closed-won and paid. It is genuinely useful and considerably narrower than most people assume — QuickBooks Online only, and accounting stays the system of record.
- Connector
- Native — Intuit-maintained app in the HubSpot App Marketplace
- Sync direction
- Mostly QuickBooks → HubSpot for status; HubSpot → QuickBooks for invoice creation
- Setup time
- 30 minutes, plus product mapping
- Availability
- QuickBooks Online only — Desktop is not supported
| What | Direction | Detail |
|---|---|---|
| Invoice creation | HubSpot → QuickBooks | Raised from the deal record, with line items drawn from the deal's products where the product mapping is set up. |
| Invoice status | QuickBooks → HubSpot | Draft, sent, viewed, partially paid, paid and overdue all render on the deal and the associated contact timeline. |
| Payments | QuickBooks → HubSpot | Payment received and amount outstanding appear against the invoice, which is what makes revenue-based workflows possible. |
| Customers ↔ contacts and companies | Two-way | Matching is by email and name. QuickBooks customers that are legal entities rarely match HubSpot companies cleanly without a manual pass. |
| Products and services | QuickBooks → HubSpot | The QuickBooks item list can populate the HubSpot product library so deal line items produce correct invoice lines. |
| Workflow triggers | QuickBooks → HubSpot | Invoice paid and invoice overdue become workflow enrolment triggers — the basis for automated dunning and for handoff to onboarding. |
Setting it up
- Tidy the QuickBooks item list first. Every product you intend to invoice from a deal needs a clean, uniquely named item, because the mapping keys off it.
- Install the QuickBooks Online app from the HubSpot App Marketplace and authorise it against the production company file, not the sample company.
- Map the product library before mapping customers — line items are what makes an auto-generated invoice usable rather than something finance rewrites by hand.
- Run a customer reconciliation pass: export QuickBooks customers, export HubSpot companies, and fix the name mismatches before turning on two-way matching.
- Raise three test invoices from real deals of different shapes — one simple, one multi-line, one with a discount — and have finance check them in QuickBooks before rollout.
- Build the two workflows that justify the integration: invoice paid triggers the onboarding handoff, invoice overdue by fourteen days notifies the deal owner rather than only finance.
Where the integration stops
- QuickBooks Desktop is not supported. This is the single biggest surprise. Desktop shops need a third-party middleware layer, and the good ones are not cheap.
- One QuickBooks company per HubSpot account. Multi-entity businesses running separate books per country or brand cannot consolidate through this connector.
- Historical invoices do not fully backfill. Expect the sync to start roughly from connection date. Reporting on last year's payment behaviour still happens in QuickBooks.
- Customer matching is fragile. "Acme Ltd" in QuickBooks and "Acme" in HubSpot are two records until someone reconciles them, and the connector will not guess.
- Tax, currency and discount handling stays in QuickBooks. Anything a HubSpot quote calculates is indicative; the invoice is authoritative, and the two can disagree if the product mapping drifts.
The loop this closes
Sales marks a deal closed-won. Somewhere between that click and the money arriving there is a gap, and the gap is where most CRMs stop caring. The QuickBooks integration fills it: the deal record shows whether the invoice was raised, sent, viewed and paid.
That matters for two workflows specifically. First, onboarding handoff — starting implementation on a signed-but-unpaid deal is a decision, and it should be a deliberate one. Second, collections — a deal owner chasing an overdue invoice gets a better response than a finance address nobody recognises.
Where teams get it wrong
They connect it and skip the product mapping. Invoices then generate with a single generic line item, finance rewrites every one of them by hand, and within a month people are raising invoices directly in QuickBooks again and the connector is decorative.
The product library is the whole integration. Spend the afternoon on it.
The multi-entity problem
One QuickBooks company per HubSpot account is a hard boundary. If you invoice from a UK entity and a US entity, you cannot see both on the same deal record through this connector. The workarounds are all unattractive: separate HubSpot portals, a middleware layer, or accepting that one entity's invoices are invisible in the CRM. Worth knowing before the finance team builds a process on it.