How to Integrate HubSpot with Business Central Without Dual Data Entry
HubSpot knows who might buy. Business Central knows who owes you money, what they ordered, and whether you can ship it. Connecting them is not a “CRM integration” checkbox. It is CRM meeting ERP, and the two products disagree about what a customer is.
People search “how to integrate HubSpot with Business Central,” “HubSpot BC,” and “connect HubSpot to BC” because they already tried a connector and still have two customer records.
I do this work as HubSpot integration services plus API development. The goal is one customer story: sales in HubSpot, financial truth in Business Central, no intern copying account numbers.
Why native connectors feel 80% done
There are marketplace and ISV apps that sync contacts, companies, and sometimes invoices. They are the right first experiment.
They usually break on:
- Customer identity. HubSpot company vs Business Central customer vs a bill-to that is not the same legal entity
- Items and SKUs. Deals with ad-hoc line items vs a strict item card
- Tax, currency, dimensions. ERP cares. CRM templates do not
- Custom objects. Your “site,” “subscription,” or “job” is not a standard HubSpot object
- Direction. Sales wants HubSpot to create the BC customer on closed-won. Finance wants BC to be the only place customers get a number. Both can be true; the connector often picks one and lies about the other
If your question is literally “how to connect HubSpot to BC” and you have vanilla objects, start with the vendor app in a sandbox. If finance still exports Excel every Monday, you need a custom map.
A practical integration sequence
1. Freeze the system of record per object. Contacts can live in HubSpot. Customer numbers and invoices live in Business Central. Products live in BC unless you are a pure HubSpot commerce shop, which you are not if you are reading this.
2. Draw the happy path only. Example: deal hits closed-won → create or match BC customer → create sales order or quote → write the BC customer number back to HubSpot. Stop there until that path is boring.
3. Matching rules before sync jobs. Email domain, tax ID, HubSpot record ID stored in BC, BC number stored on the HubSpot company. Without a match key you will duplicate customers and spend the project cleaning them.
4. Errors as a queue, not a log nobody reads. Failed customer create should notify a named owner with the HubSpot URL and the BC error. Silent fail is how you get two truths.
5. Reporting last. Do not start with a warehouse. Get operational sync right. Redshift or Power BI can wait. If leadership only wanted a dashboard, say so and skip the ERP write.
Same pattern I use for SAP S/4HANA and other ERPs: map, match, one vertical slice, then expand.
Custom vs native for HubSpot and Business Central
Use native when:
- Standard customer / contact / invoice objects
- One legal entity, one currency
- You can live with near-real-time, not instant
Build custom when:
- Multiple entities or dimensions
- Closed-won must create orders with real SKUs
- You have a portal that must show BC balances next to HubSpot deals
- Native sync already ran for six months and staff still retype
Longer framing: custom vs native HubSpot integrations.
What to bring to a consult
A closed-won deal, the matching Business Central customer (or the screenshot of it missing), and an honest sentence about which system wins when they disagree. We will mark native vs custom on a free call instead of buying another connector you already know is wrong.




