HubSpot NetSuite integration.
Pipeline and revenue, reconciled. The deal closes in HubSpot and somebody re-types it into NetSuite. Then finance and sales report different numbers for the same quarter and spend a week working out which is right. Quote to cash is one process and it should run as one.
Sales closed it. Finance never saw it.
CRM and ERP model a customer differently on purpose. The failure is not that they disagree, it is that nobody decided which disagreements are legitimate, so the reconciliation happens in a spreadsheet at the end of every month.
Two numbers for one quarter.
NetSuite — the finance boundaryThe boundary between selling and billing.
Customer identity across both
A HubSpot company and a NetSuite customer are matched on an explicit key, never on name. Parent and child hierarchies have to agree too, or consolidated reporting silently double counts.
Items and the product catalogue
HubSpot products and NetSuite items stay in step so quotes cannot be built from things that cannot be invoiced. One catalogue, one owner, synced in one direction.
Closed deal to sales order
A won deal creates the sales order with line items, terms and the right subsidiary, and writes the order number back so sales can see it without a NetSuite licence.
Revenue back against the pipeline
Invoiced and recognised revenue returned to HubSpot at company level, so you can compare what was forecast with what was actually billed.
Multi-subsidiary and currency
Subsidiary, currency and tax determination are NetSuite concerns that constrain what a quote may say. The integration enforces that rather than discovering it at invoicing.
Failure handling that is visible
A sales order that fails validation cannot vanish into a log. Failures surface on the deal record with a reason someone in sales can act on.
Built to a contract, not to a connector.
Draw the boundary
Which system owns which field, in writing, before a line of code. Most broken integrations are two systems both believing they are the source of truth.
Model the join
The key that matches a record on one side to a record on the other, and the rule for what happens when it does not match — because it will not match.
Build and instrument
Sync built with retries, idempotency and a dead letter path, plus logging you can read without opening a console.
Reconcile
Counts compared on both sides on a schedule, with a report that names the drift rather than a green tick that hides it.
Hand over
A runbook covering the three failures that actually happen, so the next person does not have to reverse-engineer the design from the logs.
The CRM tries to become the ERP.
Ambitious integrations end up rebuilding invoicing logic in the CRM, and then every tax rule change has to be made twice. The boundary that holds is simple: HubSpot owns everything up to the signature, NetSuite owns everything after it, and the join is the order.
What people ask before they commit.
Do we need a middleware platform?
Sometimes. For a straightforward quote-to-cash flow, direct API integration is cleaner and cheaper to run. Middleware earns its place when several systems need the same NetSuite data and you want one integration surface rather than four.
Can sales see invoices without a NetSuite seat?
Yes, and it is usually the single most popular part of the project. Invoice status, balance and payment dates surface on the HubSpot company record so nobody has to ask finance.
What about NetSuite customisations?
Custom fields, custom records and SuiteScript are read as part of discovery. The integration is built against your actual NetSuite, not against a generic one, and that is most of why it takes as long as it does.
How long does it take?
Four to ten weeks depending on how many objects cross the boundary and how customised the NetSuite account is.
Can it be two-way?
It can, and mostly it should not be. Bidirectional sync on financial data creates conflicts with real consequences. We sync in one direction per field, deliberately.
Where people go from here.










One process, from quote to cash.
Tell us what you are running
What the system does today, where it breaks, and when it has to work. An engineer reads it — you get an answer inside one business day, not a sequence.