HubSpot ERP integration: what to sync, in which direction, and why
A HubSpot ERP integration syncs customers, products, orders and invoices between the ERP and the CRM. The ERP stays the source of truth for financial data, HubSpot for sales activity. The usual flow is closed won deals creating sales orders in the ERP, and orders, invoices and payment status flowing back onto the HubSpot company record.
By HubReven Engineering
The point of connecting the ERP to HubSpot is simple to say. A rep opening an account should see what that customer buys, what they owe and whether they are on credit hold, without asking finance.
Getting there is mostly a question of ownership, not technology. NetSuite, SAP, Dynamics and Odoo all have APIs. The hard part is agreeing which system is right about what.
Start with ownership, not mapping
Every field gets exactly one owner. Here is the split that works for most B2B companies:
| Data | Owner | Direction |
|---|---|---|
| Billing address, tax ID, payment terms | ERP | ERP to HubSpot |
| Credit limit, credit hold | ERP | ERP to HubSpot |
| Products, prices, SKUs | ERP | ERP to HubSpot |
| Orders, invoices, payment status | ERP | ERP to HubSpot |
| Deal, stage, amount, close date | HubSpot | HubSpot to ERP on close |
| Contacts and their roles | HubSpot | Mostly stays in HubSpot |
| Account owner | Agreed per company | Usually HubSpot |
Notice that very little flows from HubSpot to the ERP. Finance is right to be protective of the ledger, and an integration that lets a sales rep edit a billing address in the ERP will be switched off within a month.
The flow that matters: closed won to sales order
The most valuable single moment is when a deal closes.
- A deal moves to closed won in HubSpot.
- The integration checks the company has an ERP customer ID. If not, it creates the customer in the ERP, or routes the deal to finance for approval first.
- It creates a sales order using the deal's line items, priced from the ERP's own product records.
- It writes the sales order number back to the HubSpot deal.
Step 2 is where policy lives. Some finance teams allow automatic customer creation. Others require a credit check first. Encode whichever is true, not whichever is easier.
Line items have to reference ERP products by SKU. If HubSpot holds its own product library with its own prices, the sales order and the quote will disagree, and the customer will notice before you do. Sync products from the ERP into HubSpot and lock prices against editing.
What flows back
Once the ERP knows about the customer, the useful data flows the other way:
- Orders and invoices, usually as custom objects associated with the company, so the full history sits on the record.
- Rolled up figures on the company, such as revenue this year, last order date and open balance. These power segmentation and renewal workflows.
- Credit hold and payment status, so marketing does not send an upsell to an account in collections.
Custom objects require HubSpot Enterprise. Without it, write the rolled up figures to company properties and keep the line level detail in the ERP. That covers most of what reps actually look at.
The three fields that cause the disputes
Revenue. HubSpot deal amount is what was sold. ERP invoiced revenue is what was billed. They will never match exactly, and they should not. Label them differently in HubSpot so nobody compares them in a board meeting.
Customer name. The legal entity in the ERP is "Harbor Supply Holdings LLC". Sales calls them "Harbor". Keep both: the ERP name as a read only property, the HubSpot company name as sales prefers.
Parent and child accounts. ERPs often bill a subsidiary while sales manages the group. Sync the hierarchy explicitly, as parent company associations, or revenue roll ups land on the wrong record.
Matching: never on name
Companies are matched on the ERP customer ID, stored on the HubSpot company as a dedicated property. For existing records, a one time matching pass uses domain and name to propose pairs, a person confirms the ambiguous ones, and from then on the ID is the only key.
Matching on company name in production is how two companies called "ABC Supply" become one.
Native connector or custom?
Marketplace connectors exist for the larger ERPs and cover the standard flow. Use one when your order process is standard and your data model is close to its defaults.
Build custom when:
- The ERP is on premise, older, or only exports files. A file based pipeline works fine.
- Order creation needs approval logic, credit checks or multiple entities.
- Several systems are involved, such as ERP, billing and a warehouse, and HubSpot needs a single view across them.
Whichever you choose, it needs monitoring that alerts on missing data, not just errors. An ERP sync that silently stopped on Tuesday shows up as a wrong forecast on Friday.
Frequently asked questions
Does HubSpot integrate with NetSuite?
Yes. Marketplace connectors cover the standard sync of customers, items, sales orders and invoices. A custom integration is used when the order process needs approval logic, custom records or multiple subsidiaries the connector does not handle.
Can HubSpot integrate with SAP?
Yes, through SAP's APIs, middleware, or scheduled file exports for older on premise installs. SAP projects take longer mainly because of the approval process around the ERP, not the integration itself.
Should the ERP or HubSpot be the source of truth for customers?
Both, for different fields. The ERP owns financial data such as billing address, terms and credit status. HubSpot owns sales data such as contacts, deals and ownership. Decide field by field and document it before building.
How long does a HubSpot ERP integration take?
Four to eight weeks for most mid market ERPs, including mapping, a staging build, historical backfill and reconciliation. The mapping and the finance sign off on ownership usually take longer than the code.
Get the next one