maesn

Microsoft Dynamics 365 Business Central API Integration

Dynamics 365 Business Central is Microsoft's cloud ERP for small and mid-sized companies, used in more than 160 countries. It covers financials, supply chain, sales, projects and manufacturing. Connect it through Maesn and you reach it with the same REST API and the same data model as every other supported system.

YOUR PRODUCT+26
Trusted by winning software teams
HubSpotTipaltiPaywiseRallyQredNordhealthFindityFintoClockinHEROHolviLanes & PlanesAgicapHubSpotTipaltiPaywiseRallyQredNordhealthFindityFintoClockinHEROHolviLanes & PlanesAgicap
Why it is fast

A Business Central integration in days

Business Central is addressed in layers: your app is consented in the customer's Microsoft Entra directory, and every request then names an environment and a company inside it. All of it has to be settled before the first call goes out. Here is what Maesn does with them.

Business Central: Two values on every request

Resolved at connect, attached always

Every Business Central request names an environment and a company. Maesn settles both while your customer connects and attaches them from there, so neither reaches your code, and the Entra consent behind them is a one-time step rather than a per-request concern.

Business Central: Registration spans two portals

The setup runs with us

A multitenant Entra app, two permission sets, an admin consent, then one more entry inside Business Central itself. The app stays registered under your company, and Maesn goes through every step of it with you.

Business Central: Some events carry no ID

Delivered as one filtered read

When several records change close together, Business Central sends a single collection event with a time range instead of the IDs. Maesn forwards it in the normal event shape, and that range resolves with one list call.

What reaches your code is a REST call and an account key. Teams go live in days, and the system after Business Central is a configuration step.

A short call is usually enough to tell whether Maesn fits your use case.

Customer voice

Tipalti reaches Business Central without building it

Tipalti automates the full accounts payable cycle, from supplier onboarding through to global payments. Their mid-market and enterprise buyers expect deep connectivity to systems like Business Central, and Tipalti concluded that building that layer in-house was the wrong place to spend engineering time.

With Maesn, we accelerated our European expansion by making complex ERP integrations seamless across Benelux and DACH. As an AP platform, reliable access to key local ERP systems is critical and Maesn gives us exactly that.
Saad Abouyahya
Strategic Partnerships, Tipalti
Why companies choose Maesn

Three reasons to reach the Business Central API through Maesn

One Business Central connection is a solvable problem. The cost shows up at the fiftieth, spread across environments, companies and a client secret that expires on its own schedule.

01

The platform work stays here

The environment and company selection, the subscription that Business Central expires every three days, and the batched events that arrive without IDs. Each one is solved once, on our side, for every customer you connect.

02

The three-day clock is ours

A Business Central subscription expires after 72 hours, and renewing it means answering Microsoft's validation handshake again. Our URL is the one registered with Business Central, so the handshake and the renewal run here, and your endpoint receives the events.

03

The next system costs nothing

Once Business Central runs, every other supported accounting and ERP system answers on the same interface. Your second integration is a configuration step.

AppSource and partnership

Business Central in Microsoft AppSource

Most providers stop at the API. Maesn does the technical enablement and the relationship, and on Business Central the second one leads somewhere specific: AppSource, Microsoft's marketplace for Business Central apps, with more than 5.000 listed solutions.

Technical enablement

One integration against the Unified API and one data model, identical to every other system Maesn supports. Your engineers meet the same interface here as they will for the next system.

Listing support

Microsoft validates a listing technically and commercially. Maesn goes through both halves with you, so the submission clears the review the first time.

How an AppSource listing works

Connect App is the listing type

An integration built on Maesn qualifies as a Connect App, the standard AppSource type for third-party integrations.

It runs through Partner Center

The listing is submitted and managed in Microsoft Partner Center, which is where the validation runs.

The reach follows the platform

A listing puts you in front of the global Dynamics 365 customer base, in more than 160 countries.

The listing runs under your brand, not Maesn's. Your name is what the customer sees when they connect.

A listing is a distribution channel rather than a badge, and what it takes differs per vendor. Our guide to accounting integration partnerships walks through the marketplace requirements across the systems in the catalogue.

Maesn prepares the listing alongside your integration.

Authentication

Your Entra app, their company, settled once

Business Central authenticates through a Microsoft Entra app, and the app your customers consent to is yours rather than Maesn's. What comes after consent is the specific part: one tenant can hold several environments and several companies, and a request is only addressable once both are known.

Auth method
Microsoft Entra app
Multitenant, registered by you

One app, every customer. Maesn holds the credentials and settles environment and company behind it.

Two ways to settle environment and company
The interactive flow
Your customer picks an environment and a company on a selection page, and the choice is stored with the connection. The page can be styled to match your product.
Query parameters per request
Skip the selection and each call carries the environment name and company ID itself. Sent on top of a stored choice they overwrite it, which is how a customer moves to another company.

One combination is worth knowing up front: the route that hands the account key back as a signed webhook rather than a redirect does not support the interactive selection yet, so there environment and company travel as query parameters.

How your customer connects
  1. 1

    Your customer starts in your product

    You send them into the flow and Maesn opens Microsoft's consent screen. It carries your app name, because the app is registered under your company, so the connection reads as yours rather than as a third party's.

  2. 2

    Environment and company get settled

    With the interactive flow your customer lands on a selection page and picks one of each. Maesn stores both with the connection, and environments and companies stay isolated from one another from there on.

  3. 3

    You work with one account key

    Maesn stores the connection and returns an account key. From there every request carries your API key plus that account key, the same two headers you already send for every other system in the catalogue.

Every system in the catalogue authenticates differently, and Business Central is the case where the credential is the easy half and the addressing is not. Unified authentication is what keeps both off your side: the redirect, the selection step and the way the account key is handed back to you are configurable there, and identical no matter which system a customer connects.

Staying in sync

Every Business Central event, even the ones without an ID

Business Central pushes native events rather than making you poll for changes, and it subscribes by resource, so one registration returns every event type for it. Maesn registers the subscription per connected customer, renews it before Business Central expires it and normalises the payloads, so the shape you handle is identical to every other system you integrate.

Resources11 available
AccountsCredit notesCustomersDimensionsExpensesInvoicesItemsJournal entriesOffersSales ordersSuppliers
Event types4 available
CreatedUpdatedDeletedCollection

Business Central subscribes by resource rather than by pair, so one subscription returns all four event types for it.

Collection is the event type to design for. When several records of one resource change close together, Business Central holds them and sends a single event carrying a time range instead of the IDs. Maesn forwards it in the normal shape with that range attached, and you resolve it with one filtered list call rather than by learning Business Central's own filter syntax. Events arrive as an array either way, which is worth knowing before you write the handler.

Business Central speaks its own event vocabulary, which is why one event model runs across the whole catalogue: the handler you write for a Business Central invoice keeps working for a system that pushes nothing and needs polling underneath.

A collection event resolves through the same filtering and pagination you already use for a delta pull, so the range it carries needs no Business Central specific query, and what comes back sits in the shared common data model like every other invoice you handle.

Before you start

What Business Central asks for up front

Business Central asks for five things before an integration starts, and all of them are easier to plan for than to discover halfway through a build.

An Azure account with administrator rights
An active Azure subscription, a Microsoft Entra tenant and Cloud Application Administrator permissions on the account the app is registered from.
Your own multitenant Entra app
You register it in Microsoft Entra as a multitenant web application, with Maesn's callback as the redirect URL. Copy the client secret value the moment Entra shows it, because it is not retrievable afterwards, and note the expiry: six months by default, and we need the new value whenever you rotate it.
Two permission sets and an admin consent
Your app needs both application and delegated permissions on Dynamics 365 Business Central, granted with admin consent. Keep the scopes to what you actually use: the broad development scope reaches every endpoint, and asking for it in production is what makes customers hesitate at the consent screen.
A step inside Business Central itself
An administrator adds your client ID under Microsoft Entra Applications in Business Central. The Azure side alone does not finish the connection, and this is the step teams tend to find last.
API Setup templates for anything you create
A POST fails unless Business Central holds a template for that object under API Setup. Templates also populate some mandatory fields themselves, and those cannot be set through the API.

We walk through the Entra setup and the permissions with you.

Business Central FAQ

Business Central API questions

What is Microsoft Dynamics 365 Business Central?

Dynamics 365 Business Central is Microsoft's cloud ERP platform for small and mid-sized companies, used in more than 160 countries. It covers financial management, supply chain, sales, project management and manufacturing. For a software team the relevant part is its structure: a customer's Microsoft tenant can hold several environments, and each environment can hold several companies.

Do I need my own Microsoft Entra app for Business Central?

Yes. You register a multitenant application in Microsoft Entra, point its redirect URL at Maesn's callback and submit the client id and secret once. Registering it under your own company is what puts your product's name on the consent screen your customers see. Maesn runs the flow for every customer from there.

What are the Business Central environment and company ID, and where does the tenant fit?

The environment and the company are the two values a Business Central request carries, and no call is addressable without them. The Microsoft Entra tenant is a different thing: it is the directory your app is consented in, and it is what makes the call permitted rather than what routes it. Maesn settles all of it while your customer connects and attaches the two values to every call, so no Business Central specific logic stays in your code. You can still send an environment or company on a single request to override the stored one.

Does Maesn support multiple Business Central environments and companies?

Yes, through the Interactive Authentication Flow, which Business Central is one of the supported systems for. Your customer picks an environment and a company on a selection page you can style as your own, the choice is stored with the connection, and environments and companies stay isolated from one another.

Does Business Central support webhooks?

Yes. Enabled today are accounts, credit notes, customers, dimensions, expenses, invoices, items, journal entries, offers, sales orders and suppliers, and further objects can be switched on for a use case that needs them. Business Central subscribes by resource rather than by resource and event type, so one subscription returns every event for that resource. Maesn registers it per connected customer, renews it before the three-day expiry and normalises the payloads.

What is a Business Central collection event?

It is what Business Central sends when several records of one resource change close together. Rather than one event per record it holds them and sends a single event carrying a time range instead of the IDs. Maesn forwards it in the same shape as every other event with that range attached, and you resolve it with one filtered list call for the window. Events arrive as an array rather than one per request.

Why do my POST requests to Business Central fail?

Most often because of API Setup. Business Central needs a template for the object you are creating, and without one the POST endpoints do not work. Templates also populate some mandatory fields themselves, and those cannot be set through the API, so it is worth checking the setup in Business Central before debugging the request.

Can I get my Business Central app listed in Microsoft AppSource?

Yes. An integration built on Maesn qualifies as a Connect App, the standard AppSource listing type for third-party integrations. The listing runs through Microsoft Partner Center, Microsoft validates it technically and commercially, and Maesn goes through both halves of that with you.

Why integrate Business Central through Maesn instead of directly?

Because the work does not stop at Business Central. Direct means owning the Entra app registration with its two permission sets and admin consent, an environment and company selection per customer, a webhook subscription that expires every three days and has to be renewed through a validation handshake, the collection event logic and every future breaking change, for one system. Through Maesn you build once against one data model, and every other supported accounting and ERP system is then reachable on the same interface.
Ship your ERP and accounting integrations. Connect once.
Book a demo