Microsoft Dynamics 365 business applications are uniquely able to help organizations digitally transform by unifying data and intelligence from employees, customers, operations, and devices into one source, creating many opportunities to use digital feedback loops to adapt and improve.
To that end, we’re announcing dual-write, a new capability that enables data to become available natively on Common Data Service across Finance and Operations apps, and model-driven apps in Dynamics 365.
The dual-write solution package covers master data scenarios for customers, products, and vendors, and for end-to-end process flows like prospect to cash, and for on-demand functions like pricing and reference data for ledger, tax, payment terms, and schedules. Dual-write will continue to expand in the future to support more scenarios for party, project, on-hand inventory, and more. The framework is extensible and accommodates customer-centric business data exchange through a few additional clicks.
A huge thanks to customers and partners from our Insider program. Without them, we wouldn’t have come so far! It has been a great journey with lots of learning along the way.
Note that we’re following the Finance and Operations ring-based deployment schedule, and it will take some time for this capability to become available in your environment.
Synchronous, bidirectional, near real-time data flows require the following versions:
- Finance and Operations applications version 10.0.9 (10.0.383.20013) (Quality update), platform update 33 or higher
- Model-driven applications, platform version 9.1.0000.11732 or later
Dual-write infrastructure makes it seamless to maintain the same data in an application and Common Data Service, which enables organizations to realize the benefits shown in this illustration:
Near real-time and bidirectional
Dual-write provides a tightly coupled near real-time and bidirectional integration between Finance and Operations apps, and Common Data Service. Any create, update, or delete in either location results in writes, in near real-time, to Common Data Service. For example, creating a customer in a Finance and Operations application creates an account in Common Data Service and vice versa.
Embedded experience in Finance and Operations apps
Organizations enable and administer dual-write from within Finance and Operations apps they’re already familiar with.
Enabling dual-write is easy
After you launch dual-write from the Data Management page in the Finance and Operations apps, you select a Common Data Service environment that you want to link to, select legal entities, and as a final step, validate your selections. You are then provided a list of entity maps, out of the box, that you enable for dual-write. We’ll keep adding to the list to provide more out of the box entity maps.
Ability to customize entity and field mappings
Every organization is different, so we provide you with a way to modify and customize entity and field mappings.
Ability to filter and transform data
With dual-write, we provide you with the ability to filter data along with basic transformation.
There are knobs to customize the direction of field assignments as well.
Consolidated view of activities and errors
In case of planned or unplanned maintenance, admins can create one or more alert settings such that if a certain error threshold is reached, for example due to network errors, the dual-write capability notifies you via email message or takes an appropriate action (for example, pause or stop dual-write) on your behalf. For example, let’s say you want dual-write to pause if 10 application errors occur within 15 minutes.
By clicking Create alert settings, you can create more alerts and choose to send notifications to an individual or group and take an action on your behalf.
Alerts are especially useful in case of unplanned maintenance, when one of the apps is unavailable and based on your defined thresholds, dual-write goes into a paused state wherein all new requests are queued (but not lost). After you fix the underlying issue and both applications are running smoothly, you can resume from the paused state and the updates are read back from the queue and written to the recovered application.
Dual-write creates a mapping between concepts in Finance and Operations apps and concepts in model-driven apps in Dynamics 365. This mapping supports the following scenarios:
Integrated customer master
Customer data can be mastered in more than one Dynamics 365 application. For example, sales activity by a sales agent can bring in customer data through Microsoft Dynamics 365 Sales, and e-commerce or retail sales activity can bring in customer data through Microsoft Dynamics 365 Commerce. Regardless of where the customer data originates, it’s integrated behind the scenes.
Integrated customer master helps businesses to have the flexibility to master customer data in any Dynamics 365 application, and provides a comprehensive view of the customer in Dynamics 365.
Access to customer loyalty cards and reward points
Businesses classify customers and provide sophisticated services based on their shopping and spending patterns. Among the Dynamics 365 applications, Dynamics 365 Commerce has the infrastructure and functions to facilitate and handle customer loyalty cards, reward points, loyalty-based pricing, rewards-based shopping experiences, and more. When customer loyalty and reward points data is exposed on Common Data Service, it becomes accessible to Dynamics 365 applications. For example, Dynamics 365 Customer Service users can use the data to provide sophisticated service through a help desk.
Unified product mastering experience
When a business ecosystem is made up of the Dynamics 365 applications, Microsoft Dynamics 365 Supply Chain Management becomes the source for product data, because of the availability of robust product infrastructure which is complemented by a sophisticated pricing engine and accurate on-hand inventory data. Few businesses who use an external Product Lifecycle Management (PLM) system for sourcing the product data still channelize products through Dynamics 365 Supply Chain Management to other Dynamics 365 apps. So we’ve unified the product data model on Common Data Service, so that all Dynamics 365 users, including users of Microsoft Power Platform, can take advantage of the rich product data coming from Dynamics 365 Supply Chain Management.
Awareness of organization hierarchy
Organization is a core concept of Finance and Operations apps and business financials are generated and tracked at various levels of an organization hierarchy. Common Data Service doesn’t have an organization hierarchy, but it does have a few related concepts, such as total sales revenue. Exposing the organization hierarchy on Common Data Service for informational and extensibility purposes helps businesses when required.
Integrated vendor master
The term vendor refers to a supplier organization or a sole proprietor who supplies goods or services to the business. Vendor is an established concept in Dynamics 365 Supply Chain Management. But model-driven apps in Dynamics 365 don’t have an explicit vendor concept and so the account or contact entity is overloaded to store vendor information. With integrated vendor master, an explicit vendor concept is introduced in Common Data Service. Businesses can either choose the new vendor concept or use the account or contact entity for vendors. The vendor data is integrated between Dynamics 365 Supply Chain Management, Dynamics 365 Sales, Dynamics 365 Field Service, and Microsoft Power Apps portals and becomes available for Dynamics 365 Supply Chain Management workflows like purchase requisition, purchase orders, and more.
Access to finance and tax reference data
Every business operates with a basic set of financial data like fiscal calendar year, currency to transact in, accounts from where the money to run the business comes in and goes out, tax rates, and remittance. This information resides in Finance and Operations apps but is exposed on Common Data Service so that Dynamics 365 applications can run based on a single source for finance and tax data. This brings uniformity across the business eco-system.
Finance and Operations price engine on Common Data Service on demand
Businesses rely on Dynamics 365 Supply Chain Management for storing and handling prices and discounts required for the business due to its robust infrastructure with functions like trade agreements, price lists, customer loyalty, promotions, and discounts. It has a pricing engine that uses complex rules and derives best price for the given quote/order context. With dual-write, this pricing engine is exposed on Dynamics 365 applications on the quote and on order forms. Model-driven apps in Dynamics 365 users can either choose to rely on pricelist-based static price, or invoke the pricing engine for best prices through a single button click without signing into Dynamics 365 Supply Chain Management.
Prospect to cash
Converting a prospect to a customer over a successful business deal and continuous business with the same customer is the target for most of the businesses. In Dynamics 365 applications, it takes place through quotations or order processing workflows and the financials are reconciled and recognized. Integrated prospect to cash workflow helps the quotation and order to originate in either Dynamics 365 Sales or Dynamics 365 Supply Chain Management but becomes available on both. Users can access the processing states and invoice information on their application interface in real-time. Also, this helps businesses to handle functions like product stocking, inventory handling, and fulfillment inside Dynamics 365 Supply Chain Management without recreating the quote or order.
Availability of in-house assets for field service
Microsoft Dynamics 365 Field Service is designed to service customer assets at the customer location. Enterprise asset management is designed to service in-house assets. Integrating these two applications on assets helps businesses to use Dynamics 365 Field Service application for servicing customer assets on site and in-house. Also, businesses get the ability to classify the assets based on functional location or hierarchy, and to track the servicing at a more granular level.
Find more information by reviewing the Dual-write documentation.