HubSpot integrations with your ERP and other systems
When HubSpot and your system of record disagree, sales works from the wrong numbers. I design and build the connection: what each system owns, what moves between them, and what happens when something fails.
What I connect HubSpot to
- ERP systems: orders, invoices, pricing and inventory visible where sales works.
- Accounting: invoices and payments tied back to the right company and deal.
- Inventory and warehouses: stock by location, reservations and movements.
- E-commerce and other tools: anything with an API or webhooks, plus systems that have neither.
Systems I work with
| ERP and accounting | NetSuite, Microsoft Dynamics 365 Business Central, QuickBooks, Sage, Zoho Books, ERPNext, Epicor Eclipse |
|---|---|
| E-commerce | Shopify |
| Workplace | Google Workspace (Gmail, Calendar, Drive, Sheets), Microsoft 365 (Outlook, Teams, Excel, SharePoint), Slack |
| Marketing and calls | Google Ads, Meta, CallRail |
| AI | Anthropic’s Claude |
| Automation | n8n, Zapier |
Not on the list? If it has an API, webhooks or even a reliable export, it can usually be connected. Epicor Eclipse has no API at all, and I’ve still delivered two projects around it.
How I build integrations
- Ownership first. Every record and field gets one system of truth, written down before any code.
- One writer per balance. When several flows touch the same number, like stock on hand, one process writes it, so concurrent updates can’t corrupt it.
- Safe to re-run. Loads are keyed on a unique ID, so a retry updates a record instead of duplicating it.
- HubSpot’s real behaviour. For example, HubSpot webhooks can arrive in batches of up to 100 events in one request, and the flow has to handle every one.
- An audit trail. Changes such as inventory movements go to an append-only ledger you can check later.
When the other system has no API
For a multi-location retailer replacing Epicor Eclipse, I built the ERP on top of HubSpot: 5 custom objects, 81 custom properties and 4 deal pipelines, with Postgres holding pricing rules and n8n as the only writer of inventory. Read the write-up.
For an equipment distributor on the same ERP, sales needed to place orders and see live inventory inside HubSpot, on a portal without serverless functions. I built a HubSpot module as the front end and a hardened Node service on the client’s own server behind it. Read the write-up.
Tools I use
HubSpot’s CRM API, custom objects and webhooks; n8n; Postgres; Node.js; and the APIs of whatever sits on the other side.
Common questions
Which systems can you connect to HubSpot?
Can HubSpot integrate with an ERP that has no API?
Should the integration be one-way or two-way?
Why not just use an off-the-shelf connector?
Where does a custom integration run?
Have a system that needs to talk to HubSpot?
Book a free 30-minute call. Bring the messy version and I’ll help you work out what to fix first.
Book a call