Possibilities of business processes automation and extension is limitless when you use Microsoft power platform. Use PowerApps to extend user interfaces and functionality of your CRM or ERP apps, use power automate to automate business process actions or use AI builder and RPA to reduce manual labor intensive work for your employees. Dynamics 365 and Power platform together provides the most comprehensive business applications and automation, analytics platform in the market today.
One simple example use case is exposing workflow work items that originate in Dynamics 365 F&O for various business documents such as purchase orders, vendor invoices, budgets, timesheets and expense reports to Microsoft Power automate and then build the required automation flow to take advantage of the Microsoft flow Approvals solution. This gives your employees the flexibility of taking action on critical business documents quicker within Microsoft Teams, or within the Teams app when they are on the go.
I have a very simple flow in place, which is subscribed to the expense report approval business event in Dynamics 365 F&O. Every time an expense report is submitted in F&O and it is ready for the reviewer to take action, the flow will extract the required information from the expense report approval work item using the JSON schema of the business event and then sends an approval action within Microsoft Teams to the approver of the expense report. After the approver takes action on the work item within Teams or on their phone, the work item is completed in real time back in Dynamics 365 F&O.
With this flow actively running, let’s submit an expense report in D365 F&O. The expense report number in this case is 000041.
As soon as the report is processed in the workflow engine of F&O and it gets assigned to the reviewer/approver, the business event is going to notify our Flow. The flow then runs and sends an approval notice to the approval using Flow approvals action.
The approver then gets notified via email as well as in Microsoft Teams regarding the expense report submitted for their review.
Nevertheless, if the approver is using either Power automate or Teams mobile app, they get notified within those apps as well.
The approver can then take the required action (Approve, Reject, Delegate etc.). Let’s assume they approve the expense report in this case.
Now if we go back to Dynamics 365 F&O and check the expense report status, it should be Approved. We can also view the history to validate that this was approved using Microsoft flow.
That was just a very simple demonstration of what is possible . You can apply this to your situation and make more complex business process automation and extensions.
There is a new feature under the Feature management area that you can enable to setup an email ID for your users dedicated for workflow related notifications in D365 Finance and Supply Chain.
When you enable this new feature, you will see a new field named “Alternate email” on the User Options page under the Workflow tab. When you specify an email ID here for the user, all their workflow related notifications will be sent to this email ID.
If you leave this field blank, the workflow emails will be sent to the email ID setup under the sender email field.
How will this feature help you?: Let’s say you have setup D365 Finance to send Payment advices to vendors for ACH payments and users in the Accounts Payable team would like these payment advices to be sent from the Accounts Payable email alias, instead of their specific email ID. These users in the AP team also receive workflow notifications for various workflow that they are a part of. For a situation like this, you can set the “Sender email” to be the Accounts Payable email alias and setup their user email ID under the Alternate email data field.
Here is a quick tip on a new feature in the Expense Management module of Dynamics 365 Finance introduced in version 10.0.17.
If you give cash advances to your employees for expenses they might incur(Office or travel related expenses), they now have better control over applying specific cash advances(s) against each line of their expense reports.
Before the 10.0.17 release, cash advance application/reconciliation was automatically controlled by the system and the balance was tracked behind the scenes. This worked, but was lacking control and traceability/troubleshooting as such.
With this new feature, employees can submit cash advance requests using the Cash advance feature. Once the request is approved and paid, they become available for application/reconciliation against specific expense report lines.
When you go to enter your expense report, you will see the option to select one or more cash advances against the expense repot line. The system will automatically bring in unapplied cash advances on the screen.
For project based service organizations such as the Marketing agency, Legal and IT consulting world, it is very common to require their customers to partially or fully pay for professional services in advance of the work getting done. This type of billing agreement is called “Retainer agreement” or in simple terms you can call it as pre-billing. In some cases you may also need to define an automatic schedule for retainer billing. In this agreement, the service provider agrees to receive the cash in advance and commits to deliver the services when needed.
When retainers are billed, the revenue is typically deferred and when the actuals on the projects are reconciled against the retainers/advances monthly, revenue is recognized
The Project Management and accounting module of D365 F&O provides this functionality called “Customer advances”, which lets you bill retainers or advances to customers for projects. With the release of version 188.8.131.52, D365 Project Operations solution now has the Retainers and Advances functionality available to general public. This blog post highlights the capabilities of this functionality.
There are 2 ways you can create retainers and advances for a project contract in D365 Project Operations.
Create an automated schedule of retainers to be billed for a certain period of time for a specific amount. System will automatically create the scheduled lines and if you have a automated batch job running for invoice creation, the retainer invoices will be automatically created based on the schedule.
2. You can create them manually as needed on an ad-hoc basis.
When you create the retainer/advance record on the Project contract, those amounts are just ready to be billed to the customers, once you have marked the lines as “Ready for invoicing”. Until you have billed the retainer, they are not available to be applied/reconciled against actuals.
You can create the retainer/advance invoice just like you create any other invoice in Project Operations. The retainer lines will appear under the Advances and Retainers section of the proforma invoice.
After you confirm the proforma invoice, the Project invoice proposal is created and is ready for review and posting. Note that the retainer/advance line is created as an on-account transaction on the project, on the in finance side of the solution.(Those who worked on D365 F&O project module can relate this how the customer advance functionality in the project accounting module of F&O works).
When you post the retainer/advance invoice, the revenue is deferred and AR is debited. (Note here that the ledger posting depends on the cost and revenue profile and project ledger posting setup you have in the entity. For my scenario here, I have it setup for deferring the revenue when i bill retainers. I will recognize the revenue when I reconcile my actuals against the retainers).
You can view and track all your available retainers and advances under the Available retainers and advances tab.
Let’s now go ahead and reconcile some actuals against the retainers and see what happens. I have some time entries and expenses entries already approved and ready to be reconciled against the retainers now.
Notice that when I create the invoice for the project contract now, the system automatically applies the available/not used retainer amounts against the actuals and produces a $0.00 invoice.
At this point, you can modify the amount you want to apply if needed or just confirm the reconciliation invoice as is. After you confirm the reconciliation($0.00) invoice, a project invoice proposal is created automatically on the finance side. This invoice contains the actuals for time and expenses you are reconciling and a deduction on-account line to offset those.
Let’s go ahead and post this reconciliation $0.00 invoice and validate the results. Below screenshot shows the posted invoice with all the hours, expenses and deduction on-account lines of the reconciliation invoice.
The voucher shows that the actual revenue accounts were credited and the Deferred revenue was debited and no posting to the AR account, since this was just a reconciliation invoice.
Back on the retainers tracking page, you will now see that the remaining amount available for reconciling is updated.
In today’s post, we are diving deep into managing complex project contracts/deals in Dynamics 365 Project Operations. We will break down the building blocks of project contracts and understand what each attribute of the contract represents and how it functions.
Negotiating contracts with customers and prospects can get complicated sometimes and often requires flexibility on how you structure the contract to best match the customer’s needs. With Dynamics 365 Project Operations, you have that flexibility right out of the box.
The Project contract captures the work commitments that are negotiated and agreed upon with the customer. It also contains the associated billing details such as billing frequency, schedule, customers and so on for all the work that will be delivered as part of the contract. The below infographic shows the basic structure of a contract in Project Operations.
Project Contracts data is stored in the Order table in Dataverse. You can create Project Contracts manually or the system can create a project contract automatically upon winning an Opportunity. If you are tracking opportunities in the system, then you can transfer over several details into the contract automatically. There are few key data fields that are required when you create a new contract.
Owning Company: This is the legal entity that owns the contract legally and is responsible for reporting the costs and revenues of the contract. This is the legal entity where the Project contract and project record lives on the D365 Finance side.
Contracting unit: This is the business unit/division of the legal entity that is responsible for the delivery of the project associated with the contract. The Contracting unit drives the resource costing. When you setup the Cost rate cards, you can setup resource costs for each Resourcing company and Resourcing units.
Cost & Sales currency: This is the currency in which costs are reported in the front end. Transactions can be recorded in multiple currencies, but are shown in the cost currency of the contracting unit. Sales currency is the currency used for billing. This is also the currency in which project estimates and actuals are shown.
Price list: This the base price list the contract is associated with. You can override the price list to define the contract specific sales prices/bill rates.
Contract Lines is where the details of the contracting models and financial information resides. Contract lines are the key part the forms the overall contract. Right now in the Resource/non-stocked deployment scenarios, you can only add Project work based contract lines. Product based lines is not supported yet in this deployment model. In the example contract shown below, I have a fixed price work component and the travel & other expenses are setup to be billed on T&M basis.
Contract Line Details contains the key details such as,
Billing method: There 2 billing methods to chose from. You can charge a Fixed price for the work component in the contract. This work component can be a project or a task within the project. It depends on how you have structured your projects and contract. You can also setup a contract line to be billed on a Time & Material basis. An example of this would be travel and misc. expenses on project, which you pass the cost to the client. You can add a mark up if needed as well.
Project : Each contract line is linked to a Project. The Project record is the heart of the overall Project Operations solution experience. The Project associated with the contract line is used for the management the work component associated with the contract line. We will dive deep into Project setup, project management in a future post soon.
Transaction types included: On each contract line, you define what type of transactions (Hours/Expenses/Fees) the line includes. You may have one line representing all 3 types, or 3 different lines representing each type or Hours and Fees represented by one line and expenses represented by another line.
Contract line item details: Each contract line has associated line details that sums up the the total value of the contract line. The lien details contains information about transaction class, resourcing unit, Role, category, dates, quantity etc. You can create these lines manually or you can import them from the Initial project estimates to make the job easier.
Chargeable roles and categories: You can define which roles on the contract line/work component will be Chargeable or Non-chargeable.
Invoice Schedule: The invoice schedule defines how frequently you will bill the customer and the milestone dates, and amounts. You can create milestone schedule manually or you can have the system create it for you based on invoice frequency and billing start date. You can associate each invoice milestone to a project task if needed.
Customers/funding sources paying for the contract line: You can split an overall contract between more than one customer or you can also split each contract line between multiple customers. This reminds me the funding source, funding limit and funding rules feature we have in the classic PMA module in D365 F&O.
You can split each contract line to be billed to more than one customers and you can set % of split for each customer and you can also setup Not-to exceed limit for each line.
That’s it for this post. This was a deep dive on Project contracts and what flexibilities you have to set these up in Project Operations.
In an earlier post, I wrote about overview of the new Dynamics 365 Project Operations solution from Microsoft and the 3 different deployment modes available for customers today. I was finally able to free up some time to deploy the new general available build of Project Operations. I deployed the fully integrated mode for resource/non-stocked scenarios.
In this blog post, I wanted to dive into other “Fully integrated D365 Project operations with financials for resource/non-stocked scenarios” and showcase the key capabilities. This deployment scenario is suitable for project based organizations who does not have stocked inventory material and production requirements. The support for non-stocked materials is coming soon on the deployment mode.
In this post, we will focus on reviewing the end to end lifecycle of a project from lead to invoicing. The objective is not to go granular on each of the functionalities, but rather to review all functionalities you can use from at each stage. We will review specific features in future posts and deep dive into those.
The infographic below shows the overall capabilities of Dynamics 365 Project Operations.
D365 Project Operations provides comprehensive Lead, Opportunity and Quote management features suitable for project based firms. It leverages the best of the industry leading D365 Sales solution in the Customer Engagement platform and lights up the experience right within the Project Operations app.
You can track all required Lead information and once you quality the Work based lead, an Opportunity record is automatically created, where you can add the building block of the work.
In the Resource/Non-stocked based scenarios deployment of Project Operations, you can only add Project based lines right now, but the support for service based items/products is coming soon. (Note: If you have the Lite deployment of Project Operations with no Finance integration, you can still add product based lines, just like you did in the old D365 PSA app).
You can assign a price list/rate card for the opportunity and you can now build the line items on the Opportunity and specify the details such as Billing method, amount, customer’s budget and so on.
Once the Opportunity details are fine tuned with the customer, you can build a proposal/quote directly from the Opportunity and all the line item details are carried over automatically. The Quote lines represent the discrete components of the work that you will present on the quote to the customers.
The Quote line details is where you identify and estimate the details of each quote line/work component such as, schedule, financials, contracting model and so on. This information on the quote line details helps you do profitability analysis on the quote.
If the Project is funded by more than one entities of the customer, you can add the customers/funding sources on the quote line and designate the amount/percent split of the amount for billing and you can also specify the “Not-to-exceed” limit for each customer. This reminds of the Funding sources, funding limits and funding rules functionality that we all know in the classic Project accounting module of D365 Finance 🙂
If the quote line is a Time & Material line, you can specify additional details such as “Chargeable Roles”, “Chargeable Categories”.
You can also create the project to create the ground up estimates from the project tasks/plan and import those into the quote lines. After you have built the quote details, you can review profitability analysis info.
You can also how your quote compares to the customer’s expectations.
When you have won the quote, you can associate the Project ID to the quote/opportunity line and close the Quote as Won. As soon as a Quote is closed as Won, a Project contract is automatically created in Draft status and new project is associated with this contract.
Project and Resource management experience:
Project managers can create detailed project WBS/plan using the capabilities of Project for the web(P4W) capabilities built right into project operations. I am not going to focus on discussing details of the individual functionalities around project management and resource management aspects in this post. We will save that for another post.
Time & Expense management experience:
Your resources can use the intuitive time entry UI to keep track of their daily time and submit periodically/weekly. You can also keep track of employee expenses with the robust expense management module of Project operations, with features such as expense policies, workflows and credit card integration. The expense management experience comes from the proven D365 Finance app and offers advanced expense management capabilities. They can also use the T&E mobile apps.
Managers can review timesheets and expenses in the Approvals work bench and process them in timely manner.
Project transaction corrections and Invoicing
Project finance/billing team can stay on top of their tasks with intuitive interfaces for transactions corrections/adjustments to make sure any adjustments to transactions are processed prior to billing.
The dedicated work benches for Time & Material, Fixed price milestone and advance & retainers billing backlogs are handy providing all the billing backlog information at one place . You can review details such as invoice status, Not to exceed limits and statuses of each transaction to make sure the customer invoices are accurate.
Creating invoices for project contracts is simple. It can be created manually for each contract or an automated batch job can be setup to run on automatic recurrence.
As soon as you confirm the Draft/Proforma invoice, a project invoice proposal is created, which is then ready to be posted. With the industry leading sales tax engine of D365 Finance solution, you don’t have to worry about complexities of sales tax calculations.
Project Operations also provides functionality for advances and retainers billing to customers. This is a new feature that was released in version 184.108.40.206. This feature reminds me the good old customer advance functionality we have in the legacy project management and accounting module in D365 Finance.
Additional you can also setup an automatic retainer schedule to bill customers automatically based on a pre-defined schedule and invoice frequency. You can reconcile actuals against billed retainers and advances.
Revenue recognition, sales tax and financials management:
With the ” Fully integrated Resource/non-stocked scenario/deployment mode, you have full coverage of Revenue recognition, sales tax management and comprehensive industry leading project accounting and financials management. This part of the solution is built on the powerful Project management and accounting solution we all are familiar with in D365 F&O. The module is tailored and modified to work with the overall project operations solution. I am working on a separate blog post to explain the details of how the PMA module of D365 Finance is tailored to work with the Project operations solution. I will explain the key changes and how it works in that post.
That was a happy path blog post on Dynamics 365 Project Operations. This was my second post on the official D365 Project Operations solution on my blog and the idea was to showcase what the solution can do for project based organizations. I am pretty excited about how the different industry leading applications from Microsoft for the project based organizations (Dynamics 365 PSA, Dynamics 365 Finance, Project for the Web) came together powered by Microsoft Dataverse(CDS), providing a seamless application for project based organizations of all sizes
That’s it for this post! We will discuss specific topics on Project operations in future posts very soon.
Business Intelligence and Reporting has evolved in Dynamics 365 Finance and Operations since it’s launch. Entity store is the default relational database for dynamics 365 for finance and operations containing several aggregate measures and customers rely on it for near real time dashboarding on data from the Production database of D365 F&O. Entity store DB is included in the D365 F&O subscription and Microsoft ships quite a few embedded Power BI content packs that does direct query into the entity store to produce stunning dashboards and reports across various modules.
It is also possible to make the entity store available in Azure Data Lake (Gen2). This gives flexibility for customers to have the aggregate measures of entity store directly in their Azure data lake and allows them to do reporting and dashboarding by mashing up data from external sources also.
Another popular option used by many customers is BYOD. Customers can export out of the standard data entities and custom data entities and export them in a predefined schedule to their own Azure SQL DB and then use Power BI or other tools to create reports and dashboards and mash-up the data with external systems data as well if needed. While BYOD offers a good solution for reporting and dashboarding by mashing up data from systems other than just D365, F&O, it comes with it’s own limitations and often requires you to manage and maintain the recurring data exports. The Azure SQL storage is also comes at a cost, depending on what volume of data you want to export and store.
With the version 10.0.12 launch, Microsoft is now making it possible to replicate you D365 F&O production data into Azure Data Lake (Gen2) storage. This new feature and framework allows you chose the data tables and entities you want to export and will keep the F&O data up to date in Azure Data Lake in almost real time.
After you setup your Azure data lake storage account, application ID and authorization for D365 F&O to access the storage account you will first need to install the add-in within Lifecycle services(LCS). Then you can enable the new feature within the feature management area of D365 F&O and perform the remainder of the setup.
Why you should plan the transition to Azure Data Lake: In my view, customers who are invested in BYOD or the analytical workspaces of D365 F&O entity store today should look at taking advantage of Azure Data Lake and should plan the transition for the following reasons.
BYOD requires continuous monitoring and troubleshooting. ADL maintains the data automatically and is always up to date with no intervention needed.
You don’t need to create data entities to expose data in any table that you want. You can literally expose all data tables and fields with ADL integration.
Azure SQL data storage is comparatively expensive than ADL.
ADL cloud storage is more efficient, better for analytics and provides additional capabilities such as AI, and additional programming to transform large volume of data.
Data lakes in Azure are designed for big data and analytics and are capable of handeling big amount of data with less cost. It takes advantage of Azure blob storage behind the scenes.
Data lakes not only allows you to do analytics on the data using Power BI, but also it allows you do additional things like apply machine learning, AI on the data to learn and take meaning and action out of your big data.
Hope everyone out there is keeping safe and healthy. We are living in unprecedented times and navigating this phase of the our lives certainly has been teaching us new thing every day!
I finally took some time out from the schedule to review some of the new features under Project Accounting module in the most recent releases of Dynamics 365 Finance. These features range from version 10.0.9 through 10.0.12. Let’s get to the point and review the features.
Show Vendor ID and vendor name on the Posted projects list page:
So this one is probably one of the most common asks I have heard from customers in all projects. Seeing the vendor name and account number certainly makes the life of the project accountants and billing analysts easier. We have been addressing this using a customization till now. These 2 additional data fields will make it easy for users to slice and dice project expenses by vendor and produce invoice supporting documents for customers when billing those expenses.
When you enable this feature and post a vendor invoice to the project, you will see the Vendor ID and name on the posted transactions list page.
You can also Personalize to the the Vendor ID and name fields to the Expense transactions inquiry page.
Adjust accounting on a posted project transaction:
This one is very interesting. Before this functionality, the only option to adjust accounting was to process a transaction adjustment. But that also required you to change data on the subledger transaction.
With this new feature, accountign team will find it easier to adjust accoutning posting for posted transactions.
It will basically reserve the original posting and recreate new ones.
For example, I have an expense transaction posted on one of my T&M projects. Let us say it posted to the wrong main account 500130 and wrong Business Unit dimension “004. I want it to post to 500120 and business unit 003.
Select the Posted project transaction and click Adjust accounting under Process tab.
System will open up a dialog that will allow you to see the current accounting entry and will also let you select the new account and dimensions.
You can also preview the new voucher to make sure everything is correct.
When you post this adjustment, it will reverse the original voucher and create the new one. Pretty cool and damn good flexibility!!
Note: I believe there might be a known issue here with the voucher, but when it is fixed, this feature is going to be extremely useful.
Enable default accounting setup for project:
This is again one of the most common asks from customers. We have actually customized the Projects and contract screen on many instances to view the financial dimensions and other associated data such as Project manager, Sales manager, Sales tax group and so on. With this new feature, you will see a new button named “Show default accounting” on the Projects and Project contracts list page.
You can not only see the data, but you can edit then directly on the list pages under the fact boxes. Really neat!
Enable project invoice proposal creation specific to selected project:
This one is small yet useful feature. Prior to this feature, when you have a Project setup heirarchy where there is a parent project and a bunch of sub projects underneath, then when you create the invoice for a sub project, system will always default to the parent project and try to create the invoice at the parent level.
With this new feature enabled, you can create the invoices at each sub project levels directly.
Enable sorting by resource during project invoice proposal creation:
When Billing analysts or finance managers create invoices for projects (Especially for Time and Material Projects), it is often desired to be able to sort the invoice line items by Resource, so that they can easily create the invoice. This is small usability enhancement, but has significant positive impact on the end users.
Below screenshot shows the Resource column on the Create invoice proposal screen without this new feature.
Below screenshot shows the Resource column on the Create invoice proposal screen with the new feature.
Project contract committed amount detail:
This has been released for a few months now, but I see a lot of value in this little feature. Under the Funding limit area of a project contract, there is no details available for any amount that is shown under the Committed or Spent amount columns. Being able to see the details under these will surely save significant amount of time for end users. I wish Microsoft will add the same functionality to see “Spent details” under the funding limits soon. (Candidate for an Idea in Ideas portal!!!)
There are a few more new country/region specific features available. You might want to check those out if applicable to you.
Here is a quick tip for you all if you ever see additional transaction entries on the Customer or Vendor transaction page with Transaction type = Settlement offsetting each other, when you settle and post a customer payment for an invoice. These additional entries looks something like below.
Let us understand why the system creates these additional transactions.
I have seen in some cases, customers tend to set “Fixed value” for one or more of their financial dimensions, for the Trade AR or AP ledger accounts. They do this to zero-fill a dimension that is not required or in some cases they set it to a fixed value intentionally, for example if Legal entity is a financial dimension, they tend to set this to have a fixed value. Screenshot below shows an example.
With this configuration, when you post the customer invoice transaction, the Legal entity financial dimension uses the Fixed value “USSI” on the AR line of the invoice voucher. See screenshot below.
When you go to settle and post the customer payment for this invoice, here is what the system will do. Since you are doing the cash application(Payment recording) and invoice settlement at the same time, the payment’s accounting entry is not created until the Settlement process is complete behind the scenes. Since the settlement happens first, it basically reconstructs the accounting entry of the payment. It finds the AR main account from the customer posting profile and dimensions are derived from the customer transaction (Payment journal). Since Legal entity is setup as Fixed value dimension and there is no source of this dimension when recording the payment, the system basically determines to create adjusting entries (Debit and credit the same account), since the invoice was posted with fixed legal entity dimension, but the reconstructed payment entry did not have any dimension due to fixed dimension setup(This part is a little technical :)) The settlement process creates this additional entry with the fixed dimension and does not roll back the accounting. This is a standard D365 F behavior.
So, how do you setup the system so that it does not create those 2 additional settlement type entries? There 3 options.
You can setup the dimension which is setup for Fixed value on the Customer record. In many cases this may not be well suited.
You can setup the financial dimension on the payment journal configuration itself. This is the option I prefer.
As a 3rd option, you can chose to enter the financial dimension manually on the payment journal line. Not very ideal option!
With the option 2 setup above, if I post a customer payment with settlement of an invoice now, system will NOT create those additional entries on the customer transaction. See screenshot below.
That’s it about this quick tip. Till next time!!!!
If you are in the Dynamics space, you probably know the investments Microsoft has been making in Common Data Service (Aka CDS) platform. All business applications under the Dynamics 365 umbrella are connected to a CDS environment by default and they make data available directly CDS in real time, except Dynamics 365 for Finance and Operations (Also known as F&O). There was never an option to connect an F&O environment directly to a CDS environment until the release of Platform update 32. (Version 10.0.8).
The CDS platform earlier did provide options to configure connections sets and run data integration projects to connect a F&O environment to a CDS environment. This was actually available in early 2017. Refer to my earlier blog post where I explained how CDS, Data integration projects, connection sets etc. worked back then.
Even though the CDS platform allowed to connect an F&O environment to CDS using connection sets, data projects etc. earlier, the configurations were rather confusing(somewhat complex), time consuming and always felt like a disjoint admin process. Dual Write is the evolution of the CDS integration features such as Connection sets, Data integration projects and this is now natively built into the F&O app. The underlying complexity still exists, but Microsoft has now moved all the heavy lifting to happen behind the scenes and provided a intuitive , clean user interface, that is built within F&O app.
In simple terms, Dual Write is a mechanism to sync D365 F&O Data with CDS and vise-versa, which allows customers using other popular D365 apps such as D365 for Customer engagement(Sales/CRM) to connect and share data between with D365 F&O seamlessly, right out of the box. For example, Without Dual write, your customer accounts data in D365 CE/Sales are not readily available in D365 F&O for you to create and fulfil, orders or to do invoice. Dual write solves this problem and makes required data available across the D365 apps using the power of CDS, so that you can use the respective D365 apps to do what they do best and do not worry about the underlying data to be in sync. With Dual write the D365 F&O data is is very tightly coupled and is in near real time sync with CDS always, for the entities you enable for syncing. This also provides bi-directional data sync.
Starting the Platform Update 33 (Version 10.0.9) of D365 F&O, the Dual write feature is now a built-in embedded experience within the data management workspace of F&O. This means your administrators or integration folks do not have to login to a CDS environment to configure a dozen things to sync data 🙂
Microsoft ships several out of the box entity maps between F&O and CDS that you can use right of out of the gate. You can also tweak the out of the mapping to suite your needs. It does not stop there!! If you have custom data fields or custom entities built for your implementation, you can use those as well.
You should see a new Tile named “Dual Write” under Data Management workspace if you have deployed 10.0.9 deployed.
Make sure you have the CDS environment deployed and ready under Power Platform admin center. For my testing purposes, I have also deployed sample data in my CDS environment, so that I can validate the data sync between F&O and CDS.
Before you can link a F&O environment to CDS, you need to make sure the following configurations are in place.
Make sure you have version 10.0.9 installed in the F&O environment.
Install Dual Write Core solution from App Source in your CDS environment and enable the dual write entity map solution.
Grant required accesses so that CDS and F&O can connect to each other.
Now you have to link the F&O environment to a CDS environment and enable entities for dual-write. From the Data management workspace of F&O, go to Dual-write and click “New link to environment“.
You should see the list of CDS environments available in there. Select the one you want to use and click Next.
Select the legal entities you want to connect to CDS and click Next.
If all your required configurations and installs are correct, the health check of CDS connection should succeed and you should be able to proceed with viewing and enabling entity maps and turn them ON for sync with CDS.
I just wanted to share my initial thoughts and excitement, now that Dual write is generally available. Customers who are already using D365 F&O and D365 Customer engagement apps should look at leveraging this to sync data between the applications at all stages of the Prospect to Cash scenario.
I am in the process of fully testing and validating this and I can’t wait to share my test results and additional details on the feature here soon.