zoukankan      html  css  js  c++  java
  • Integrated customer master with power platform

    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
  • 相关阅读:
    ES6变量的解构赋值、字符串的新增方法
    JavaScript的基础语法及DOM元素和事件
    ES 新特性、异步、TypeScript
    JS实现PC端URL跳转到对应移动端URL
    jquery版本过低安全漏洞问题
    重磅!华为云社区·CSDN【寻找黑马程序员】有奖征文活动奖项公布!!
    车标知识学习网页开发,与Flask通过base64展示二进制图片 #华为云·寻找黑马程序员#
    大型情感剧集Selenium:3_元素定位 #华为云·寻找黑马程序员#
    大型情感剧集Selenium:2_options设置 #华为云·寻找黑马程序员#
    【nodejs原理&源码赏析(9)】用node-ssh实现轻量级自动化部署
  • 原文地址:https://www.cnblogs.com/lingdanglfw/p/14549906.html
Copyright © 2011-2022 走看看