Exact Online and HubSpot integration
Exact Online runs your accounting, purchasing, sales, and inventory. HubSpot runs your sales pipeline and customer relationships. Connecting the two keeps your CRM customer master in sync with your ERP accounts so sales teams always see the current customer record, payment history, and contact details from Exact Online. Customer account changes in Exact Online flow into HubSpot automatically, and your sales teams spend less time chasing stale data.
What moves between them
The main flow is Exact Online to HubSpot. Exact Online account records (both customers and suppliers flagged by the IsCustomer and IsSupplier attributes) sync into HubSpot as companies, while Exact Online contacts become HubSpot contacts. On each account or contact change in Exact Online, the webhook notifies ml-connector, which fetches the full entity via REST and upserts it into HubSpot. Associations between companies and contacts are preserved where the relationship exists in Exact Online.
How ml-connector handles it
ml-connector registers a webhook with Exact Online for Accounts and Contacts topics in each division. When Exact Online posts a webhook event, ml-connector verifies the HMAC-SHA256 signature using the webhook secret from Exact Online's App Center and fetches the full entity via REST to get all fields (webhook payloads include only the key and action). The OAuth 2.0 access token is refreshed before it expires and refresh tokens are rotated every 30 days. HubSpot contacts and companies are upserted with a deduplication key based on the Exact Online entity ID. Rate limits on both sides are respected - Exact Online access token refresh waits if needed, and HubSpot batch writes are capped at 100 records per request. Every record carries a full audit trail so account and contact changes can be traced back to the Exact Online source.
A real-world example
A regional European accounting firm uses Exact Online for client ledgers, AP/AR, and project billing. Sales and account management teams use HubSpot to track opportunities, manage renewals, and coordinate service delivery. Before the integration, customer account details were maintained separately in each system, so when a customer changed address, paid an invoice, or hit a billing milestone in Exact Online, account managers had to update HubSpot manually. With Exact Online and HubSpot connected, account changes flow automatically and sales teams see current payment status and contact information from the ERP without leaving CRM.
What you can do
- Sync Exact Online accounts into HubSpot as companies, preserving supplier and customer status.
- Sync Exact Online contacts into HubSpot contacts, maintaining associations to parent accounts.
- Receive webhook notifications from Exact Online when accounts or contacts are created or updated, and sync changes within minutes.
- Handle OAuth 2.0 authentication and token refresh for both Exact Online and HubSpot, with 30-day refresh token rotation.
- Verify webhook signatures with HMAC-SHA256 and maintain a full audit trail of every account and contact sync.
Questions
- Which direction does data move between Exact Online and HubSpot?
- The main flow is Exact Online to HubSpot. Account and contact records from Exact Online sync into HubSpot as companies and contacts. Changes in Exact Online are pushed via webhook, so HubSpot updates within minutes. Writes from HubSpot back to Exact Online are not part of the standard integration, keeping the ERP master record authoritative.
- How does the integration stay in sync when customers and contacts change in Exact Online?
- ml-connector registers a webhook with Exact Online for Accounts and Contacts topics. When Exact Online posts a webhook event, ml-connector verifies the HMAC-SHA256 signature and fetches the full entity via REST API. The record is then upserted into HubSpot, deduplicating on the Exact Online entity ID so updates replace prior records rather than creating duplicates.
- How are the different Exact Online regions and divisions handled?
- Exact Online API endpoints are region-specific (Netherlands, Belgium, UK, Germany, France, Spain, USA), and all calls require a division ID. ml-connector accepts the region base URL and division ID per customer, registers webhooks in the correct division, and routes all REST calls to the matching region endpoint.
Related integrations
More Exact Online integrations
Other systems that connect to HubSpot
Connect Exact Online and HubSpot
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started