Skip to main content

Notifications

Announcements

No record found.

Dataverse customers, vendors and contacts with dual-write party model and global address book app (Part 2)

Customers, vendors and contacts integration with dual-write party model and global address book app

After setting up the party model and global address book (GAB) app, Dataverse schema is  enhanced with new tables and relationships. The app delivers UI changes such as new tabs on the account and contact forms as well as customizations for successfully managing in Dataverse the parties, contacts, accounts, and addresses:
  • Party – new table, logical name msdyn_party. It can be of type organization or person. For each account and contact, a party record will be generated automatically when Party Id lookup is left empty. A contact, account or vendor can also be created from an existing party.
  • Contact – existing table, logical name contact. When created, it can be associated with an existing party of type person, otherwise a new party of type person will be generated. A contact can be a customer or vendor of type person released in a company (striped i.e. company value mandatory) or it can be a contact person (unstriped i.e. company empty).  
  • Account – existing table, logical name account. When created, it can be associated with an existing party of type organization, otherwise a new party of type organization will be generated. An account can be a customer or vendor of type organization released in a company (striped i.e. company value mandatory).  
  • Contact for Party –new table, logical name msdyn_contactforparty. This is a new entity for capturing N:N relationships between customers, vendors, and contacts. The display name is ‘Contact for Customer/Vendor’.
  • Addresses - A new Addresses tab has been introduced on the Account and Contact forms with a grid referring to the existing table customeraddress. Using the grid on this tab multiple postal addresses can be created.
  • Electronic Address - A new Electronic Addresses tab has been introduced on the Account and Contact forms with a quick view of msdyn_party containing a grid referring to the new table msdyn_partyelectronicaddress. Using the grid on this tab multiple electronic addresses can be created.


Simplified data model – party, contact, account, contact for party

Party

Party is the core of the Global Address Book repository in finance and operations apps. The party record stores master data for all internal and external persons and organizations that the company interacts with. The data that is associated with party records includes the party's name, address, and contact information. Other details vary, depending on whether the party is a person or an organization. A party can have one or more party roles in a company. Party roles include customer, vendor, contact.
After installing the party model and global address book app in Dataverse, there will be two ways to enter party records:
  1. Creating a party record when you don't know the role - for example, you don't know whether the party is a customer or a vendor, you create the record using the Party form from the Dataverse UI. You can add the role later. Make sure to add the party table to the sitemap of your app (custom or first party app).
  2. Creating a party record when you know the role – If you know the role for the party, you can create a record on the type. For example, if the party is a customer of type organization, you create a record from the Accounts.


 
 

Customer of type person and contact person

With the dual-write party model and global address book app there are included new bi-directional table maps to enable the next use cases:
  • a contact can be a contact person (unstriped, no company)
  • a contact can be a customer (striped, with company)
  • a contact can be a vendor (striped, with company)
  • a contact can be both a customer and a vendor (striped, with company).
For example, for creating a contact person in Dataverse, we will create the contact with the Is Customer and Is Vendor flags set to default value No. Then from the Associated Organizations tab, we can create a relationship with a customer (account or contact) or vendor or party (all party roles).
 
 
The app will sync to F&O and as the result we will have a contact and a party with the role contact in the respective company.




Please note that another way to associate the contact person with a customer or vendor is via the forms of the customer or vendor and then Associated Contacts tab.

Next, let’s review the key table maps included with the dual-write party model and global address book app that you will leverage for contacts integration:
  1. As mentioned, every contact is associated with a party. The party is synced bi-directionally, between Dataverse party table and the F&O party (Global Address Book).
  1. If the contact becomes a customer (Is Customer = Yes), it will also get synced to the F&O Customers, as a customer of type person. For this customer of type person, you can associate other contacts as contacts persons via Associated Contacts tab on the contact customer form.
  1. If the contact becomes a vendor (Is Vendor = Yes), it will be synced to the F&O Vendor entity as a vendor of type person. There are 2 vendor designs available where you can store vendors in the Contact or Account tables or only in the Vendor table. To learn more on vendor integration, see vendor mapping.
  1. If the contact is associated with a customer or vendor or another contact person in Dataverse via Contact for Customer/Vendor (Contact for Party) table, the association will be synced to the contacts table in F&O, and a party role Contact is added to the contact’s party in F&O. You can observe the party role association in the party form in F&O Global Address Book.

Contact for party

It is important to understand and prepare for the impact of the Contact for Party table. This is a new table introduced by the dual-write party model and global address book app for capturing the relationships between customers and related contact persons, with display name ‘Contact for Customer/Vendor’.
It is an intersect entity created to map the N:N relationship between contacts, customers and vendors. So, users will need to create rows of type Contact for Party for associating a contact to an account for example, and not use the OOB Dataverse company lookup on the contact form anymore.
 
Before installing party model and GAB we had in Dataverse:
  • 1:N relationship between account and contact. Using the OOB Dataverse account – contact parental relationship.
  • Table maps CDS contacts v2 used to sync contact person.

                                                                                                                                                               
                                                                                           Before Party model in Dataverse
 
After installing party model and GAB we have in Dataverse:
  • The new entity contact for party used to capture N:N relationship between account and contact. New tabs Associated Organizations available on contact person form (unstriped contact) and Associated Contacts available on customer form (striped contact, account, or vendor).
  • New table maps Contacts V2 (msdyn_contactforparties) to sync contact persons.

                                                                                     After Party model in Dataverse
 
Contact for party is a striped record i.e. company specific, and the association with a customer or vendor applies for all party roles in that company. Learn more Contact for Party table.

Customer or vendor of type organization

The customer of type organization i.e. account integration follows the usual prospect to cash flow with the addition of having a party associated with the account in Dataverse as well, and that party getting synced to the F&O Global Address Book.
 
  1. As mentioned, every account is associated with a party that will be synced to the F&O parties (Global Address Book).
 
  1. If the account becomes a customer, it will be synced to the F&O customers, as a customer of type organization.
 
  1. If the account becomes a vendor, it will be synced to the F&O vendors.

In this blog post, we have covered the dual-write integration for parties, contact persons, and customers. In the next blog post of the series we will deep dive into how to create and manage in Dataverse multiple postal and electronic addresses for parties and customers. Postal and electronic addresses integration using dual-write party model and global address book app (Part 3) (dynamics.com).
 
To learn more on when you should install party model and GAB app please see the first blog post of the series:  What is it and when to install the dual-write party model and global address book app ? (Part 1) (dynamics.com)

Comments

*This post is locked for comments