Your Tech Club
INTEGRATIONSMICROSOFT DYNAMICS 365 BUSINESS CENTRAL

Business Central integration

An integration with Business Central means orders, customers, stock and invoices no longer move between systems by hand. That saves duplicate work in sales, purchasing and finance, and makes the month-end close more predictable. Below you'll read how integrating with Business Central online works.

All integrations
4.8 from 127 reviews
ISO 9001 & 27001
Microsoft Dynamics 365 Business CentralAccounting and ERP · Microsoft
  • Customers and vendors goes back and forth with Your other systems
  • Items, prices and stock goes back and forth with Your other systems
  • Sales orders and sales invoices goes back and forth with Your other systems
  • Purchase invoices goes back and forth with Your other systems
Your other systemsSuch as Shopify, Salesforce

Built for clients including Tata Steel, M&G Investments, Digistore24, Toppers in Concert, Bar-le-Duc and Loogman

What you exchange

This is the data organisations most often let flow between systems. Which of it matters to you depends on where work is getting stuck today.

Customers and vendors

Master data with address, VAT details, payment terms and posting groups. Those posting groups later determine which accounts an invoice is posted to and with which VAT.

Items, prices and stock

Business Central is often the source for item data and stock per location. Online stores, portals and sales channels read it from there.

Sales orders and sales invoices

Orders from an online store, portal or CRM become sales orders the warehouse picks up, or go straight to an invoice if nothing more needs to be delivered.

Purchase invoices

Supplier invoices, linked to a purchase order or not, ready to check and post.

Dimensions and journals

Cost centre, department or project are attached to an entry as a dimension. Integrations that post directly into a journal have to pass those dimensions along.

Payments and open items

Payment status and outstanding balance per customer, to report back to sales or a customer portal.

Off the shelf or custom

Not always. If an existing integration for Microsoft Dynamics 365 Business Central does exactly what you need, we'll tell you.

What already exists

Microsoft ships a few integrations itself. The Shopify Connector comes preinstalled and synchronises items, stock, customers and orders. You connect to Dynamics 365 Sales, Microsoft's CRM, through Dataverse. For other systems there are partner apps on Microsoft AppSource.

A standard integration like that is enough if your process stays close to the standard: one company, common pricing agreements and no custom fields that need to come along. The more custom fields, extensions and exceptions your Business Central has, the sooner you hit the limits of a standard app.

When you need custom work
  • You have custom fields or tables in Business Central that a standard API doesn't know.
  • Your CRM isn't Dynamics 365 Sales but, for example, Salesforce or HubSpot.
  • You work with several companies in one environment and orders need to land in the right company.
  • Orders come from your own B2B portal with customer-specific prices and approvals.
  • You want to hold back discrepancies before anything is posted.
How it works technically

REST API v2.0 and custom APIs

Business Central online has standard APIs on OData v4, for customers, items and sales invoices, among others, and they're enabled by default. You can't extend them with extra fields. If you need those, you copy the AL code and create your own API page in an extension.

Signing in through Microsoft Entra ID

Web service access keys (basic auth) have not been supported in Business Central online since October 2022. You use OAuth through Microsoft Entra ID. For integrations without a user there is service-to-service authentication with the client credentials flow; according to Microsoft, that doesn't require a user licence.

Webhooks you have to renew

Through the subscriptions API you subscribe to changes in, for example, customers or invoices. Business Central first validates your endpoint with a validationToken. A subscription expires after three days unless you renew it, and a notification only says which record changed, not what the new data is.

Limits per user

Per user you may make 6,000 OData requests in a sliding window of five minutes, with at most 5 being processed at the same time. A $batch request may contain 100 operations and a request may take at most eight minutes. Each environment can have at most 200 webhook subscriptions.

Sandbox environments

An Essentials or Premium subscription includes one production environment and three sandbox environments. There you test an integration with a copy of real data, without posting anything in your production company.

AI in between

An integration moves data. In between, AI can read, sort and prepare a suggestion. Where it matters, a person decides.

Purchase invoices as drafts

In Business Central, Microsoft offers the Payables Agent: it reads supplier invoices from a mailbox, finds the vendor and prepares a draft invoice that a person checks before anything is posted. Microsoft states that the agent has been validated for English. For Dutch-language invoices or your own rules, a custom version can make sense, on the same principle: a draft first, posting after approval.

Credit signals for sales

AI combines open items and payment behaviour from Business Central into a short warning in the CRM, before an account manager commits to a new order. The decision stays with sales and finance.

Checking orders

An order with a price below the agreed minimum, an unknown item or an unusual delivery address goes onto a review list instead of straight to the warehouse.

Where it goes wrong

Webhooks that quietly expire

Forget to renew subscriptions within three days and you miss changes without any error message. Build a renewal task and a periodic check that compares both systems.

Notifications without content

A webhook notification only says that something has changed. So every notification costs another GET request, and with many changes at once you get a notification of the collection type. Factor that into your limits.

Missing posting groups

Business Central determines VAT and general ledger account through the posting groups of customer and item. If an integration creates customers or items without the right groups, posting gets stuck or the VAT comes out wrong.

Old authentication

Older integrations with a username and web service key no longer work in Business Central online. When migrating, you create an app registration in Microsoft Entra ID and give it the right permissions in Business Central.

How we build an integration

  1. What goes where

    Which data moves, in which direction, and which system wins when two values differ. That is written down before anything gets built. For this integration, that means: Customers and vendors, Items, prices and stock, Sales orders and sales invoices, Purchase invoices, Dimensions and journals, Payments and open items.

  2. Fields and rules

    For every field, how it translates between the systems: statuses, VAT codes, general ledger accounts, item numbers. And what happens with a duplicate or a missing value. For this integration, that means: REST API v2.0 and custom APIs, Signing in through Microsoft Entra ID, Webhooks you have to renew, Limits per user, Sandbox environments.

  3. Testing with real cases

    In a sandbox or test administration, with the exceptions you actually run into: credit notes, partial deliveries, changed customer details.

  4. Live, with logging and monitoring

    Every sync is logged, and when something fails, someone gets an alert. If a vendor changes its API, we update the integration.

The Your Tech Club team at the office in Amsterdam
Amsterdam
Who you'll talk to

No account manager. You talk to someone who builds integrations themselves, and who will tell you when a standard integration is enough.

Joey van VlietJoey van VlietFounder
Yassine SeghrouchniYassine SeghrouchniFounder
  • Office on the Duivendrechtsekade in Amsterdam
  • ISO 9001 and ISO 27001, certified by Kiwa
  • 500 projects delivered
  • 4.8 from 127 reviews
Frequently asked questions

Does Business Central have an API?

Yes. Business Central online has standard APIs, version 2.0, based on REST and OData v4, and they're enabled by default. You can also create your own API pages in AL for data the standard API doesn't include. Access runs through OAuth with Microsoft Entra ID.

Can I still integrate with a web service key?

Not in Business Central online. Since October 2022, access keys (basic auth) are no longer supported there. You use OAuth through Microsoft Entra ID, and service-to-service authentication for integrations without a user.

What are the Business Central API limits?

Per user there is a limit of 6,000 OData requests in a sliding window of five minutes, with at most 5 requests being processed at the same time and a queue of 95. Above the limit you get status 429. A request may take at most eight minutes.

Does Business Central have webhooks?

Yes, through the subscriptions API. You register a URL, Business Central performs a handshake with a validationToken and then sends notifications when things change. Subscriptions expire after three days, so you have to renew them.

Can I add fields to the standard API?

No. According to Microsoft, you can't extend the standard APIs with extra fields. Instead, you copy the API's AL code and turn it into your own API, as part of an extension.

How do I test a Business Central integration safely?

In a sandbox environment. An Essentials or Premium subscription includes three sandboxes, where you can put a copy of your production data. That way you test with real situations without posting anything in your real books.