MS Dynamics Finance and Operations Data in Microsoft Dataverse

dataverse
Category: blog, Stories Post Date: 17.12.2021

Businesses need tools to quickly develop large-scale applications that interact with multiple systems. This is exactly what Dataverse is — a service that provides storage and management of data for custom business applications.

The ultimate value of combining D365FO + Dataverse is the end product’s cost reduction due to cheaper DataVerse licenses and simpler programming conditions. But there is a flip side to this story and that combination may not always be a fitting solution. 

In this article, i-Neti experts analyze whether Dataverse should be considered as a resource management solution for large enterprises.

What Is Microsoft Dataverse? 

Businesses increasingly need unique data stacks and logic for applications. To create integrated interfaces, the Microsoft Dataverse cloud database is used. It replaced the Common Data Service (CDS) in 2020 and made the platform easier to figure out and able to reach a wider audience.

The Dataverse is the data storage and management engine that powers Microsoft Power Platform, Office 365, and Dynamics 365 applications. The service is built on Microsoft Azure for scalability, global compliance, security, and data availability.

ms dataverse

Source

Why use Dataverse? 

Companies need to collect, analyze, forecast, present, and report with a high degree of flexibility. The growing number of sources, often from multiple technologies, with different data types, different APIs, and a mixture of security models, complicates the task.

Dataverse offers the following capabilities:

  1. Easy to manage: the data is stored in the cloud, so there is no need to consider the details of the process.
  2. Easy to secure: role-based security allows you to control access to tables for different users. 
  3. Access your Dynamics 365 Data: allows you to quickly create and extend the capabilities of Power Apps.
  4. Rich metadata: the functionality is designed to work with any type and includes all the main categories of data processing technologies: relational, non-relational, file, images, search, and data lake.
  5. Logic and validation: defining calculated columns, business rules, workflows, and business process flows ensures data quality and smooth business process management.
  6. Productivity tools: tables are available in add-ins for Microsoft Excel, which improves productivity and provides access to data from anywhere and from any device.

As part of the Microsoft Power Platform, Dataverse requires little code. 

Finance and Operations data in Microsoft Dataverse 

Microsoft Dynamics 365 for Finance and Operations, as part of a Unified operational plan that includes Dynamics 365 for Talent, Dynamics 365 Commerce, and Microsoft PowerApps, automates and modernizes global financial transactions. 

Why Dataverse is considered in the context of Microsoft FO?

D365FO supports relational databases, storage solutions, reports, workflows, security aspects, etc. as though you have virtual objects FnO on CDS!

But without virtual entities, Dataverse would lack data on finances and SCM. And it is that input that allows integrating data from external systems, transforming it into entities inside Common Data Service. No duplicates and, often, special coding efforts are involved. When you call a virtual object in the Common Data Service, its state is dynamically extracted from the external system.

All commonly available data objects are initially stored in Dataverse. This means that you may use the Power Platform capabilities for finances management and related operations.

Certain FnO functions are replicated and then expanded in the Dataverse, e.g., when we’re talking about Dynamics 365 Human Resources or Dynamics 365 Project Operations. This spawns an issue – you have to integrate two applications with each other if you are looking to achieve any data exchange rates. And this issue is solved by FnO in Dataverse. 

The solution is worth considering since it supports: 

  • Dual-write via Lifecycle Services;
  • Project monetization;
  • Integration of purchase order and notes;
  • Global address book;
  • Commercial pricing engine on request.

Applications in the Dynamics 365 package (Sales, Customer Service, or Talent) also employ Dataverse for storing and protecting the used data. This allows creating applications via Power Apps and Dataverse based directly on the main business data input, without the strict need for integrations.

Business value

For business, this means a rare ability to purchase an affordable yet worthwhile D365FO, including coverage of all license and customization specifics. Microsoft offers a cost-efficient solution packaged with DataVerse out-of-the-box.

Businesses enjoy the following benefits of Dataverse:

  • Collecting important information in one place;
  • Real-time data exchange;
  • Easy integration with other services;
  • Access to deep analytics;
  • Two-way communication;
  • Full control and continuous data security.

In addition, Dataverse detects viruses hidden in data. 

Seamless data exchange 

The Dual-write framework provides an interface that allows you to integrate business processes between applications to interact with customers in Dynamics 365. Administrators configure data objects to sync with Microsoft Dataverse in near real-time.

Why you should use dual-write 

Double-write binds environments and allows different lines of business applications to work together.

  1. Integration makes Microsoft Dynamics 365 a one-stop-shop for all business solutions.
  2. Data from customers, products, operations, projects, and IoT is automatically transferred to the Dataverse. 
  3. No-code/low-code double-write infrastructure requires minimal effort to extend standard tables and include custom maps.
  4. Both online and offline modes are supported. 

Customization guidance for dual-write 

Dual-write is extensible with custom fields to sync data between FO and Dataverse apps.

When the entity is in both the Finance and Operations app and Dataverse: 

  1. Create a double-write map.
  2. Integration keys for the entity must match in both environments. 
  3. Integration key fields must be mapped to each other on the map. The company field should not be present in the display if the object is specific to a legal entity. 
  4. Add filters to one of the environments to activate the dual-write map based on specific criteria. 

When the entity is in the Finance and Operations app only:

  1. Create a new entity in the Dataverse and then add the map.
  2. If the FO entity contains data related to a legal entity, add a search field to cdm_companies in the new Dataverse entity. If the FO entity is global, the field for the company in the Dataverse entity is not required.
  3. Add keys to the Dataverse entity to mimic the key of the FO entity. Key fields in the FO and Dataverse application must be mapped to each other. Don’t add the company field to the display. 

When the entity is in Dataverse only: 

  1. Create a new entity and include all required fields. Make sure the item is public.
  2. If the data in the FO app is for a legal entity, add a search field to cdm_companies in the Dataverse entity. If the FO entity is global, the field for the company in the Dataverse entity is not required.
  3. Make sure both entities have entity key fields. Key fields in the FO and Dataverse application must be mapped to each other. Don’t add the company field to the display. 

When there is no sense in using DataVerse

If the integration volume is bigger than the difference in the cost of licenses, you are looking at extra costs and risks. On top of that, company data needs are usually global. However, data centers that serve storage are not available everywhere. 

Creating Microsoft Power Apps Using the Dataverse 

You can create applications based on a canvas with data, but first you need to configure the Dataverse environment: 

  1. Sign in to your account. 
  2. Go to the menu, find Environments and select New. 
  3. Specify the information: language, currency, access to Dynamics 365 and data samples, and security group.
  4. Save changes. 

After that you can start:

Working with Entities

You need to identify entities based on the type of metadata. What is used for this purpose:

  • com – a simple platform to provide Dataverse management;
  • Dataverse DSE, or Default Solution Explorer – third-party integrated platforms managed separately (may incur additional maintenance costs);
  • Browser for Custom Solution – specially designed to provide all of the Dataverse management functionality. To avoid potential technical problems, it is best to use pre-built software.

Adding & Customizing fields

To do this, you can use basic Power Apps or Solution Explorer, where you can make advanced changes:

  1. Create a (customer) search box.
  2. Determine the status.
  3. Edit the fields.
  4. Include auditing, security.
  5. Apply a global filter.
  6. Allow access to the control panel.
  7. Include business recommendations.
  8. Set properties.

Importing Excel data to Dataverse

Follow these steps:

  1. Prepare .xlsx or .csv files.
  2. Go to the Power Apps portal and open the Data section.
  3. In the Entities tab, select Get Data from Excel.
  4. Specify the type and upload the files following the prompts.
  5. Once Display Status is green, select Import.
  6. Errors may need to be corrected. Save your changes.

Adding a relationship between Entities

The algorithm of actions is as follows:

  1. Add a search box and click Relationships. In the drop-down list, select the type: one-to-one, one-to-many or many-to-many.
  2. Click Add Relationship.
  3. Select the appropriate objects from the drop-down list. If you can’t see your entity, correct all mistakes.
  4. Select primary and secondary relationships and make sure there are no red alerts.
  5. Click Save.

Step 2

Defining business rules in Dataverse

To create business rules:

  1. Go to Data in the Power Apps portal and select Entities.
  2. Click on Business Rules and select New.
  3. Add descriptions and customize options including scope.
  4. Add conditions. Some components may be required. Set the rules and select “Everyone”.
  5. Write a business recommendation using the Properties section.
  6. Choose a check for meeting your requirements. 
  7. Correct the highlighted errors.
  8. Save the rule.

Customizing a Power Apps view

Perform the following actions:

  1. In the Power Apps portal go to Data and select Entities. Find the Views panel and click Add View.
  2. Select Create View. Fill in the information fields and select Create.
  3. Go to the Design Panel and select Add Column.
  4. Set up filters, order of data display, order of columns.
  5. Select Publish.

Step 3

Customizing the main form

To quickly create a basic form, you need:

  1. Log in to the Power Apps portal and select Forms in the Entities pane; under the Data section.
  2. Select Add Form and specify Quick Create.
  3. In the field browser, you can drag and drop fields and arrange positions. Save and publish when done.

Best Scenarios of Using PowerApps and Flow with Dynamics 365 for Finance and Operations 

PowerApps and Flow extend standard Dynamics 365 FO functionality and efficiently deliver last-mile solutions:

  • Asset loan application;
  • Health and safety incidents;
  • Briefings, analytics.

And now let’s talk about creating joint scenarios using the example of the first case.

Suppose a company keeps track of what equipment is leased to employees using the Leased Equipment feature in the Human Resources module. An employee can open PowerApp and scan a barcode on the equipment to apply for a new loan. This will close the existing one and create a new loan record. In addition, the HR administrator is informed about the loan by email.

To support such a scenario, data must be transferred from PowerApp via Flow to D365FO:

  1. PowerApp invokes a flow and sends parameter data to it.
  2. Data is stored in a SharePoint list (optional step).
  3. The flow updates any existing loan record in D365FO.
  4. When a new item is created in a SharePoint list, an email is sent to the HR administrator with the loan and a link to the item in the SharePoint list, and then a new record is created in D365FO.

Working with flows

flow

To invoke a flow from PowerApp, you must first configure the flow. A trigger is always required for a flow. In this case, find and add PowerApps. Determine what data (parameters) to pass from PowerApps for flow control. 

PowerappsSource

You will need Barcode, Purpose, UserId, FromDate, and ToDate as data to create a SharePoint item. Linking a parameter in PowerApp to a field in the Sharepoint list uses a Dynamics content provider called Ask in PowerApps. This binds the PowerApp parameter to the SharePoint list field when invoking the flow.

To invoke a flow from PowerApps, you need to use the OnSelect method for the control (in our case “Icon5”). In the action bar, use the Flows button to associate the control with a flow. This will bring up a dialog that will allow you to choose between the flows available in your organization. In this case, a flow named “PowerApp-> Createitem” is selected. This immediately sends the following code to the OnSelect method of the Icon5 control:

‘PowerApp-> Createitem’.Run (

PowerApps is now associated with a flow, and it remains to fill in the parameters that are requested in the flow. This results in the following code:

‘PowerApp-> Createitem’.Run (Label3.Text; TextInput2.Text; Gallery1_1.Selected.’Partid’; DatePcker1.SelectedDate; DatePicker1_2.SelectedDate)

When you click on the Icon5 control in PowerApp, the flow will be invoked with the data defined in the parameter string.

Updating a record in D365FO

This uses a flow connector called Dynamics 365 for Finance and Operations. To select an open loan, use the Get Records function.

An empty date in the D365FO record is defined as “1900-01-01T12: 00: 00Z”. You can use the Dynamics Context in the request. Depending on your locale, the operator separator can be “,” or “;” and the system may expect single or double quotes. For each record, you can use Apply to update the return date in the LoanedEquipments data object.

Conclusion

Doesn’t sound that easy? You don’t have to do this yourself. The i-Neti team has the necessary expertise and extensive experience in the implementation and modification of existing ERPs.

Contact us, and we will quickly connect to the project, adjust to your requirements and features, finalize, upgrade and expand the functionality of your system to the maximum!