Integrating Business Central with Salesforce
Patterns for connecting Business Central to Salesforce — accounts and contacts, opportunities to orders, and the choice between iPaaS and direct integration.
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.
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, and vertical industry apps.
- EDI with Business CentralHow EDI integration works with Business Central — direct EDI vendors, AppSource connectors, document mapping, and the trade partner setup.
- Integrating Dynamics 365 with Azure servicesHow Dynamics 365 plugs into Azure — Service Bus, Logic Apps, Functions, API Management, Event Grid, and the iPaaS patterns that actually work.