lingdanglfw(DAX)

导航

Integrated customer master with power platform - modern-driven

Integrated customer master

 

Effective November 2020:

  • Common Data Service has been renamed to Microsoft Dataverse. For more information, see Power Automate Blog.
  • Some terminology in Microsoft Dataverse has been updated. For example, entity is now table and field is now column. For more information, see Terminology updates.

This topic will be updated soon to reflect the latest terminology.

Customer data can be mastered in more than one Dynamics 365 application. For example, a customer row can originate though sales activity in Dynamics 365 Sales (a model-driven app in Dynamics 365), or a row can originate through retail activity in Dynamics 365 Commerce (a Finance and Operations app). No matter where where the customer data originates, it is integrated behind the scenes. Integrated customer master gives you the flexibility to master customer data in any Dynamics 365 application and provides a comprehensive view of the customer across the Dynamics 365 application suite.

Customer data flow

Customer is a well-defined concept in applications. Therefore, the integration of customer data just involves harmonizing the customer concept between the two applications. The following illustration shows the customer data flow.

Customer data flow

Customers can be broadly classified into two types: commercial/organizational customers and consumers/end users. These two types of customers are stored and handled differently in Finance and Operations and Dataverse.

In Finance and Operations, both commercial/organizational customers and consumers/end users are mastered in a single table that is named CustTable (CustCustomerV3Entity), and they are classified based on the Type attribute. (If Type is set to Organization, the customer is a commercial/organizational customer, and if Type is set to Person, the customer is a consumer/end user.) The primary contact person information is handled through the SMMContactPersonEntity table.

In Dataverse, commercial/organizational customers are mastered in the Account table and are identified as customers when the RelationshipType attribute is set to Customer. Both consumers/end users and the contact person are represented by the Contact table. To provide a clear separation between a consumer/end user and a contact person, the Contact table has a Boolean flag that is named Sellable. When Sellable is True, the contact is a consumer/end user, and quotations and orders can be created for that contact. When Sellable is False, the contact is just a primary contact person of a customer.

When a non-sellable contact participates in a quotation or order process, Sellable is set to True to flag the contact as a sellable contact. A contact that has become a sellable contact remains a sellable contact.

Templates

Customer data includes all information about the customer, such as the customer group, addresses, contact information, payment profile, invoice profile, and loyalty status. A collection of table maps works together during customer data interaction, as shown in the following table.

 
Finance and Operations appsOther Dynamics 365 appsDescription
CDS Contacts V2 contacts This template synchronizes all primary, secondary, and tertiary contact information, for both customers and vendors.
Customer groups msdyn_customergroups This template synchronizes customer group information.
Customer payment method msdyn_customerpaymentmethods This template synchronizes customer payment method information.
Customers V3 accounts This template synchronizes customer master information for commercial and organizational customers.
Customers V3 contacts This template synchronizes customer master data for consumers and end users.
Name affixes msdyn_nameaffixes This template synchronizes name affixes reference data, for both customers and vendors.
Payment day lines CDS V2 msdyn_paymentdaylines This template synchronizes payment day lines reference data, for both customers and vendors.
Payment days CDS msdyn_paymentdays This template synchronizes payment days reference data, for both customers and vendors.
Payment schedule lines msdyn_paymentschedulelines Syncs payment schedule lines reference data, for both customers and vendors.
Payment schedule msdyn_paymentschedules This template synchronizes payment schedule reference data, for both customers and vendors.
Terms of payment msdyn_paymentterms This template synchronizes payment terms (terms of payment) reference data, for both customers and vendors.

Mapping tables

Mapping types

There are several different mapping types. The following table explains the symbols used in the template tables.

 
SymbolDescription
> One-way
>> One-way, and data is transformed in the process.
= Bidirectional
>< Bidirectional, and data is transformed in the process.
<< One-way, and data is transformed in the process.

Filters

The source filter and reverse source filter determine which rows are synchronized.

Default values

If a synchronized field does not exist in either the Finance and Operations table or the other Dynamics 365 table, then a default value is assigned in the synchronized table. In some cases, the default value is an integer that is a lookup to an attribute value in the Common Data Model. For example, in the Contacts table of the Common Data Model, the default value of address1_addresstypecode is 3. In the Common Data Model, for address1AddressTypeCode the value of 3 is Primary address.

CDS Contacts V2 to contacts

This template synchronizes data between Finance and Operations apps and Dataverse.

Source filter: (AssociatedContactType = 1)

Reversed source filter: msdyn_contactforvendor eq true and msdyn_sellable eq false and msdyn_contactpersonid ne ''

 
Finance and Operations fieldMap typeCustomer engagement fieldDefault value
CONTACTPERSONPARTYNUMBER = msdyn_partynumber  
ASSOCIATEDCONTACTTYPE << none Vendor
FIRSTNAME = firstname  
MIDDLENAME = middlename  
LASTNAME = lastname  
ASSOCIATEDCONTACTNUMBER = msdyn_vendorcontactid.msdyn_vendoraccountnumber  
PRIMARYADDRESSCITY = address1_city  
PRIMARYADDRESSCOUNTRYREGIONID = address1_country  
PRIMARYADDRESSCOUNTYID = address1_county  
PRIMARYFAXNUMBER = fax  
PRIMARYADDRESSSTATEID = address1_stateorprovince  
PRIMARYADDRESSSTREET = address1_line1  
PRIMARYADDRESSZIPCODE = address1_postalcode  
PRIMARYPHONENUMBER = telephone1  
PRIMARYEMAILADDRESS = emailaddress1  
EMPLOYMENTDEPARTMENT = department  
NOTES = description  
GENDER >< gendercode  
GOVERNMENTIDENTIFICATIONNUMBER = governmentid  
PRIMARYURL = websiteurl  
MARITALSTATUS >< familystatuscode  
ISRECEIVINGDIRECTMAIL >< donotemail  
EMPLOYMENTPROFESSION = jobtitle  
SPOUSENAME = spousesname  
none >> msdyn_contactforvendor True
CONTACTPERSONID = msdyn_contactpersonid  

Customer groups to msdyn_customergroups

This template synchronizes data between Finance and Operations apps and Dataverse.

 
Finance and Operations fieldMap typeCustomer engagement fieldDefault value
CUSTOMERGROUPID = msdyn_groupid  
DESCRIPTION = msdyn_description  
ISSALESTAXINCLUDEDINPRICE >< msdyn_issalestaxincludedinprice  
PAYMENTTERMID = msdyn_paymenttermid.msdyn_name  
CLEARINGPERIODPAYMENTTERMNAME = msdyn_clearingperiodpaymenttermname.msdyn_name  

Customer payment method to msdyn_customerpaymentmethods

This template synchronizes data between Finance and Operations apps and Dataverse.

 
Finance and Operations fieldMap typeCustomer engagement fieldDefault value
NAME = msdyn_name  
ACCOUNTTYPE >< msdyn_accounttype  
DISCOUNTGRACEPERIODDAYS = msdyn_discountgraceperioddays  
BRIDGINGPOSTINGENABLED >< msdyn_bridgingpostingenabled  
ISSEPA >< msdyn_issepa  
LASTFILENUMBER = msdyn_lastfilenumber  
LASTFILENUMBERTODAY = msdyn_lastfilenumbertoday  
DESCRIPTION = msdyn_description  
PAYMENTTYPE >< msdyn_paymenttype  
CREATEANDDRAWBILLOFEXCHANGEDURINGINVOICEPOSTING >< msdyn_invoiceupdate  
PAYMENTSTATUS >< msdyn_paymentstatus  
SUMBYPERIOD >< msdyn_sumbyperiod  
ENABLEPOSTDATEDCHECKCLEARINGPOSTING >< msdyn_enablepostdatescheckclearingposting  
BILLOFEXCHANGEDRAFTTYPE >< msdyn_billofexchangedrafttype  
DIRECTDEBIT >< msdyn_directdebit  

Customers V3 to accounts

This template synchronizes data between Finance and Operations apps and Dataverse.

Source filter: ((PartyType == "Organization"))

Reversed source filter: customertypecode eq 3

 
Finance and Operations fieldMap typeCustomer engagement fieldDefault value
CUSTOMERACCOUNT = accountnumber  
INVOICEADDRESSCITY = address2_city  
INVOICEADDRESSCOUNTRYREGIONISOCODE = address2_country  
INVOICEADDRESSCOUNTY = address2_county  
INVOICEADDRESSLATITUDE > address2_latitude  
INVOICEADDRESSLONGITUDE > address2_longitude  
INVOICEADDRESSSTATE = address2_stateorprovince  
INVOICEADDRESSSTREET = address2_line1  
INVOICEADDRESSZIPCODE = address2_postalcode  
CREDITLIMIT = creditlimit  
DELIVERYADDRESSCITY = address1_city  
DELIVERYADDRESSCOUNTRYREGIONISOCODE = address1_country  
DELIVERYADDRESSCOUNTY = address1_county  
DELIVERYADDRESSLATITUDE > address1_latitude  
DELIVERYADDRESSLONGITUDE > address1_longitude  
DELIVERYADDRESSZIPCODE = address1_postalcode  
ORGANIZATIONNAME = name  
ORGANIZATIONNUMBEROFEMPLOYEES = numberofemployees  
PRIMARYCONTACTEMAIL = emailaddress1  
PRIMARYCONTACTFAX = fax  
PRIMARYCONTACTPHONE = telephone1  
PRIMARYCONTACTTWITTER = primarytwitterid  
PRIMARYCONTACTURL = websiteurl  
SALESCURRENCYCODE = transactioncurrencyid.isocurrencycode  
SALESMEMO = description  
CREDITLIMITISMANDATORY >< msdyn_creditlimitismandatory  
CREDITRATING = msdyn_creditrating  
CUSTOMERGROUPID = msdyn_customergroupid.msdyn_groupid  
IDENTIFICATIONNUMBER = msdyn_identificationnumber  
INVOICEACCOUNT = msdyn_billingaccount.accountnumber  
INVOICEADDRESS >< msdyn_invoiceaddress  
ISONETIMECUSTOMER >< msdyn_onetimecustomer  
ONHOLDSTATUS >< msdyn_onholdstatus  
PARTYCOUNTRY = msdyn_partycountry  
PARTYSTATE = msdyn_partystateprovince  
PAYMENTDAY = msdyn_paymentday.msdyn_name  
PAYMENTMETHOD = msdyn_customerpaymentmethod.msdyn_name  
PAYMENTSCHEDULE = msdyn_paymentschedule.msdyn_name  
PAYMENTTERMS = msdyn_paymentterm.msdyn_name  
PAYMENTTERMSBASEDAYS = msdyn_paymenttermsbasedays  
PRIMARYCONTACTFACEBOOK = msdyn_primaryfacebookid  
PRIMARYCONTACTFAXEXTENSION = msdyn_faxextension  
PRIMARYCONTACTLINKEDIN = msdyn_primarylinkedinid  
TAXEXEMPTNUMBER = msdyn_taxexemptnumber  
VENDORACCOUNT = msdyn_vendor.msdyn_vendoraccountnumber  
PRIMARYCONTACTEMAILDESCRIPTION = msdyn_emailaddress1description  
PRIMARYCONTACTFACEBOOKDESCRIPTION = msdyn_primaryfacebookdescription  
PRIMARYCONTACTFAXDESCRIPTION = msdyn_faxdescription  
PRIMARYCONTACTLINKEDINDESCRIPTION = msdyn_primarylinkedindescrption  
PRIMARYCONTACTPHONEDESCRIPTION = msdyn_telephone1description  
PRIMARYCONTACTPHONEEXTENSION = msdyn_telephone1extension  
PRIMARYCONTACTTWITTERDESCRIPTION = msdyn_primarytwitteriddescription  
PRIMARYCONTACTURLDESCRIPTION = msdyn_websiteurldescription  
LANGUAGEID << none en-us
DELIVERYADDRESSSTREET = address1_line1  
DELIVERYADDRESSSTATE = address1_stateorprovince  
none >> address1_addresstypecode 2
none >> customertypecode 3
PARTYTYPE << none Organization
PARTYNUMBER = msdyn_partynumber  
CONTACTPERSONID = primarycontactid.msdyn_contactpersonid  

Customers V3 to contacts

This template synchronizes data between Finance and Operations apps and Dataverse.

Source filter: ((PartyType == "Person"))

Reversed source filter: msdyn_sellable eq true and msdyn_contactpersonid ne ''

 
Finance and Operations fieldMap typeCustomer engagement fieldDefault value
none >> msdyn_sellable True
PARTYTYPE << none Person
PARTYNUMBER = msdyn_partynumber  
CUSTOMERACCOUNT = msdyn_contactpersonid  
CUSTOMERGROUPID = msdyn_customergroupid.msdyn_groupid  
PERSONFIRSTNAME = firstname  
PERSONLASTNAME = lastname  
PERSONMIDDLENAME = middlename  
PERSONPROFESSIONALTITLE = jobtitle  
PERSONGENDER >< gendercode  
PERSONMARITALSTATUS >< familystatuscode  
LANGUAGEID << none en-us
ADDRESSCITY = address1_city  
ADDRESSCOUNTRYREGIONISOCODE = address1_country  
ADDRESSCOUNTY = address1_county  
ADDRESSLATITUDE > address1_latitude  
ADDRESSLONGITUDE > address1_longitude  
ADDRESSLOCATIONROLES << none Business
ADDRESSSTATE = address1_stateorprovince  
ADDRESSSTREET = address1_line1  
ADDRESSZIPCODE = address1_postalcode  
ADDRESSPOSTBOX = address1_postofficebox  
none >> address1_addresstypecode 3
INVOICEADDRESSCITY = address2_city  
INVOICEADDRESSCOUNTRYREGIONISOCODE = address2_country  
INVOICEADDRESSCOUNTY = address2_county  
INVOICEADDRESSLATITUDE > address2_latitude  
INVOICEADDRESSLONGITUDE > address2_longitude  
INVOICEADDRESSSTATE = address2_stateorprovince  
INVOICEADDRESSSTREET = address2_line1  
INVOICEADDRESSZIPCODE = address2_postalcode  
DELIVERYADDRESSCITY = address3_city  
DELIVERYADDRESSCOUNTRYREGIONISOCODE = address3_country  
DELIVERYADDRESSCOUNTY = address3_county  
DELIVERYADDRESSLATITUDE > address3_latitude  
DELIVERYADDRESSLONGITUDE >> address3_longitude  
DELIVERYADDRESSSTATE = address3_stateorprovince  
DELIVERYADDRESSSTREET = address3_line1  
DELIVERYADDRESSZIPCODE = address3_postalcode  
PRIMARYCONTACTEMAIL = emailaddress1  
PRIMARYCONTACTEMAILDESCRIPTION = msdyn_emailaddress1description  
PRIMARYCONTACTFAX = fax  
PRIMARYCONTACTFAXDESCRIPTION = msdyn_faxdescription  
PRIMARYCONTACTFAXEXTENSION = msdyn_faxextension  
IDENTIFICATIONNUMBER = msdyn_identificationnumber  
PARTYCOUNTRY = msdyn_partycountry  
PARTYSTATE = msdyn_partystateprovince  
PRIMARYCONTACTFACEBOOK = msdyn_primaryfacebookid  
PRIMARYCONTACTFACEBOOKDESCRIPTION = msdyn_primaryfacebookdescription  
PRIMARYCONTACTLINKEDIN = msdyn_primaryinkedinid  
PRIMARYCONTACTLINKEDINDESCRIPTION = msdyn_primarylinkedindescrption  
PRIMARYCONTACTPHONE = telephone1  
PRIMARYCONTACTPHONEDESCRIPTION = msdyn_telephone1description  
PRIMARYCONTACTPHONEEXTENSION = msdyn_telephone1extension  
PRIMARYCONTACTTWITTER = msdyn_primarytwitterid  
PRIMARYCONTACTTWITTERDESCRIPTION = msdyn_primarytwitteriddescription  
PRIMARYCONTACTURL = websiteurl  
PRIMARYCONTACTURLDESCRIPTION = msdyn_websiteurldescription  
SALESCURRENCYCODE = transactioncurrencyid.isocurrencycode  
SALESMEMO = description  

Name affixes to msdyn_nameaffixes

This template synchronizes data between Finance and Operations apps and Dataverse.

 
Finance and Operations fieldMap typeCustomer engagement fieldDefault value
AFFIX = msdyn_affix  
TYPE >< msdyn_affixtype  
DESCRIPTION = msdyn_description  

Payment day lines CDS V2 to msdyn_paymentdaylines

This template synchronizes data between Finance and Operations apps and Dataverse.

 
Finance and Operations fieldMap typeCustomer engagement fieldDefault value
NAME = msdyn_paymentday.msdyn_name  
LINENUMBER = msdyn_linenumber  
FREQUENCY >< msdyn_frequency  
DAYOFWEEK >< msdyn_dayofweek  
DAYOFMONTH = msdyn_dayofmonth  

Payment days CDS to msdyn_paymentdays

This template synchronizes data between Finance and Operations apps and Dataverse.

 
Finance and Operations fieldMap typeCustomer engagement fieldDefault value
NAME = msdyn_name  
DESCRIPTION = msdyn_description  

Payment schedule lines to msdyn_paymentschedulelines

This template synchronizes data between Finance and Operations apps and Dataverse.

 
Finance and Operations fieldMap typeCustomer engagement fieldDefault value
PAYMENTSCHEDULENAME = msdyn_paymentschedule.msdyn_name  
LINENUMBER = msdyn_linenumber  
PERIODSAFTERDUEDATE = msdyn_periodsafterduedate  
PERCENTORAMOUNT >< msdyn_percentoramount  
PERCENTORAMOUNTVALUE = msdyn_percentoramountvalue  

Payment schedule to msdyn_paymentschedules

This template synchronizes data between Finance and Operations apps and Dataverse.

 
Finance and Operations fieldMap typeCustomer engagement fieldDefault value
NAME = msdyn_name  
DESCRIPTION = msdyn_description  
ALLOCATIONMETHOD >< msdyn_allocationmethod  
PAYMENTFREQUENCYUNITS >< msdyn_paymentfrequencyunit  
PAYMENTFREQUENCY = msdyn_paymentfrequency  
NUMBEROFPAYMENTS = msdyn_numberofpayments  
FIXEDPAYMENTAMOUNT = msdyn_fixedpaymentamount  
MINIMUMPAYMENTAMOUNT = msdyn_minimumpaymentamount  
SALESTAXALLOCATIONMETHOD >< msdyn_salestaxallocationmethod  
NOTES = msdyn_note  

Terms of payment to msdyn_paymentterms

This template synchronizes data between Finance and Operations apps and Dataverse.

 
Finance and Operations fieldMap typeCustomer engagement fieldDefault value
DESCRIPTION = msdyn_description  
NAME = msdyn_name  
NUMBEROFMONTHS = msdyn_numberofmonth  
CUTOFFDAYOFMONTH = msdyn_cutoffdayofmonth  
ISCASHPAYMENT >< msdyn_iscashpayment  
NUMBEROFDAYS = msdyn_days  
ISCERTIFIEDCOMPANYCHECK >< msdyn_iscertifiedcompanycheck  
ISDEFAULTPAYMENTTERM >< msdyn_isdefaultpaymentterm  
CREDITCARDPAYMENTTYPE >< msdyn_creditcardpaymenttype  
CREDITCARDCREDITCHECKTYPE >< msdyn_creditcardcreditchecktype  
PAYMENTDAYNAME = msdyn_paymentdayname.msdyn_name  
PAYMENTMETHODTYPE >< msdyn_paymentmethodtype  
PAYMENTSCHEDULENAME = msdyn_paymentschedulename.msdyn_name

posted on 2021-03-17 16:00  lingdanglfw  阅读(178)  评论(0编辑  收藏  举报