Skip to Content

Managing Master Data with MDS (V2) For Cross Environments in Dynamics 365 Business Central

Introduction

Overview

Master Data Sync or MDS (used in Managing Master Data) keeps master data consistent across Microsoft Dynamics 365 Business Central companies, environments, Azure regions and tenants. One company is the master — it issues numbers, keeps the registry of configurations, governs the data and distributes it. The other companies are subscribers — they can create and change master data, and they control which values stay local.

To get our solution, visit us on Microsoft Marketplace MDM Cross Environment 



Key Concepts

ConceptMeaning
MasterThe one company that issues numbers, answers real-time questions and distributes changes to all subscribers.
SubscriberA participating company. It sends its own changes to the master and receives changes from it.
ConnectionHow a company reaches another company: in the same environment, or through the Business Central API (other environment, region or tenant).
Sync TableA table that is synchronized. Any table qualifies: standard, custom or from an ISV app.
EntityA business object from the catalog (for example Customers): all its tables, processing order, field rules, numbering and dependencies, added in one step.
Field ModePer field and per company: Synced, Company-Specific, Master-Owned or Excluded.
Local TemplateThe item, customer or vendor template whose values fill a company’s company-specific fields when a record arrives.
Value MapA translation of an incoming code into this company’s code, defined in the receiving company.
Outbox / InboxChanges waiting to be sent from this company / messages received by this company, with status and errors.
Master NumberingNew records with a blank number get their number from the master in real time.
Pull / Initial LoadA company asks the master to send specific records (one configured item) or all records of tables (onboarding) now.

How a Change Travels

  1. A user creates or changes a record in any company, on any page or through an API.

  2. The change is captured automatically and written to the company’s Outbox. Several quick edits of the same record become one message.

  3. A background task sends the message to the master (from a subscriber) or to all subscribers (from the master), never back to the company the change came from.

  4. The receiving company stores the message in its Inbox and applies it: it matches the record by its key, applies value maps and field modes, and fills company-specific fields from its local template when the record is new.

  5. Every step is logged in the Sync Log, with elapsed time and end-to-end latency.

Get Started

Prerequisites

Read the following prerequisites before you proceed:

  • Business Central online, version 28 or later, in every participating environment.

  • MDS Master Data Sync — MDM Cross Environment  installed in every participating environment. For configured products, also the companion configurator app.

  • In sandbox environments — Allow HttpClient Requests turned on for each app (Extension Management → Configure).

  • For other environments, regions or tenants — A Microsoft Entra app registration with the API.ReadWrite.All application permission for Dynamics 365 Business Central, and admin consent.

Implementation Checklist

Here is a checklist of the steps to implement Managing Master Data:

StepTaskPage
1Assign MDS ALL to administrators; assign MDS SYNC and D365 READ (and ISV sets such as CFG ALL) to the sync identityUsers, Microsoft Entra Applications
2Set up the master: Role = Master, Master Numbering Enabled, Config Lookup EnabledMDS Master Data Sync Setup
3Create connections: from the master to each subscriber (Distribute Changes on), and from each subscriber to the masterMDS Connections
4Add entities in every companyMDS Sync Tables → Add Entity
5Review numbering series (master) and local templates (subscribers)MDS Number Series, MDS Sync Tables
6Review field modesMDS Sync Fields
7Add value maps where codes differMDS Value Maps
8Set up subscribers: Role = Subscriber, Master Connection CodeMDS Master Data Sync Setup
9Create the job queue fallback in every companyMDS Master Data Sync Setup
10Sign out and in, test connections, run an initial load where neededMDS Connections, MDS Sync Tables

Tip: In a sandbox with two companies, Create Test Configuration on the setup page of the future master sets up both companies in one step (connections, Items, Configured Item Registry, Customers and Vendors, templates, value map, number series).

To Connect a Company in Another Environment

  1. In the Azure portal, register an application in Microsoft Entra ID. Add Dynamics 365 Business Central → Application permissions → API.ReadWrite.All, grant admin consent, and create a client secret.

  2. In each environment, open Microsoft Entra Applications, add the application by its client ID, set State to Enabled, and assign the permission sets MDS SYNC, D365 READ and any ISV set (for example CFG ALL), with Company left blank.

  3. Open MDS Connections → New. Set Transport Type to BC API (OAuth) first.

  4. Enter Environment Name, Client Id and Client Secret, then choose Select Target Company. The target environment’s companies are listed; selecting one fills Target Company Name, Company Id and, if blank, Tenant Id.

  5. Choose Test Connection. The result starts with OK.

Role Center: Master Data Sync Administrator

Profile for MDS ADMINISTRATOR — Select it in My Settings > Role.



Parts

Here is a description of the parts of the Master Data Sync Administrator role center:

PartShows
HeadlineThe company’s role (“CRONUS USA, Inc. is the Master company”) and today’s summary: changes synchronized and items needing attention.
Needs Attention tilesFailures and backlog. Red when above zero, green at zero. Select a tile to open the filtered list.
Today tilesToday’s activity.
Configuration tilesThe size of the setup.
Sync Activity — Last 7 DaysStacked columns per day: Sent, Applied, Master calls; Errors as a line. Choose Refresh to update.
Recent Sync ErrorsThe latest failed sends, applies and calls, with buttons to open the Outbox and Inbox.

Tiles

This section describes the tiles on the Master Data Sync Administrator role center.

TileCountsOpens
Outbox FailedChanges that could not be delivered after the maximum attemptsMDS Outbox, Status = Failed
Inbox FailedReceived messages that could not be appliedMDS Inbox, Status = Failed
Outbox PendingChanges waiting to be sent (Pending or Processing)MDS Outbox
Inbox PendingMessages waiting to be appliedMDS Inbox
Sent TodaySuccessful sends todayMDS Sync Log
Applied TodayMessages applied todayMDS Sync Log
Master Calls TodayReal-time calls today (number reservations, configuration checks, pings, pulls)MDS Sync Log
Numbers Reserved TodayMaster numbers issued todayMDS Number Reservations
Errors TodayFailed attempts today, including attempts that later succeeded on retryMDS Sync Log
Active ConnectionsEnabled connectionsMDS Connections
Synced TablesEnabled sync tablesMDS Sync Tables
Master-Numbered TablesEnabled tables with master numberingMDS Sync Tables
Registered ConfigurationsConfigured-item configurations in the registryMDS Item Signatures
Failed Test ScenariosFailed results of the built-in test scenariosMDS Test Scenarios

Actions

Here are the actions that can be taken.

ActionWhat it does
Process Pending Now (tile action and Processing)Applies pending inbox messages and sends pending outbox entries in this company immediately.
Ping MasterSends a real-time request to the master and shows its answer: a quick health check.
New → Configured Item / Item / Customer / VendorOpens the configurator flow or a new card. Numbers come from the master when master numbering is on.

MDS Master Data Sync Setup

This section will cover the MDS Master Data Sync Setup page, which is the main setup for each company.




This defines this company’s role and how synchronization behaves in it. Settings that differ per table (numbering series, local templates, filters) are on MDS Sync Tables.

General

Here are the general fields:

FieldDescriptionExample / values
EnabledTurns synchronization on or off in this company. When off, nothing is captured, sent or applied.On
RoleMaster: issues numbers, answers real-time requests, distributes. Subscriber: participates. Exactly one master per group.Master / Subscriber
Master Connection CodeSubscriber only: the connection used to reach the master.MASTER
This Company KeyRead-only. How this company identifies itself to others: environment/company. Used to avoid sending a change back to its origin.D365_Global/CRONUS AU

Numbering & Configured Items

Here is a description of the fields that control numbering and configured items:

FieldDescriptionExample / values
Master Numbering EnabledMaster switch for master numbering in this company. Which tables are numbered, and with which series, is set per table.On
Config Lookup EnabledConfigurations are checked against the master in real time before a configured item is created.On

Processing

Here are the processing fields:

FieldDescriptionExample / values
Outbox Delay (ms)How long changes are collected before the background send starts. Several edits of the same record are sent once.2000
Max AttemptsAttempts before a failed outbox entry or inbox message is marked Failed.3
Retry Delay (sec)Wait before failed messages are retried.30

Testing

This section describes the testing fields:

FieldDescriptionExample / values
Test Partner CompanyThe other company used by Create Test Configuration and the built-in test scenarios.DEMO
Test Wait (sec)How long a test scenario waits for a change to arrive in the partner company.90

Actions

Here are actions that can be taken:

ActionWhat it does
Create Test ConfigurationSets up this company as master and the Test Partner Company as subscriber (sandbox evaluation).
Create Job Queue FallbackCreates a recurring job queue entry (every minute) that sends and applies anything still waiting.
Ping MasterReal-time request to the master; shows the answer.
Connections, Sync Tables, Value Maps, Number Series, Outbox, Inbox, Sync Log, Test Scenarios, Configuration SimulatorNavigation to the related pages.

MDS Connections & MDS Connection Card

This section will discuss the MDS Connections and the MDS Connection Card.




A connection tells this company how to reach another company. The master has one connection per subscriber; each subscriber has one connection to the master.

General

These are the general fields of the MDS Connection Card:

FieldDescriptionExample / values
CodeIdentifier of the connection.SUBSCRIBER 3
DescriptionFree text.CRONUS AU - Australia
Transport TypeSame Environment (Company): the target company is in this environment. BC API (OAuth): another environment, region or tenant, through the Business Central API. Set this first.BC API (OAuth)
EnabledWhen off, nothing is sent through this connection and real-time calls through it fail.On
Distribute ChangesMaster only: the master sends changes to this subscriber. Turn off to stop distribution without disabling the connection (pulls still work).On (master)
Target Company NameName of the target company. Use the assist button or Select Target Company to pick it from the target environment.CRONUS AU

BC API (OAuth Client Credentials)

Here are the fields for BC API (Business Central Application Programming Interface OAuth) connections:

FieldDescriptionExample / values
API Base URLBusiness Central API root.https://api.businesscentral.dynamics.com/v2.0 
Tenant IdMicrosoft Entra tenant of the target. Filled automatically from the current tenant when blank.GUID
Environment NameExact target environment name (case-sensitive).D365_Global
Company IdGUID of the target company, used in the API URL. Filled by Select Target Company.GUID
Client IdApplication (client) ID of the Entra app registration.GUID
Client SecretSecret of the app registration. Stored in isolated storage, shown masked, never displayed again.****

Last Test

Here are the fields for the last test of the connection:

FieldDescriptionExample / values
Last Test ResultResult of the last Test Connection: OK with the target’s answer, or FAILED with the reason.OK: {"pong":true,...}
Last Tested AtWhen the connection was last tested.
Target KeyRead-only: environment/company of the target. Must match the target’s This Company Key.D365_Global/CRONUS AU

Actions

These are actions you can take on the MDS Connection Card:

ActionWhat it does
Select Target CompanyLists the companies of the target (same environment, or the target environment through its standard API) and fills name, Company Id and Tenant Id.
Test ConnectionSends a PING to the target and records the result. HTTP 401: app not registered or disabled in the target. 403: missing permissions. 404: wrong environment or company. “Blocked by the runtime”: Allow HttpClient Requests is off.

MDS Sync Tables



The tables this company synchronizes. A company only sends and accepts changes for tables listed and enabled here.

FieldDescriptionExample / values
SequenceProcessing order: reference and parent tables first, children after.Item 30, BOM 45
Table No.The table. Any table: standard, custom or ISV.27
Table NameRead-only. Technical name.Item
Table CaptionRead-only. Display name.Item
EntityRead-only. The catalog entity that added the table.Items
EnabledChanges are captured and sent, and incoming changes are accepted. Off: neither.On
Sync DeletesDeleting a record also deletes it in the other companies.On for BOM lines
Run TriggersThe table’s insert/modify/delete logic runs when an incoming change is applied. Off: values are written as received.Off
Record FilterOnly matching records are sent and accepted. Checked when sending and again when receiving. Normal fields only.Table ID = 18|23|27
Master NumberingNew records with a blank number get their number from the master. Only for tables whose key is a single Code field.On for Item
Number Series CodeMaster only: the MDS number series for this table. Blank in subscribers.MDS-ITEM
Override Local Nos.Numbers assigned by a local number series (for example a template’s series) are replaced by a master number.Off
Local Template CodeItem, customer or vendor template whose values fill company-specific fields when a record arrives.MDS-AU-LOCAL
Template Table No. (hidden)The template table for this table: Item → Item Templ., Customer → Customer Templ., Vendor → Vendor Templ.1382
No. Field No. (hidden)The number field used by master numbering.1

Actions

Here are actions you can take on the MDS Sync Tables:

ActionWhat it does
Add EntityAdds a catalog entity with all its tables, sequence, field rules and numbering. Entities it depends on are added first if missing; existing setup is never reset.
FieldsOpens MDS Sync Fields for the selected table.
Initialize FieldsAdds a line for every field of the selected table, so fields can be found and set by name.
Set Record FilterOpens the standard filter dialog for the selected table.
Value MapsOpens the value maps of the selected table.
Request Initial LoadSubscriber only: the master sends all records of the selected tables to this company now. Respects the record filter; safe to repeat.

Important: After adding tables, users must sign out and in. New and changed records are then captured automatically. Records that already existed are not sent until they change or a subscriber requests an initial load.

Entity Catalog

In this section we will Add Entity on MDS Sync Tables.




The following are the description of the entities:

EntityTablesMaster numberingRequires
Reference DataUnit of Measure, Item Category, Payment Terms, Shipment Method, Country/Region, Manufacturer——
Dimensions and Dimension ValuesDimension, Dimension Value——
ItemsItemOn (ITM)—
Item Variants / References / Translations / AttributesItem Variant, Item Translation, Item Reference, Item Attribute, Item Attribute Value, Item Attribute Value Mapping—Items
Configured Item RegistryMDS Item Signature, MDS Demo Config Line—Items
Assembly BOMsBOM Component—Items
Work Centers and Machine CentersCapacity Unit of Measure, Work Center Group, Shop Calendar (+ working days, holidays), Work Center, Machine CenterAvailable—
Production BOMsProduction BOM Header, Version, LineAvailableItems
RoutingsRouting Header, Version, LineAvailableWork and Machine Centers
Customers and Ship-to AddressesCustomer, Ship-to AddressOn (CUS)—
Vendors and Order AddressesVendor, Order AddressOn (VEN)—
Fixed AssetsFA Class, FA Subclass, Fixed AssetOn (FA)—
ResourcesResource Group, Resource, Resource Unit of MeasureOn (RES)—
Default DimensionsDefault Dimension, filtered to items, customers, vendors, resources, fixed assets—Dimensions

Each entity also sets default field modes.
Excluded everywhere: Costs and modification stamps.
Company-Specific in subscribers: Posting groups, tax settings, units of measure, item type, costing method, local assignments (salesperson, purchaser, location, FA location, responsible employee) and global dimensions.

Field defaults are matched by field name.

Note: Companion apps add their own entities to this list (for example Configurator Setup and Configured Items) and declare dependencies, without changes to the core app.

MDS Sync Fields

Open this page from MDS Sync Tables > Fields.



When you select a Field No.:



Here are the per-field exceptions for a table, in this company. A field without a line is synchronized. Listing a field as Synced is the same as not listing it.

FieldDescriptionExample / values
Field No.The field. The lookup shows number, name, caption, data type and length, and can be searched.91
Field NameRead-only. Technical name; can be filtered and searched.Gen. Prod. Posting Group
Field CaptionRead-only. Display name.Gen. Prod. Posting Group
Data TypeRead-only. Code, Text, Decimal, Option, Date and so on.Code
Primary KeyRead-only. Key fields are always synchronized, whatever the mode.No
ModeThe rule (see below). Shown in orange for Company-Specific, blue for Master-Owned, grey for Excluded.Company-Specific
Validate On ApplyRuns the field’s validation logic when an incoming value is applied. Off: the value is written as received.Off

Field Modes

Here are the Field Modes:

ModeSending companyReceiving companyTypical fields
Synced (default)Sends the valueApplies it, after value mapsDescription, category, blocked
Company-SpecificSends it, marked as local to the senderUses it only when creating the record (the local template wins when it has the field); never overwrites it afterwards. Local edits are never sent on.Posting groups, units, item type, costing method
Master-OwnedIn a subscriber, its edits are not imposed on the masterAlways applies the master’s valueCentrally governed fields
ExcludedNot sentNot appliedCosts, modification dates

These are never synchronized, whatever the mode:

  • Calculated Fields (FlowFields)
  • BLOB/Media Fields (such as pictures)

Actions

Here are the actions you can take:

ActionWhat it does
Set Synced / Set Company-Specific / Set Master-Owned / Set ExcludedSets the mode of all selected lines.
Refresh Field NamesRe-reads names, captions and data types from the table definition.
New / DeleteAdd a rule for a field, or remove it (the field becomes Synced again).

Tip To share only a few fields: Initialize Fields → select all → Set Excluded → select the fields to share → Set Synced.

MDS Value Maps



Translates an incoming value into this company’s value. Because maps are defined in the receiving company, every company can translate the same value differently. A two-step translation (subscriber → master code → other subscriber code) is set up with a map in the master and a map in each subscriber.

FieldDescriptionExample / values
Table No.The synchronized table.27
Field No.The field to translate. The lookup shows field names.5702
Field Name / Field CaptionRead-only. Fills in when the field number is entered.Item Category Code
Map TypeValue Map: one source value to one target value. Constant: every incoming value becomes the target value (Source Value = *).Value Map
Source ValueThe incoming value, or * for a constant.MDS-SRC
Target ValueThe value stored in this company. It must exist here when the field refers to a setup table.MDS-AU
DescriptionFree text.Master category → AU category

Note: For logic that a value map cannot express, developers subscribe to the OnAfterMapValue event.

MDS Number Series & MDS Number Reservations



This shows the MDS Number Reservations:



MDS Number Series (Master)

This is the MDS Number Series page, which defines the series used for master numbering.

FieldDescriptionExample / values
CodeIdentifier of the series, selected per table on MDS Sync Tables.MDS-CUST
DescriptionFree text.MDS master numbers - table 18
PrefixFixed start of each number.CUS
DigitsLength of the numeric part (zero-padded). Prefix + digits must fit 20 characters.6 → CUS000001
Last No. UsedNumeric part of the last number issued. Set it to continue an existing numbering.12

The master locks the series while issuing a number, skips numbers that already exist as records or reservations, and records every number issued.

MDS Number Reservations

Here are the fields of the MDS Number Reservations page:

FieldDescriptionExample / values
Table No. / Table CaptionThe table the number was reserved for.27 Item
No.The reserved number.MDS0000027
Series CodeThe series it came from (master).MDS-ITEM
Reserved AtWhen the number was issued.
Requested ByEnvironment/company that requested it.D365_Global/CRONUS AU

Important: For guaranteed unique numbers, turn off Manual Nos. on the local number series of master-numbered tables, so users cannot type numbers that bypass the master.

Monitoring Pages

This section will discuss Monitoring.




From the Inbox, you can select Show Payload to get more details.




Here is an example of monitoring service requests.



MDS Outbox (Sending Company)

Here is a description of the fields for the MDS Outbox page:

FieldDescriptionExample / values
Entry No.Sequence of capture.1201
Created AtWhen the change was captured.
Connection CodeWhere it is sent.SUBSCRIBER1
Table No. / Record KeyThe record changed.27 / MDS0000027
Change TypeInsert/Modify or Delete.Insert/Modify
StatusPending, Processing, Sent, Failed, Skipped (record deleted before it was sent; a later entry carries its state).Sent
Attempts / Last ErrorDelivery attempts and the last error.
Sent AtWhen it was delivered.
Message IdUnique ID; the receiver ignores an ID it has already received.GUID

Actions

ActionWhat it does
Process NowSends all pending entries now.
Reset to PendingSets selected Failed or stuck entries back to Pending, with attempts reset.

MDS Inbox (Receiving Company)

Here is a description of the fields for the MDS Inbox page:

FieldDescriptionExample / values
Entry No. / Received AtOrder and time of receipt.
Source KeyEnvironment/company that sent it. Subscribers only receive from the master.US_Sandbox/CRONUS USA, Inc.
Message TypeRECORD (data) or PING.RECORD
Table No. / Record KeyThe record applied.50457 / MDS0000027
StatusPending, Processing, Processed, Failed.Processed
Attempts / Last ErrorProcessing attempts and the last error.
Processed AtWhen it was applied.
LatencyEnd-to-end time from the sender building the message to this company applying it. Includes waiting time for reprocessed messages.1 second 981 ms
Message IdUnique ID of the message.GUID

Actions

ActionWhat it does
Process NowApplies all pending messages now.
Reset to PendingSets selected Failed or stuck messages back to Pending.
Show PayloadShows the JSON message: table, key, field values and the sender’s local fields.

MDS Sync Log

FieldDescriptionExample / values
Logged At / DirectionTime and type: Outbound (send), Inbound (apply), Service Call (real-time request).Service Call
EndpointConnection or source.MASTER
Table No. / Record KeyRecord involved; for service calls, the request type.RESERVE_NO
Success / MessageResult and details or the error.
Elapsed TimeDuration of the operation.312 ms
LatencyInbound: end-to-end latency.

MDS Service Requests (Master Side of Real-time Calls)

FieldDescriptionExample / values
Request TypePING, RESERVE_NO, RESERVE_ITEM_NO, FIND_CONFIG, RESEND.RESERVE_NO
Request Payload / Response PayloadThe JSON request and answer.{"no":"CUS000013"}
Status / Received At / Elapsed TimeResult, time of receipt and processing time.

Resolving a Failed Entry

To resolve a failed entry, follow these steps:

  1. Open MDS Outbox (Sending Company) or MDS Inbox (Receiving Company), filter Status = Failed.

  2. Read Last Error and fix the cause.

  3. Select the entries → Reset to Pending → Process Now. Records are matched on their key, so reprocessing never creates duplicates.

Configuration Registry & Testing Pages

Here are the MDS Item Signatures.



MDS Item Signatures (Configuration Registry)

FieldDescriptionExample / values
Item No.The item that represents the configuration.MDS0000027
Normalized ConfigurationThe configuration in sorted, upper-case form. Order and case of the options do not matter.CATEGORY=VALVES;MATERIAL=SS;…
Origin KeyWhere the configuration was created first.D365_Global/CRONUS AU
Created AtWhen it was registered.
SignatureSHA-256 identity of the normalized configuration; the key used for real-time lookups.B0EC…

Open Check Master and view Result.



MDS Configuration Simulator

FieldDescriptionExample / values
ConfigurationATTRIBUTE=VALUE pairs separated by semicolons.MODEL=PUMP;FLOW=50
Item DescriptionDescription of a new configured item.UAT pump 50
Result / Item No.Outcome and the existing or new item (choose the number to open the card).
Normalized Configuration / SignatureThe normalized form and its signature.

Actions

ActionWhat it does
Check MasterChecks this company, then the master, in real time.
Create Configured ItemReserves a master number, creates the item with local values and registers the configuration.
Open ItemOpens the item card.

MDS Test Scenarios

Here are scenerios for MDS testing.

FieldDescriptionExample / values
Scenario Code / DescriptionSUB-01 to SUB-09 (subscriber suite), MST-01 to MST-08 (master suite), and what each proves.MST-07
StatusRunning, Passed, Failed, Skipped (prerequisite missing or wrong company).Passed
MessageEvidence or failure reason.
Elapsed Time / Executed At / Company NameDuration, time and company of the run.
Output ValueValue produced and reused by later scenarios.CUS000003

Actions

ActionWhat it does
Run Subscriber SuiteRun in the subscriber first.
Run Master SuiteRun in the master afterwards.
Delete ResultsRemoves test results (test data is kept).

You have the options to Run Subscriber Suite and Run Master Suite.



Security & Permissions

In this section we will cover the security of the system, including permissions.



This table describes the Permission Set.

Permission SetAssign toCovers
MDS ALLAdministratorsAll Master Data Sync pages and tables.
MDS SYNCThe sync identity (Microsoft Entra application) in every environmentMDS ALL plus read/write on every table of the entity catalog.
D365 READThe sync identityRead access used by validation lookups.
CFG ALL (and other ISV sets)The sync identity and configurator usersTables of the companion or ISV app that are synchronized.


  • Messages received through the API are applied by the Microsoft Entra application; messages within one environment are applied by a background task running as the user who caused them. Both identities need permission for the synchronized tables.

  • Users who only create or change master data do not need MDS ALL; capture and numbering run with the app’s own permissions.

  • Authentication between environments uses OAuth 2.0 client credentials. Secrets are kept in isolated storage. Every message and number reservation is logged.

Troubleshooting

In this section we will discuss how to troubleshoot known errors based on symptom or message. You can select Actions to resolve the issue from the menu bar (e.g. Process Now).



Here is a table of items for troubleshooting and the recommended fix:

Symptom or MessageCauseFix
"The current permissions prevented the action (TableData ... : MDS Master Data Sync)"The identity applying the message has no permission for that table (often ISV or manufacturing tables).Assign MDS SYNC, D365 READ and the ISV set to the Entra application (and users); Reset to Pending → Process Now.
"Your license does not grant you ... Execute"Outdated app version without inherent permissions.Install the current version.
Test Connection: "blocked by the runtime"Sandbox blocks outbound calls.Extension Management → Configure → Allow HttpClient Requests (check again after each publish).
Test Connection: HTTP 401 / 403 / 404App not registered or disabled / missing permissions / wrong environment or company.Microsoft Entra Applications; permission sets; Select Target environment or Company.
"Table ... is not enabled for synchronization in company ..."The receiving company has not enabled the table.Add or enable it on MDS Sync Tables, then reprocess.
Nothing in the Outbox after a changeThe table is not in Sync Tables, or the user session started before it was added.Add the table or entity; sign out and in; change the record again.
Existing records not in other companiesOnly new and changed records travel automatically.Request Initial Load in the subscriber.
Routing or BOM lines missing referencesPrerequisite data not synchronized.Add the entity again (prerequisites are added automatically), then initial load in sequence order.
"Type must be equal to Inventory" on an item with an assembly BOMThe local template sets Non-Inventory.Set the local template and configurator category to Inventory; correct the existing item locally; reprocess.
Configure Item: "...the master does not have the item... nothing to pull"The originating company’s item or BOM was not applied in the master.Fix the failed messages in the master’s Inbox, then configure again.
Number not from the master on a new recordThe template has its own number series, or master numbering is off for the table.Turn on Override Local Nos. or Master Numbering on MDS Sync Tables.
Last updated on