web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :
Small and medium business | Business Central, N...
Answered

When Customer synchronize to Account in Dataverse, how primary key matches?

(0) ShareShare
ReportReport
Posted on by 194

Hi there,

When Customer table sync into Dataverse, Customer uses its 'No.' field as primary key and generates a 'account_id' field as primary key in Dataverse.

But just wonder how it get mapped? Because 'No.' field is BC is a string, but account_id in Dataverse is a GUID, how can I match them manually?

  • Suggested answer
    raelhefn Profile Picture
    Microsoft Employee on at

    Hi,

    Please take a look at this document : docs.microsoft.com/.../admin-how-to-modify-table-mappings-for-synchronization

    An integration table is a table in the Business Central database that represents an table, such as an account, in Dataverse. Integration tables include fields that correspond to columns in the Dataverse table. For example, the Account integration table connects to the Accounts table in Dataverse. There must be a integration table mapping for each table in CDS that you want to synchronize with data in Business Central.

    When you create the connection between the apps, Business Central sets up some default mappings. You can change the table mappings if you want. For more information, see Standard Table Mapping for Synchronization. If you have changed the default mappings and want to revert your changes, on the Integration Table Mappings page, choose Use Default Synchronization Setup.

    If you are using an on-premises version of Business Central, the integration table mappings are stored in table 5335 Integration Table Mappings, where you can view and edit the mappings. Complex mappings and synchronization rules are defined in codeunit 5341.

    Mapping tables is only the first step. You must also map the fields on the tables. Integration field mappings link fields in Business Central tables with corresponding columns in Dataverse, and determine whether to synchronize data in each table. The standard table mapping that Business Central provides includes field mappings, but you can change those if you want. For more information, see Viewing Table Mappings.

    If you are using an on-premises version of Business Central, integration field mappings are defined in table 5336 Integration Field Mapping.

    You can manually map the fields, or you can automate the process by mapping multiple fields at the same time based on criteria for matching their values. For more information, see To couple multiple records based on field value matching.

  • Verified answer
    YUN ZHU Profile Picture
    103,712 Super User 2026 Season 2 on at

    Hi, This is because they are not directly related, and there is a table with TableType = CDS in the middle.

    pastedimage1645403439106v1.png

    I recommend you can try to create a new table and integrate with Dataverse. This way you can understand the logic well.

    More details: https://yzhums.com/17065/

    Hope this will help.

    Thanks.

    ZHU

  • Verified answer
    Greg Enns Profile Picture
    1,122 on at

    BC uses 2 tables to link records: "Integration Record" and "CRM Integration Record".

    The field "Integration ID" is in both tables and is the link.

    So when an "Integration Record" and a "CRM Integration Record" become "coupled" they will have the same "Integration ID".

    Note that the "CRM Integration Record" is the only place where CRM data is physically stored in the BC database--besides data shared between coupled records. As yzhums said... All the "CRM <entity>" tables are "CDS" type tables and do not actually store data in the BC database. They simply provide a definition of the CRM table so that we can use the CRM table in AL code.

  • Ming Chen Profile Picture
    194 on at

    Thank you Greg for the detailed reply.

    A quick questions, is it possible to use ?table=xxx to view the CRM integration table? for example the Account table?

  • Suggested answer
    Greg Enns Profile Picture
    1,122 on at

    I have not tried that, but I would expect you could do this with "CRM Integration Record". It might work with "CRM Account"/"CRM Contact"/etc. too--but I'm not sure. Certainly worth a try.

    Keep in mind that "CRM Account" and "CRM Integration Record" are 2 separate tables.

    "CRM Account" is strictly definition only--it's not a table in the SQL DB. So if you use ?table=xxx to view this table, it will be making calls to CRM in order to get/show you data.

    "CRM Integration Record" holds the CRM ID and a few other bits of information--for EVERY CRM record that you have an Table Mapping for.

  • Ming Chen Profile Picture
    194 on at

    Appreciate for your help. I will do some test in system.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Women in Power Builds Momentum

Expanding mentorship, skilling, and AI innovation

Congratulations to the August Top 10 Community Leaders

These are the community rock stars!

Leaderboard > Small and medium business | Business Central, NAV, RMS

#1
OussamaSabbouh Profile Picture

OussamaSabbouh 740 Super User 2026 Season 2

#2
YUN ZHU Profile Picture

YUN ZHU 570 Super User 2026 Season 2

#3
Grigorios Mavrogeorgis Profile Picture

Grigorios Mavrogeorgis 291 Super User 2026 Season 2

Last 30 days Overall leaderboard

Featured topics

Microsoft Training Manuals

Product updates

Dynamics 365 release plans