Unified product experience

Important

Dynamics 365 for Finance and Operations is now being licensed as Dynamics 365 Finance and Dynamics 365 Supply Chain Management. For more information about these licensing changes, see Dynamics 365 Licensing Update.

When a business ecosystem is made up of Dynamics 365 applications, such as Finance, Supply Chain Management, and Sales, businesses often use these applications to source product data. This is because these apps provides a robust product infrastructure complemented with sophisticated pricing concepts and accurate on-hand inventory data. Businesses who use an external Product Lifecycle Management (PLM) system for sourcing the product data can channelize products from Finance and Operations apps to other Dynamics 365 apps. The unified product experience brings the integrated product data model in to Common Data Service, so that all application users, including Power Platform users, can take advantage of the rich product data coming from Finance and Operations apps.

Here is the product data model from Sales.

Data model for products in CE

Here is the product data model from Finance and Operations apps.

Data model for products in Finance and Operations

These two product data models have been integrated in Common Data Service as shown below.

Data model for products in Dynamics 365 apps

The dual-write entity maps for products have been designed to flow data one-way only, in near-real time from Finance and Operations apps to Common Data Service. However, the product infrastructure has been made open to make it bi-directional if required. Although you can customize it, it's at your own risk, as Microsoft does not recommend this approach.

Templates

Product information contains all the information related to the product and its definition, such as the product dimensions or the tracking and storage dimensions. As the following table shows, a collection of entity maps is created to sync products and related information.

Finance and Operations Other Dynamics 365 apps Description
Released products V2 msdyn_sharedproductdetails The msdyn_sharedproductdetails entity contains the fields from Finance and Operations apps that define the product, and that contain the product's financial and management information. The following table shows the mappings.
Common Data Service released distinct products Product The Product entity contains the fields that define the product. It includes individual products (products with subtype product) and the product variants. The following table shows the mappings.
Product number identified barcode msdyn_productbarcodes Product bar codes are used to uniquely identify products.
Default order settings msdyn_productdefaultordersettings
Product specific default order settings msdyn_productdefaultordersettings
Product dimension groups msdyn_productdimensiongroups The product dimension group defined which product dimensions define the product.
Storage dimension groups msdyn_productstoragedimensiongroups The product storage dimension group represents the method used to define the placement the product in the warehouse.
Tracking dimension groups msdyn_producttrackingdimensiongroups The product tracking dimension group represents the method used to track the product in inventory.
Colors msdyn_productcolors
Sizes msdyn_productsizes
Styles msdyn_productsytles
Configurations msdyn_productconfigurations
Product master colors msdyn_sharedproductcolors The Shared product color entity indicates the colors that a specific product master can have. This concept is migrated to Common Data Service to keep data consistent.
Product master sizes msdyn_sharedproductsizes The Shared product size entity indicates the sizes that a specific product master can have. This concept is migrated to Common Data Service to keep data consistent.
Product master styles msdyn_sharedproductstyles The Shared product style entity indicates the styles that a specific product master can have. This concept is migrated to Common Data Service to keep data consistent.
Product master configurations msdyn_sharedproductconfigurations The Shared product configuration entity indicates the configurations that a specific product master can have. This concept is migrated to Common Data Service to keep data consistent.
All products msdyn_globalproducts The all products entity contains all the products available in Finance and Operations apps, both the released products and the non-released products.
Unit uoms
Unit conversions msdyn_ unitofmeasureconversions
Product specific unit of measure conversion msdyn_productspecificunitofmeasureconversion
Product categories msdyn_productcategories Each of the product categories and information about its structure and characteristics are contained in the product category entity.
Product category hierachies msdyn_productcategoryhierarhies You use product hierarchies to categorize or group products.The category hierarchies are available in Common Data Service using the Prodcut category hierarchy entity.
Product category hierarchy roles msdyn_productcategoryhierarchies Product hierarchies can be used for different roles in D365 Finance and Operations. The specify which category is used in each role the product category role entity is used with the following mappings.
Product category assignments msdyn_productcategoryassignments To assign a product to a category the product category assignments entity can be used.

Integration of products

In this model, the product is represented by the combination of two entities in Common Data Service: Product and msdyn_sharedproductdetails. Whereas the first entity contains the definition of a product (the unique identifier for the product, the product name, and the description), the second entity contains the fields stored at the product level. The combination of these two entities is used to define the product according to the concept of the stock keeping unit (SKU). Each released product will have its information in the mentioned entities (Product and Shared Product Details). To keep track of all products (released and not released), the Global products entity is used.

Because the product is represented as a SKU, the concepts of distinct products, product masters, and product variants can be captured in Common Data Service in the following way:

  • Products with subtype product are products that are defined by themselves. No dimensions have to be defined. An example is a specific book. For these products, one record is created in the Product entity, and one record is created in the msdyn_sharedproductdetails entity. No product family record is created.
  • Product masters are used as generic products that hold the definition and rules that determine the behavior in business processes. Based on these definitions, distinct products that are known as product variants can be generated. For example, T-shirt is the product master, and it can have Color and Size as dimensions. Variants can be released that have different combinations of these dimensions, such a small blue T-shirt or a medium green T-shirt. In the integration, one record per variant is created in the product table. This record contains the variant-specific information, such as the different dimensions. The generic information for the product is stored in the msdyn_sharedproductdetails entity. (This generic information is held in the product master.) Additionally, one product family record is created per product master. The product master information is synced to Common Data Service as soon as the released product master is created (but before variants are released).
  • Distinct products refer to all the products subtype product and all the product variants.

Data model for products

With the dual-write functionality enabled, the apps from Finance and Operations will be syncronized in other Dynamics 365 apps in Draft state. They are added to the first pricelist with the same currency. In other words, they are added to the first pricelist in a Dynamics 365 app that matches the currency of your legal entity where the product is released in a Finance and Operations app.

By default products from Finance and Operations apps are synchronized to other Dynamics 365 apps in Draft state. To synchronize the product with Active state so that you can directly use it in sales order quotations, for example, the following setting needs to be chosen: System> Adminstration > System administration > System settings > Sales tab and select Create products in active state = yes.

Note that the synchronization of products happens from Finance and Operations apps to Common Data Service. This means that the values of the product entity fields can be changed in Common Data Service, but when the synchronization is triggered (when a product field is modified in a Finance and Operations app), this will overwrite the values in Common Data Service.

Mapping tables

Mapping types

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

Symbol Description
> 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 released distinct products to products

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
PRODUCTNUMBER >> msdyn_productnumber
PRODUCTNAME >> name
PRODUCTDESCRIPTION >> description
ITEMNUMBER >> msdyn_itemnumber
CURRENCYCODE >> transactioncurrencyid.isocurrencycode
SALESUNITSYMBOL >> defaultuomid.msdyn_symbol
SALESPRICE >> price
UNITCOST >> currentcost
PRODUCTTYPE >> producttypecode
SALESUNITDECIMALPRECISION >> quantitydecimal 0
ISCATCHWEIGHTPRODUCT >> msdyn_iscatchweight
PRODUCTCOLORID >> msdyn_productcolor.msdyn_productcolorname
PRODUCTCONFIGURATIONID >> msdyn_productconfiguration.msdyn_productconfiguration
PRODUCTSIZEID >> msdyn_productsize.msdyn_productsize
PRODUCTSTYLEID >> msdyn_productstyle.msdyn_productstyle

Released products V2 to msdyn_sharedproductdetails

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
PRODUCTNUMBER > msdyn_globalproduct.msdyn_productnumber
INTRASTATCHARGEPERCENTAGE > msdyn_intrastatchargepercentage
ITEMNUMBER >> msdyn_itemnumber
APPROXIMATESALESTAXPERCENTAGE > msdyn_approximatesalestaxpercentage
BESTBEFOREPERIODDAYS > msdyn_bestbeforeperioddays
CARRYINGCOSTABCCODE >> msdyn_carryingcostabccode
CONSTANTSCRAPQUANTITY > msdyn_constantscrapquantity
COSTCHARGESQUANTITY > msdyn_costchargesquantity
DEFAULTRECEIVINGQUANTITY > msdyn_defaultreceivingquantity
FIXEDPURCHASEPRICECHARGES > msdyn_fixedpurchasepricecharges
FIXEDSALESPRICECHARGES > msdyn_fixedsalespricecharges
GROSSDEPTH > msdyn_grossdepth
GROSSPRODUCTHEIGHT > msdyn_grossproductheight
GROSSPRODUCTWIDTH > msdyn_grossproductwidth
INVENTORYUNITSYMBOL > msdyn_inventoryunitsymbol.msdyn_symbol
ISDISCOUNTPOSREGISTRATIONPROHIBITED >> msdyn_isdiscountposregistrationprohibited
ISEXEMPTFROMAUTOMATICNOTIFICATIONANDCANCELLATION >> msdyn_exemptautomaticnotificationcancel
ISINSTALLMENTELIGIBLE >> msdyn_isinstallmenteligible
ISINTERCOMPANYPURCHASEUSAGEBLOCKED >> msdyn_isintercompanypurchaseusageblocked
ISINTERCOMPANYSALESUSAGEBLOCKED >> msdyn_isintercompanysalesusageblocked
ISMANUALDISCOUNTPOSREGISTRATIONPROHIBITED >> msdyn_ismanualdiscposregistrationprohibited
ISPHANTOM >> msdyn_isphantom
ISPOSREGISTRATIONBLOCKED >> msdyn_isposregistrationblocked
ISPOSREGISTRATIONQUANTITYNEGATIVE >> msdyn_isposregistrationquantitynegative
ISPURCHASEPRICEAUTOMATICALLYUPDATED >> msdyn_ispurchasepriceautomaticallyupdated
ISPURCHASEPRICEINCLUDINGCHARGES >> msdyn_ispurchasepriceincludingcharges
ISSALESWITHHOLDINGTAXCALCULATED >> msdyn_issaleswithholdingtaxcalculated
ISRESTRICTEDFORCOUPONS >> msdyn_isrestrictedforcoupons
ISSALESPRICEADJUSTMENTALLOWED >> msdyn_issalespriceadjustmentallowed
ISSALESPRICEINCLUDINGCHARGES >> msdyn_issalespriceincludingcharges
ISSCALEPRODUCT >> msdyn_isscaleproduct
ISSHIPALONEENABLED >> msdyn_isshipaloneenabled
ISUNITCOSTPRODUCTVARIANTSPECIFIC >> msdyn_isunitcostproductvariantspecific
ISVARIANTSHELFLABELSPRINTINGENABLED >> msdyn_isvariantshelflabelsprintingenabled
ISZEROPRICEPOSREGISTRATIONALLOWED >> msdyn_iszeropriceposregistrationallowed
KEYINPRICEREQUIREMENTSATPOSREGISTER >> msdyn_keyinpricerequirementsatposregister
KEYINQUANTITYREQUIREMENTSATPOSREGISTER >> msdyn_keyinquantityrequirementsatposregister
MARGINABCCODE >> msdyn_marginabccode
MAXIMUMPICKQUANTITY > msdyn_maximumpickquantity
MUSTKEYINCOMMENTATPOSREGISTER >> msdyn_mustkeyincommentatposregister
NECESSARYPRODUCTIONWORKINGTIMESCHEDULINGPROPERTYID > msdyn_necessaryproductionworkingtimeschedulingp
NETPRODUCTWEIGHT > msdyn_netproductweight
PACKINGDUTYQUANTITY > msdyn_packingdutyquantity
POSREGISTRATIONACTIVATIONDATE > msdyn_posregistrationactivationdate
POSREGISTRATIONBLOCKEDDATE > msdyn_posregistrationblockeddate
POSREGISTRATIONPLANNEDBLOCKEDDATE > msdyn_posregistrationplannedblockeddate
POTENCYBASEATTIBUTETARGETVALUE > msdyn_potencybaseattibutetargetvalue
POTENCYBASEATTRIBUTEVALUEENTRYEVENT >> msdyn_potencybaseattributevalueentryevent
PRODUCTTYPE >> msdyn_producttype
PRODUCTIONCONSUMPTIONDENSITYCONVERSIONFACTOR > msdyn_productionconsumptiondensityconversion
PRODUCTIONCONSUMPTIONDEPTHCONVERSIONFACTOR > msdyn_productionconsumptiondepthconversion
PRODUCTIONCONSUMPTIONHEIGHTCONVERSIONFACTOR > msdyn_productionconsumptionheightconversion
PRODUCTIONCONSUMPTIONWIDTHCONVERSIONFACTOR > msdyn_productionconsumptionwidthconversion
PRODUCTVOLUME > msdyn_productvolume
PURCHASECHARGESQUANTITY > msdyn_purchasechargesquantity
PURCHASEOVERDELIVERYPERCENTAGE > msdyn_purchaseoverdeliverypercentage
PURCHASEPRICE > msdyn_purchaseprice
PURCHASEPRICEDATE > msdyn_purchasepricedate
PURCHASEPRICINGPRECISION > msdyn_purchasepricingprecision
PURCHASEUNDERDELIVERYPERCENTAGE > msdyn_purchaseunderdeliverypercentage
RAWMATERIALPICKINGPRINCIPLE >> msdyn_rawmaterialpickingprinciple
SALESCHARGESQUANTITY > msdyn_saleschargesquantity
SALESOVERDELIVERYPERCENTAGE > msdyn_salesoverdeliverypercentage
SALESPRICE > msdyn_salesprice
SALESPRICECALCULATIONCHARGESPERCENTAGE > msdyn_salespricecalculationchargespercentage
SALESPRICECALCULATIONCONTRIBUTIONRATIO > msdyn_salespricecalculationcontributionratio
SALESPRICECALCULATIONMODEL >> msdyn_salespricecalculationmodel
SALESPRICEDATE > msdyn_salespricedate
SALESPRICINGPRECISION > msdyn_salespricingprecision
SALESUNDERDELIVERYPERCENTAGE > msdyn_salesunderdeliverypercentage
SALESUNITSYMBOL > msdyn_salesunitsymbol.msdyn_symbol
SCALEINDICATOR >> msdyn_scaleindicator
SELLSTARTDATE > msdyn_sellstartdate
SHELFADVICEPERIODDAYS > msdyn_shelfadviceperioddays
SHELFLIFEPERIODDAYS > msdyn_shelflifeperioddays
SHIPSTARTDATE > msdyn_shipstartdate
TAREPRODUCTWEIGHT > msdyn_tareproductweight
TRANSFERORDEROVERDELIVERYPERCENTAGE > msdyn_transferorderoverdeliverypercentage
TRANSFERORDERUNDERDELIVERYPERCENTAGE > msdyn_transferorderunderdeliverypercentage
UNITCOST > msdyn_unitcost
UNITCOSTDATE > msdyn_unitcostdate
UNITCOSTQUANTITY > msdyn_unitcostquantity
VARIABLESCRAPPERCENTAGE > msdyn_variablescrappercentage
WAREHOUSEMOBILEDEVICEDESCRIPTIONLINE1 > msdyn_warehousemobiledevicedescriptionline1
WAREHOUSEMOBILEDEVICEDESCRIPTIONLINE2 > msdyn_warehousemobiledevicedescriptionline2
WILLINVENTORYISSUEAUTOMATICALLYREPORTASFINISHED >> msdyn_willinventoryissueautoreportasfinished
WILLINVENTORYRECEIPTIGNOREFLUSHINGPRINCIPLE >> msdyn_willinventoryreceiptignoreflushing
WILLPICKINGWORKBENCHAPPLYBOXINGLOGIC >> msdyn_willpickingworkbenchapplyboxinglogic
WILLTOTALPURCHASEDISCOUNTCALCULATIONINCLUDEPRODUCT >> msdyn_willtotalpurchdiscountcalcincludeproduct
WILLTOTALSALESDISCOUNTCALCULATIONINCLUDEPRODUCT >> msdyn_willtotalsalesdiscountcalcincludeproduct
WILLWORKCENTERPICKINGALLOWNEGATIVEINVENTORY >> msdyn_willworkcenterpickingallownegativeinvent
YIELDPERCENTAGE > msdyn_yieldpercentage
ISUNITCOSTAUTOMATICALLYUPDATED >> msdyn_isunitcostautomaticallyupdated
PURCHASEUNITSYMBOL > msdyn_purchaseunitsymbol.msdyn_symbol
PURCHASEPRICEQUANTITY > msdyn_purchasepricequantity
ISUNITCOSTINCLUDINGCHARGES >> msdyn_isunitcostincludingcharges
FIXEDCOSTCHARGES >> msdyn_fixedcostcharges
MINIMUMCATCHWEIGHTQUANTITY >> msdyn_minimumcatchweightquantity
MAXIMUMCATCHWEIGHTQUANTITY >> msdyn_maximumcatchweightquantity
ALTERNATIVEITEMNUMBER >> msdyn_alternativeitemnumber.msdyn_itemnumber
BOMUNITSYMBOL >> msdyn_bomunitsymbol.msdyn_symbol
CATCHWEIGHTUNITSYMBOL >> msdyn_catchweightunitsymbol.msdyn_symbol
COMPARISONPRICEBASEUNITSYMBOL >> msdyn_comparisonpricebaseunitsymbol.msdyn_symbol
PRIMARYVENDORACCOUNTNUMBER >> msdyn_vendorid.msdyn_vendoraccountnumber
ISCATCHWEIGHTPRODUCT >> msdyn_iscatchweight
PRODUCTDIMENSIONGROUPNAME >> msdyn_productdimensiongroupid.msdyn_groupname

All products to msdyn_globalproducts

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
PRODUCTNAME >> msdyn_productname
PRODUCTNUMBER >> msdyn_productnumber

Product dimensions

Product dimensions are characteristics that identify a product variant. The four product dimensions (Color, Size, Style, and Configuration) are also mapped to Common Data Service to define the product variants. The following illustration shows the data model for the product dimension Color. The same model is applied to Sizes, Styles and Configurations.

Data model for products

Colors to msdyn_productcolors

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
COLORID >> msdyn_productcolorname

Sizes to msdyn_productsizes

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
SIZEID >> msdyn_productsize

Styles to msdyn_productstyles

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
STYLEID >> msdyn_productstyle

Configurations to msdyn_productconfigurations

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
CONFIGURATIONID >> msdyn_productconfiguration

When a product has different product dimensions (for example, a product master has Size and Color as product dimensions), each distinct product (that is, each product variant) is defined as a combination of those product dimensions. For example, product number B0001 is an extra-small black T-shirt, and product number B0002 is a small black T-shirt. In this case, the existing combinations of product dimensions are defined. For example, the T-shirt from the preceding example can be extra-small and black, small and black, medium and black, or large and black, but it can't be extra-large and black. In other words, the product dimensions that a product master can take are specified, and variants can be released based on these values.

To keep track of the product dimensions that a product master can take, the following entities are created and mapped in Common Data Service for each product dimension. For more information, see Product information overview.

Product master colors to msdyn_sharedproductcolors

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
PRODUCTCOLORID >> msdyn_productcolor.msdyn_productcolorname
PRODUCTMASTERNUMBER >> msdyn_globalproduct.msdyn_productnumber
REPLENISHMENTWEIGHT >> msdyn_replenishmentweight
DISPLAYSEQUENCENUMBER >> msdyn_displaysequencenumber

Product master sizes to msdyn_sharedproductsizes

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
PRODUCTMASTERNUMBER >> msdyn_globalproduct.msdyn_productnumber
PRODUCTSIZEID >> msdyn_productsize.msdyn_productsize
REPLENISHMENTWEIGHT >> msdyn_replenishmentweight
DISPLAYSEQUENCENUMBER >> msdyn_displaysequencenumber

Product master styles to msdyn_sharedproductstyles

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
PRODUCTMASTERNUMBER >> msdyn_globalproduct.msdyn_productnumber
PRODUCTSTYLEID >> msdyn_productstyle.msdyn_productstyle
REPLENISHMENTWEIGHT >> msdyn_replenishmentweight
DISPLAYSEQUENCENUMBER >> msdyn_displaysequencenumber

Product master configurations to msdyn_sharedproductconfigurations

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
CONTAINERUNITSYMBOL >> msdyn_containerunit.msdyn_symbol
PRODUCTCONFIGURATIONID >> msdyn_productconfiguration.msdyn_productconfiguration
PRODUCTMASTERNUMBER >> msdyn_globalproduct.msdyn_productnumber
REPLENISHMENTWEIGHT >> msdyn_replenishmentweight
DISPLAYSEQUENCENUMBER >> msdyn_displaysequencenumber

Product Number Identified Barcode to msdyn_productbarcodes

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
PRODUCTNUMBER > msdyn_productnumberid.msdyn_productnumber
BARCODE > msdyn_name
BARCODE > msdyn_barcode
PRODUCTQUANTITY > msdyn_productquantity
PRODUCTDESCRIPTION > msdyn_productdescription
BARCODESETUPID > msdyn_barcodesetupid
PRODUCTQUANTITYUNITSYMBOL > msdyn_unitofmeasureid.msdyn_symbol
ISDEFAULTSCANNEDBARCODE >> msdyn_isdefaultscannedbarcode
ISDEFAULTPRINTEDBARCODE >> msdyn_isdefaultprintedbarcode
ISDEFAULTDISPLAYEDBARCODE >> msdyn_isdefaultdisplayedbarcode

Default order settings and product specific default order settings

Default order settings define the site and warehouse where items will be sourced from or stored, the minimum, maximum, multiple and standard quantities that will be used for trading or inventory management, the lead times, the stop flag, and the order promising method. This information is available in Common Data Service using the default order settings and product specific default order settings entity. You can read more information about the functionality in the Default order settings topic.

Default order settings to msdyn_productdefaultordersettings

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
INVENTWAREHOUSEID = msdyn_inventorywarehouse.msdyn_warehouseidentifier
INVENTORYSITEID = msdyn_inventorysite.msdyn_siteid
INVENTORYATPDELAYEDDEMANDOFFSETDAYS = msdyn_inventoryatpdelayeddemandoffsetdays
INVENTORYATPDELAYEDSUPPLYOFFSETDAYS = msdyn_inventoryatpdelayedsupplyoffsetdays
ITEMNUMBER = msdyn_itemnumber.msdyn_itemnumber
INVENTORYATPBACKWARDDEMANDTIMEFENCEDAYS = msdyn_inventoryatpbackwarddemandtimefencedays
INVENTORYATPBACKWARDSUPPLYTIMEFENCEDAYS = msdyn_inventoryatpbackwardsupplytimefencedays
INVENTORYATPTIMEFENCEDAYS = msdyn_inventoryatptimefencedays
MAXIMUMINVENTORYORDERQUANTITY = msdyn_maximuminventoryorderquantity
MAXIMUMPROCUREMENTORDERQUANTITY = msdyn_maximumprocurementorderquantity
MAXIMUMSALESORDERQUANTITY = msdyn_maximumsalesorderquantity
MINIMUMINVENTORYORDERQUANTITY = msdyn_minimuminventoryorderquantity
MINIMUMPROCUREMENTORDERQUANTITY = msdyn_minimumprocurementorderquantity
MINIMUMSALESORDERQUANTITY = msdyn_minimumsalesorderquantity
STANDARDINVENTORYORDERQUANTITY = msdyn_standardinventoryorderquantity
STANDARDPROCUREMENTORDERQUANTITY = msdyn_standardprocurementorderquantity
STANDARDSALESORDERQUANTITY = msdyn_standardsalesorderquantity
INVENTORYLEADTIMEDAYS = msdyn_inventoryleadtimedays
INVENTORYQUANTITYMULTIPLES = msdyn_inventoryquantitymultiples
PROCUREMENTQUANTITYMULTIPLES = msdyn_procurementquantitymultiples
SALESQUANTITYMULTIPLES = msdyn_salesquantitymultiples
PROCUREMENTSITEID = msdyn_procurementsite.msdyn_siteid
PROCUREMENTLEADTIMEDAYS = msdyn_procurementleadtimedays
SALESSITEID = msdyn_salessite.msdyn_siteid
SALESATPDELAYEDDEMANDOFFSETDAYS = msdyn_salesatpdelayeddemandoffsetdays
SALESATPDELAYEDSUPPLYOFFSETDAYS = msdyn_salesatpdelayedsupplyoffsetdays
SALESATPBACKWARDDEMANDTIMEFENCEDAYS = msdyn_salesatpbackwarddemandtimefencedays
SALESATPBACKWARDSUPPLYTIMEFENCEDAYS = msdyn_salesatpbackwardsupplytimefencedays
SALESATPTIMEFENCEDAYS = msdyn_salesatptimefencedays
SALESLEADTIMEDAYS = msdyn_salesleadtimedays
PROCUREMENTWAREHOUSEID = msdyn_procurementwarehouse.msdyn_warehouseidentifier
SALESWAREHOUSEID = msdyn_saleswarehouse.msdyn_warehouseidentifier
AREINVENTORYORDERPROMISINGDEFAULTSOVERRIDDEN >< msdyn_areinventoryorderdefaultsoverridden
INVENTORYORDERPROMISINGMETHOD >< msdyn_inventoryorderpromisingmethod
ISINVENTORYATPINCLUDINGPLANNEDORDERS >< msdyn_isinventoryatpincludingplannedorders
ISINVENTORYUSINGWORKINGDAYS >< msdyn_isinventoryusingworkingdays
ISINVENTORYSITEMANDATORY >< msdyn_isinventorysitemandatory
ISINVENTORYPROCESSINGSTOPPED >< msdyn_isinventoryprocessingstopped
ISPROCUREMENTUSINGWORKINGDAYS >< msdyn_isprocurementusingworkingdays
ISPROCUREMENTSITEMANDATORY >< msdyn_isprocurementsitemandatory
ISPROCUREMENTPROCESSINGSTOPPED >< msdyn_isprocurementprocessingstopped
ARESALESORDERPROMISINGDEFAULTSOVERRIDDEN >< msdyn_aresalesorderdefaultsoverridden
SALESORDERPROMISINGMETHOD >< msdyn_salesorderpromisingmethod
ISSALESATPINCLUDINGPLANNEDORDERS >< msdyn_issalesatpincludingplannedorders
ISSALESSITEMANDATORY >< msdyn_issalessitemandatory
ISSALESLEADTIMEOVERRIDDEN >< msdyn_issalesleadtimeoverridden
ISSALESPROCESSINGSTOPPED >< msdyn_issalesprocessingstopped
ISINVENTORYWAREHOUSEMANDATORY >< msdyn_isinventorywarehousemandatory
ISPROCUREMENTWAREHOUSEMANDATORY >< msdyn_isprocurementwarehousemandatory
ISSALESWAREHOUSEMANDATORY >< msdyn_issaleswarehousemandatory

Product default order settings V2 to msdyn_productspecificdefaultordersettings

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
INVENTORYWAREHOUSEID = msdyn_inventorywarehouse.msdyn_warehouseidentifier
INVENTORYSITEID = msdyn_inventorysite.msdyn_siteid
INVENTORYATPDELAYEDDEMANDOFFSETDAYS = msdyn_inventoryatpdelayeddemandoffsetdays
INVENTORYATPDELAYEDSUPPLYOFFSETDAYS = msdyn_inventoryatpdelayedsupplyoffsetdays
ITEMNUMBER = msdyn_itemnumber.msdyn_itemnumber
INVENTORYATPBACKWARDDEMANDTIMEFENCEDAYS = msdyn_inventoryatpbackwarddemandtimefencedays
INVENTORYATPBACKWARDSUPPLYTIMEFENCEDAYS = msdyn_inventoryatpbackwardsupplytimefencedays
INVENTORYATPTIMEFENCEDAYS = msdyn_inventoryatptimefencedays
MAXIMUMINVENTORYORDERQUANTITY = msdyn_maximuminventoryorderquantity
MAXIMUMPROCUREMENTORDERQUANTITY = msdyn_maximumprocurementorderquantity
MAXIMUMSALESORDERQUANTITY = msdyn_maximumsalesorderquantity
MINIMUMINVENTORYORDERQUANTITY = msdyn_minimuminventoryorderquantity
MINIMUMPROCUREMENTORDERQUANTITY = msdyn_minimumprocurementorderquantity
MINIMUMSALESORDERQUANTITY = msdyn_minimumsalesorderquantity
STANDARDINVENTORYORDERQUANTITY = msdyn_standardinventoryorderquantity
STANDARDPROCUREMENTORDERQUANTITY = msdyn_standardprocurementorderquantity
STANDARDSALESORDERQUANTITY = msdyn_standardsalesorderquantity
INVENTORYLEADTIMEDAYS = msdyn_inventoryleadtimedays
INVENTORYQUANTITYMULTIPLES = msdyn_inventoryquantitymultiples
PROCUREMENTQUANTITYMULTIPLES = msdyn_procurementquantitymultiples
SALESQUANTITYMULTIPLES = msdyn_salesquantitymultiples
PROCUREMENTSITEID = msdyn_procurementsite.msdyn_siteid
PROCUREMENTLEADTIMEDAYS = msdyn_procurementleadtimedays
SALESSITEID = msdyn_salessite.msdyn_siteid
SALESATPDELAYEDDEMANDOFFSETDAYS = msdyn_salesatpdelayeddemandoffsetdays
SALESATPDELAYEDSUPPLYOFFSETDAYS = msdyn_salesatpdelayedsupplyoffsetdays
SALESATPBACKWARDDEMANDTIMEFENCEDAYS = msdyn_salesatpbackwarddemandtimefencedays
SALESATPBACKWARDSUPPLYTIMEFENCEDAYS = msdyn_salesatpbackwardsupplytimefencedays
SALESATPTIMEFENCEDAYS = msdyn_salesatptimefencedays
SALESLEADTIMEDAYS = msdyn_salesleadtimedays
PROCUREMENTWAREHOUSEID = msdyn_procurementwarehouse.msdyn_warehouseidentifier
SALESWAREHOUSEID = msdyn_saleswarehouse.msdyn_warehouseidentifier
AREINVENTORYDEFAULTORDERSETTINGSOVERRIDDEN >< msdyn_areinventoryorderdefaultsoverridden
INVENTORYORDERPROMISINGMETHOD >< msdyn_inventoryorderpromisingmethod
ISINVENTORYATPINCLUDINGPLANNEDORDERS >< msdyn_isinventoryatpincludingplannedorders
ISINVENTORYUSINGWORKINGDAYS >< msdyn_isinventoryusingworkingdays
ISINVENTORYSITEMANDATORY >< msdyn_isinventorysitemandatory
ISINVENTORYPROCESSINGSTOPPED >< msdyn_isinventoryprocessingstopped
ISPROCUREMENTUSINGWORKINGDAYS >< msdyn_isprocurementusingworkingdays
ISPROCUREMENTSITEMANDATORY >< msdyn_isprocurementsitemandatory
ISPROCUREMENTPROCESSINGSTOPPED >< msdyn_isprocurementprocessingstopped
ARESALESDEFAULTORDERSETTINGSOVERRIDDEN >< msdyn_aresalesorderdefaultsoverridden
SALESORDERPROMISINGMETHOD >< msdyn_salesorderpromisingmethod
ISSALESATPINCLUDINGPLANNEDORDERS >< msdyn_issalesatpincludingplannedorders
ISSALESSITEMANDATORY >< msdyn_issalessitemandatory
ISSALESLEADTIMEOVERRIDDEN >< msdyn_issalesleadtimeoverridden
ISSALESPROCESSINGSTOPPED >< msdyn_issalesprocessingstopped
ISINVENTORYWAREHOUSEMANDATORY >< msdyn_isinventorywarehousemandatory
ISPROCUREMENTWAREHOUSEMANDATORY >< msdyn_isprocurementwarehousemandatory
ISSALESWAREHOUSEMANDATORY >< msdyn_issaleswarehousemandatory
OPERATIONALSITEID = msdyn_operationalsite.msdyn_siteid
PRODUCTCOLORID = msdyn_productcolor.msdyn_productcolorname
PRODUCTCONFIGURATIONID = msdyn_productconfiguration.msdyn_productconfiguration
PRODUCTSIZEID = msdyn_productsize.msdyn_productsize
PRODUCTSTYLEID = msdyn_productstyle.msdyn_productstyle

Unit of measure and unit of measure conversions

The units of measure and its respective conversions is available in the Common Data Service following the data model shown in the diagram.

Data model for products

The unit of measure concept is integrated between Finance and Operations apps and other Dynamics 365 apps. For each unit class in a Finance and Operations app, a unit group is created in a Dynamics 365 app, which contains the units belonging to the unit class. A default base unit is also created for every unit group.

Units to uoms

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
UNITSYMBOL >> msdyn_symbol
UNITCLASS >> msdyn_externalunitclassname
DECIMALPRECISION >> msdyn_decimalprecision
ISBASEUNIT >> msdyn_isbaseunit
ISSYSTEMUNIT >> msdyn_issystemunit
SYSTEMOFUNITS >> msdyn_systemofunits
UNITSYMBOL >> name
UNITDESCRIPTION >> msdyn_description

Unit conversions to msdyn_unitofmeasureconversions

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
DENOMINATOR = msdyn_denominator
NUMERATOR = msdyn_numerator
FACTOR = msdyn_factor
INNEROFFSET = msdyn_inneroffset
OUTEROFFSET = msdyn_outeroffset
ROUNDING >< msdyn_rounding
TOUNITSYMBOL = msdyn_tounit.msdyn_symbol
FROMUNITSYMBOL = msdyn_fromunit.msdyn_symbol

Product specific unit conversions to msdyn_productspecificunitofmeasureconversions

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
DENOMINATOR = msdyn_denominator
NUMERATOR = msdyn_numerator
FACTOR = msdyn_factor
FROMUNITSYMBOL = msdyn_fromunit.msdyn_symbol
TOUNITSYMBOL = msdyn_tounit.msdyn_symbol
PRODUCTNUMBER = msdyn_globalproduct.msdyn_productnumber
INNEROFFSET = msdyn_inneroffset
OUTEROFFSET = msdyn_outeroffset
ROUNDING >< msdyn_rounding

Initial synchronization of units data matching between Finance and Operations and Common Data Service

Initial synchronization of units

When dual write is enabled, units from Finance and Operations apps are synchronized to other Dynamics 365 apps. The unit groups synchronized from Finance and Operations apps in Common Data Service have a flag set that indicates they are “Externally maintained”.

Matching units and unit classes/groups data from Finance and Operations and other Dynamics 365 apps

First, it is important to note that the integration key for unit is msdyn_symbol. Therefore, this value must be unique in Common Data Service or other Dynamics 365 apps. Because in other Dynamics 365 apps it is the pair “Unit group ID” and “Name” that define the uniqueness of a unit, you need to consider different scenarios for matching unit data between Finance and Operations apps and Common Data Service.

For units matching/overlapping in Finance and Operations apps and other Dynamics 365 apps:

  • The unit belongs to a unit group in other Dynamics 365 apps that corresponds to the associated unit class in Finance and Operations apps. In this case, the field msdyn_symbol in other Dynamics 365 apps must be filled in with the unit symbol from Finance and Operations apps. Therefore, when the data will be matched, and the unit group will be set as “Externally maintained” in other Dynamics 365 apps.
  • The unit belongs to a unit group in other Dynamics 365 apps that does not correspond to the associated unit class in Finance and Operations apps (no existing unit class in Finance and Operations apps for the unit class in other Dynamics 365 apps). In this case, the msdyn_symbol must be filled in with a random string. Note that this value must be unique in other Dynamics 365 apps.

For units and unit classes in Finance and Operations not existing in other Dynamics 365 apps:

As part of dual-write the unit groups from Finance and Operations apps and its corresponding units are created and synchronized in other Dynamics 365 apps and Common Data Service and the unit group will be set as “Externally maintained”. No extra bootstrapping effort is required.

For units in other Dynamics 365 apps that do not exist in Finance and Operations apps:

The field msdyn_symbol must be filled in for all units. The units can always be created in Finance and Operations apps in the corresponding unit class (if it exists). If the unit class does not exist, first the unit class must be created (note that you cannot create a unit class in Finance and Operations apps except through extension if you are extending the enum) matching the other Dynamics 365 apps unit group. Then you can create the unit. Note that the unit symbol in Finance and Operations apps must be the msdyn_symbol previously specified in other Dynamics 365 apps for the unit.

Product policies: dimension, tracking and storage groups

The product policies are sets of policies used for defining products and its characteristics in inventory. The product dimension group, product tracking dimension group and storage dimension group can be found as product policies.

Product dimension groups to msdyn_productdimensiongroups

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
WILLSALESPRICESEARCHUSEPRODUCTSTYLE >< msdyn_willsalespricesearchuseproductstyle
WILLPURCHASEPRICESEARCHUSEPRODUCTSIZE >< msdyn_willpurchasepricesearchuseproductsize
WILLSALESPRICESEARCHUSEPRODUCTCONFIGURATION >< msdyn_willsalespricesearchuseprodconfig
WILLSALESPRICESEARCHUSEPRODUCTCOLOR >< msdyn_willsalespricesearchuseproductcolor
WILLPURCHASEPRICESEARCHUSEPRODUCTSTYLE >< msdyn_willpurchasepricesearchuseproductstyle
WILLPURCHASEPRICESEARCHUSEPRODUCTCONFIGURATION >< msdyn_willpurchpricesearchuseprodconfig
WILLPURCHASEPRICESEARCHUSEPRODUCTCOLOR >< msdyn_willpurchpricesearchuseproductcolor
ISPRODUCTSTYLEACTIVE >< msdyn_isproductstyleactive
ISPRODUCTSIZEACTIVE >< msdyn_isproductsizeactive
ISPRODUCTCONFIGURATIONACTIVE >< msdyn_isproductconfigurationactive
ISPRODUCTCOLORACTIVE >< msdyn_isproductcoloractive
GROUPNAME = msdyn_groupname
GROUPDESCRIPTION = msdyn_groupdescription
PRODUCTVARIANTNOMENCLATURENAME = msdyn_productvariantnomenclaturename
WILLSALESPRICESEARCHUSEPRODUCTSIZE >< msdyn_willsalespricesearchuseproductsize

Tracking dimension groups to msdyn_producttrackingdimensiongroups

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
SERIALNUMBERCAPTURINGOPERATION >< msdyn_serialnumbercapturingoperation
GROUPNAME = msdyn_groupname
GROUPDESCRIPTION = msdyn_groupdescription
ISSERIALNUMBERENABLEDFORPRODUCTIONCONSUMPTIONPROCESS >< msdyn_issnenabledforpcprocess
ISSERIALNUMBERCONTROLENABLED >< msdyn_isserialnumbercontrolenabled
ISSERIALNUMBERENABLEDFORSALESPROCESS >< msdyn_isserialnumberenabledforsalesprocess
ISSERIALNUMBERACTIVE >< msdyn_isserialnumberactive
ISSALESPRICEBYSERIALNUMBER >< msdyn_issalespricebyserialnumber
ISSALESPRICEBYBATCHNUMBER >< msdyn_issalespricebybatchnumber
ISPURCHASEPRICEBYSERIALNUMBER >< msdyn_ispurchasepricebyserialnumber
ISPURCHASEPRICEBYBATCHNUMBER >< msdyn_ispurchasepricebybatchnumber
ISPRIMARYSTOCKINGENABLEDFORSERIALNUMBER >< msdyn_isprimarystockingenabledforsn
ISPRIMARYSTOCKINGENABLEDFORBATCHNUMBER >< msdyn_isprimarystockingenabledforbn
ISPHYSICALINVENTORYENABLEDFORSERIALNUMBER >< msdyn_isphysicalinventoryenabledforsn
ISPHYSICALINVENTORYENABLEDFORBATCHNUMBER >< msdyn_isphysicalinventoryenabledforbn
ISFINANCIALINVENTORYENABLEDFORSERIALNUMBER >< msdyn_isfinancialinventoryenabledforsn
ISFINANCIALINVENTORYENABLEDFORBATCHNUMBER >< msdyn_isfinancialinventoryenabledforbn
ISCOVERAGEPLANENABLEDFORSERIALNUMBER >< msdyn_iscoverageplanenabledforserialnumber
ISCOVERAGEPLANENABLEDFORBATCHNUMBER >< msdyn_iscoverageplanenabledforbatchnumber
ISBLANKRECEIPTALLOWEDFORSERIALNUMBER >< msdyn_isblankreceiptallowedforserialnumber
ISBLANKRECEIPTALLOWEDFORBATCHNUMBER >< msdyn_isblankreceiptallowedforbatchnumber
ISBLANKISSUEALLOWEDFORSERIALNUMBER >< msdyn_isblankissueallowedforserialnumber
ISBLANKISSUEALLOWEDFORBATCHNUMBER >< msdyn_isblankissueallowedforbatchnumber
ISBATCHNUMBERACTIVE >< msdyn_isbatchnumberactive
ISINVENTORYOWNERACTIVE >< msdyn_isinventoryowneractive

Storage dimension groups to msdyn_productstoragedimensiongroups

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
WILLSALESPRICESEARCHUSEWAREHOUSE >< msdyn_willsalespricesearchusewarehouse
WILLSALESPRICESEARCHUSESITE >< msdyn_willsalespricesearchusesite
WILLSALESPRICESEARCHUSEINVENTORYSTATUS >< msdyn_willsalespricesearchuseinventorystatus
WILLPURCHASEPRICESEARCHUSEWAREHOUSE >< msdyn_willpurchasepricesearchusewarehouse
WILLPURCHASEPRICESEARCHUSESITE >< msdyn_willpurchasepricesearchusesite
WILLPURCHASEPRICESEARCHUSEINVENTORYSTATUS >< msdyn_willpurchpricesearchuseinventstatus
WILLCOVERAGEPLANNINGUSEWAREHOUSE >< msdyn_willcoverageplanusewarehouse
WILLCOVERAGEPLANNINGUSELOCATION >< msdyn_iscoverageplanenabledforlocation
WILLCOVERAGEPLANNINGUSEINVENTORYSTATUS >< msdyn_willcoverageplanuseinventorystatus
AREADVANCEDWAREHOUSEMANAGEMENTPROCESSESENABLED >< msdyn_areadvancedwmprocessesenabled
ISWAREHOUSEPRIMARYSTORAGEDIMENSION >< msdyn_iswarehouseprimarystoragedimension
ISWAREHOUSEMANDATORY >< msdyn_iswarehousemandatory
ISPHYSICALINVENTORYENABLEDFORWAREHOUSE >< msdyn_isphysicalinventoryenabledforwarehouse
ISPHYSICALINVENTORYENABLEDFORLOCATION >< msdyn_isphysicalinventoryenabledforlocation
ISLOCATIONACTIVE >< msdyn_islocationactive
ISFINANCIALINVENTORYENABLEDFORWAREHOUSE >< msdyn_isfinancialinventoryenabledforwarehouse
GROUPNAME = msdyn_groupname
GROUPDESCRIPTION = msdyn_groupdescription
ISBLANKRECEIPTALLOWEDFORLOCATION >< msdyn_isblankreceiptallowedforlocation
ISBLANKISSUEALLOWEDFORLOCATION >< msdyn_isblankissueallowedforlocation

Product hierarchies

Product category hierarchies to msdyn_productcategoryhierarchies

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
HIERARCHYNAME = msdyn_name
HIERARCHYDESCRIPTION = msdyn_description

Product categories to msdyn_productcategories

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
PRODUCTCATEGORYHIERARCHYNAME = msdyn_hierarchy.msdyn_name
ISCATEGORYINHERITINGPARENTPRODUCTATTRIBUTES >< msdyn_isinheritingparentproductattributes
PROJECTCATEGORYNAME = msdyn_projectcategoryname
ISTANGIBLEPRODUCT >< msdyn_istangibleproduct
ISCATEGORYINHERITINGPARENTCATEGORYATTRIBUTES >< msdyn_isinheritingparentcategoryattributes
CATEGORYCODE = msdyn_code
CATEGORYDESCRIPTION = msdyn_description
CATEGORYKEYWORDS = msdyn_keywords
CATEGORYNAME = msdyn_name
FRIENDLYCATEGORYNAME = msdyn_friendlycategoryname
PARENTPRODUCTCATEGORYNAME = msdyn_parentproductcategory.msdyn_name
PRODUCTCATEGORYHIERARCHYNAME >> msdyn_parentproductcategory.msdyn_hierarchy.msdyn_name

Product category assignments to msdyn_productcategoryassignments

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
PRODUCTNUMBER = msdyn_globalproduct.msdyn_productnumber
PRODUCTCATEGORYNAME = msdyn_productcategory.msdyn_name
PRODUCTCATEGORYHIERARCHYNAME = msdyn_productcategory.msdyn_hierarchy.msdyn_name
PRODUCTNUMBER >> msdyn_name

Product category hierarchy roles to msdyn_productcategoryhierarchyroles

This template synchronizes data between Finance and Operations apps and Common Data Service.

Finance and Operations field Map type Other Dynamics 365 field Default value
PRODUCTCATEGORYHIERARCHYNAME = msdyn_hierarchy.msdyn_name
HIERARCHYROLE >< msdyn_hierarchyrole

Integration key for products

To uniquely identify products between Dynamics 365 for Finance and Operations and products in Common Data Service the integration keys are used. For products, the (productnumber) is the unique key that identifies a product in Common Data Service. It is composed by the concatenation of: (company, msdyn_productnumber). The company indicates the legal entity in Finance and Operations and msdyn_productnumber indicates the product number for the specific product in Finance and Operations.

For a other Dynamics 365 apps user, the product is identified in the UI with the msdyn_productnumber (note that the label of the field is Product number). In the product form both the company and the msydn_productnumber are shown. However, the (productnumber) field, the unique key for a product, is not shown.

Note that if apps are built on top of Common Data Service, special attention should be paid to using the (productnumber), that is the unique product ID, as the integration key, and not the msdyn_productnumber, due to the fact that the last is not unique.

Initial synchronization of products and migration of data from Common Data Service to Finance and Operations

Initial synchronization of products

When dual write is enabled, products from Dynamics 365 Finance and Operations are synchronized to Common Data Service and other Dynamics 365 apps. Note that products created in Common Data Service and other Dynamics 365 apps prior to dual write, will not be updated or matched with product data from Finance and Operations.

Matching product data from Finance and Operations and other Dynamics 365 apps

If the same products are kept (overlapping/matching) in Finance and Operations and in Common Data Service and other Dynamics 365 apps, when enabling dual-write the synchronization of products from Finance and Operations will take place, and duplicate records will appear in Common Data Service for the same product. To avoid the previous situation, if other Dynamics 365 apps have products that are overlapping/matching with Finance and Operations, then the administrator enabling dual write must bootstrap the fields Company (example: "USMF") and msdyn_productnumber (example: "1234:Black:S") before the synchronization of products takes place. In other words, these two fields in the product in Common Data Service must be filled in with the respective company in Finance and Operations to which the product needs to be matched with and with its product number.

Then, when the synchronization is enabled and takes place, the products from Finance and Operations will be synchronized with the matched products in Common Data Service and other Dynamics 365 apps. This is applicable for both distinct products and product variants.

Migration of product data from other Dynamics 365 apps to Finance and Operations

If other Dynamics 365 apps has products that are not present in Finance and Operations, the administrator can first use the EcoResReleasedProductCreationV2Entity for importing those products in Finance and Operations. And secondly, match the product data from Finance and Operations and other Dynamics 365 apps as described above.