Integrating Business Central with Salesforce
By Emil Björk · Microsoft business apps consultant, Gothenburg
Patterns for connecting Business Central to Salesforce — accounts and contacts, opportunities to orders, and the choice between iPaaS and direct integration.
On this page (7)
Plenty of mid-market companies run Salesforce for CRM and Business Central for ERP, and need them to talk. Microsoft doesn't ship a first-party connector for this pair (it ships one for Dynamics 365 Sales, naturally), so the integration is built — by partner, ISV, or in-house — using one of three patterns.
Pattern 1: iPaaS middleware
The most common approach. A platform like MuleSoft, Boomi, Azure Logic Apps, Tray.io, Workato, or Power Automate sits between the two systems and synchronises records. The middleware handles transformation, retry, error handling, and observability. iPaaS scales well, supports complex mappings, and is what Salesforce customers typically already have for other integrations.
Pattern 2: ISV connector from AppSource or AppExchange
Several ISVs publish packaged Business Central ↔ Salesforce connectors — typically pre-built mappings for Accounts/Contacts/Opportunities/Orders with a configuration UI. Faster to deploy than custom iPaaS, more rigid in shape. Suitable for standard integrations where the entity model matches both products without too much customisation.
Pattern 3: Direct API-to-API
Code that calls Salesforce's REST API and Business Central's v2.0 API directly, hosted in an Azure Function or similar. Cheapest to start, hardest to maintain — every change in either system risks breaking the integration. Reasonable only for the simplest, most-stable integrations.
The canonical mapping.
- Salesforce Account ↔ BC Customer / Vendor, matched on Tax ID or a custom external-ID field.
- Salesforce Contact ↔ BC Contact.
- Salesforce Opportunity (Closed Won) → BC Sales Quote or Sales Order. Won opportunities push into BC; BC posts the invoice and pushes back the invoice number and status.
- BC Invoice / Payment → Salesforce custom Invoice and Payment records, so sales reps see paid status.
Identity and ownership
Decide which system is the source of truth for each entity. Typically Salesforce owns leads/opportunities, BC owns inventory/finance, and customers are owned by Salesforce up to opportunity-closed-won, then BC takes over for the customer record's financial side.
Pricing and product catalog
Items live in BC; published to Salesforce via the connector as Products. Salesforce Price Books map to BC price lists. Keep the catalog one-way (BC → SF) to avoid sync conflicts on something as critical as pricing.
Inventory
Real-time inventory in Salesforce is rare and expensive. The pragmatic pattern: show last-known stock with a refresh timestamp; reserve inventory only at order-creation time in BC.
Operational reality
Two production systems with continuous sync is more demanding than either alone. Allow budget for ongoing maintenance, monitoring, and quarterly reconciliation. Build the integration tests before you build the integration.
Further reading
Related guides
- Integrating Business Central with Microsoft 365How Business Central plugs into Outlook, Teams, Excel, SharePoint, OneDrive, and the rest of Microsoft 365.
- Integrating Business Central with ShopifyHow Microsoft's Shopify connector for Business Central works — items, orders, inventory sync, fulfilment, and the operational realities.
- Common Business Central ISV add-onsCategories of Business Central ISV add-ons that customers most often install — country localizations, document automation, EDI, banking.
- EDI with Business CentralHow EDI integration works with Business Central — direct EDI vendors, AppSource connectors, document mapping, and the trade partner setup.
- Bring-your-own-storage patterns for DataverseWhat 'BYOS' actually means in the Dataverse world — customer-managed keys, your own data lake for Synapse Link, SharePoint and Azure Blob for files.
Browse every guide in Integrations or just Data movement.
Was this helpful?
Signals which guides land and which need work. No account, no comment box — corrections go through the contact page.
Spot something wrong or want a topic covered? Send a correction or a topic request — both are welcome.