Saturday, November 9, 2024

Configuring Dynamics 365 Finance and Operations Business Events












CONFIGURING DYNAMICS 365 FINANCE AND OPERATIONS BUSINESS EVENTS

CONTENT

Introduction
Business event catalog (D365FO)
Endpoint types
End-to-end automation solution (Power Automate)
Conclusion

INTRODUCTION

In the first article of this series, we explored the fundamentals of business events in Dynamics 365 Finance and Operations (D365FO), including event types, the business event catalog, and how to leverage Power Automate endpoints. Now, we will dive deeper into a practical scenario where we configure a business event using the Finance and Operations connector in Power Automate to automate workflows.

This article will guide you through creating a new flow in Power Automate, subscribing to a business event via the D365FO connector, and setting up an automated email notification. By harnessing the power of business events and the FinOps connector, you can streamline communication and automate notifications for key business processes, eliminating manual follow-ups and enhancing operational efficiency.

We will cover:

  • How to create a new flow in Power Automate
  • How to subscribe to a business event via the FinOps connector
  • How to set up an automated email trigger when a business event is raised

Let’s get started on configuring business events to automate actions and bring real-time notifications into your business processes.

BUSINESS EVENT CATALOG

This is a catalog that contains important business activities like new vendor application request approval, purchase requisition status change, vendor invoice posting, vendor payment posting, etc. 

Complete catalog content can be seen under System administration >> Setup >> Business events >> Business events catalog.

This page shows the list of actions that can be subject to external system notifications.


Posted/approved document triggers a business event that notifies external system(s).


One of the fundamental components of business events in Dynamics 365 Finance and Operations (D365FO) is the endpoint. An endpoint serves as a connection point that enables D365FO to interact with external systems, services, or applications when a business event is triggered. It represents the external destination or communication channel where event data is sent.

ENDPOINT TYPES

Endpoints define the target location for event notifications, facilitating integration and automated responses in connected systems. Setting up endpoints is a crucial first step in the configuration process.

System administration >> Setup >> Business events >> Business events catalog

Switch to endpoints tab, click on +New


When you add a new endpoint in Dynamics 365 Finance and Operations (D365FO), it is automatically synchronized with Dataverse. Additionally, endpoints can be created directly in Dataverse using the ServiceEndpoint table. If the service endpoint is set up through a subscription to a D365FO event, it will be available in D365FO and can be accessed from the Endpoints tab on the Business Events page. This synchronization process supports the following endpoint types:

  • Azure Service Bus Queue
  • Azure Service Bus Topic
  • Azure Event Grid
  • Azure Event Hub

Power Automate Endpoints: The Microsoft Power Automate endpoint type isn't made available for setup directly in finance and operations apps. This endpoint type is used for subscriptions that are created and sent directly from a flow in Power Automate.

The endpoint is created on the Endpoints tab of the Business events page in finance and operations apps when you subscribe to a finance and operations apps business event or data event in Power Automate.

In this article, we’ll set up a Power Automate endpoint.

Dataverse Endpoints: The Dataverse endpoint type also isn't available for manual setup in finance and operations apps. The endpoint is created when a plug-in or an SDK step is registered on a finance and operations apps business event or data event in Dataverse. When the step is registered, it becomes visible as an endpoint in the list on the Endpoints tab of the Business events page in finance and operations apps.

END-TO-END AUTOMATION SOLUTION

Scenario: An email is automatically sent when a purchase order is confirmed.

Solution components

  • Business event selection: In our example, we will use purchase order confirmation.
  • Business event schema: In Dynamics 365 Finance and Operations (D365FO), a business event schema is a structured data model that defines the format and content of a business event message.
  • Power automation platform: We will use a power automation endpoint in this scenario.
  • OData Query Language: The development language used for querying data in this context is OData (Open Data Protocol), specifically using OData Query Language. OData Query Language is used to filter and manipulate data from REST APIs, especially in services like Dynamics 365 Finance and Operations and Microsoft Dataverse. In Power Automate and D365FO integration scenarios, the queries often adhere to the OData v4 standard, which is widely used for accessing and interacting with data in RESTful APIs.

Configuration

We will start with downloading business event schema in D365FO.

Go to System administration >> Setup >> Business events >> Business events catalog

Find the purchase order confirmation event and download the schema.


Downloaded file looks like below.


I asked ChatGPT to format it nicely for your information.


Next step is power platform configurations.

Go to make.powerautomate.com

Click on +Create then 'Automated cloud flow'.


Enter a flow name and select the trigger.

Flow name: POconfirmation_BusinessEventDemo

Trigger: Fin & Ops Apps (Dynamics 365)


Click on Create.

Now, system automatically adds business event element.

Select your D365FO environment.

Select category of the business event. You can see that it should be 'Purchase orders' according to business event catalog.

Select the business event. We are selecting 'Purchase order confirmed' here.

Select legal entity.


OK, we are done with this business event element.

Click on + to add a new flow action. 

Find Parse JSON and add it to the flow.


Configure the Parse action.

Click on Content's lightning icon.


then select Body.



Click on schema generation from the sample payload.


Paste business event schema into the screen.



Click on Done. Note that Power Platform automatically creates the schema on the left side of the screen.


This step captures Dynamics 365 Finance and Operations' response and translates it to a readable message in Power Platform.

Next step is about finding the vendor that comes from the message. We will use data entities for that purpose.

Click on + to add a new flow action.


Search for 'Fin & Ops Apps (Dynamics 365) ' and select 'Lists items present in table' for data entities.


Fill in the required fields.


Select the connected D365FO environment.

Select 'Vendors' entity.

Add a filter and use the below query.


As result, this action item should look like below.


Next step is about sending purchase order as email. We will use 'Send email' operation for that purpose.

Click on + to add a new flow action.




Let's do the configuration of email action.



The flow is ready to be tested.


Demo

Let's confirm a purchase order in the company where we indicated in the automation.

Confirming purchase order: Navigate to the purchase order and proceed to confirm it, which will trigger the automation process.


Reviewing Power Automate Flow: Open the Power Automate interface to observe the flow in action. Here, we can view historical runs and monitor the progress of the current execution.


Once the flow is completed, the status will update to 'Succeeded', confirming a successful run. 

Receiving email: As configured, the system sends an automated email upon completion of the purchase order confirmation. The email serves as a notification to the stakeholders.

Reading email: Open the received email to verify its contents. The details should reflect the expected purchase order information, indicating that the automation is working correctly.


CONCLUSION

In summary, this configuration demonstrates how to effectively leverage Dynamics 365 Finance and Operations business events in conjunction with Power Automate to automate standard processes. By integrating these tools, you can enhance the responsiveness of business workflows, reduce manual interventions, and ensure timely notifications for critical actions, such as purchase order confirmations. This solution illustrates a practical approach to optimizing operational processes using existing platform capabilities.

Thursday, October 31, 2024

Dynamics 365 Finance and Operations and Power Apps Integration via Fin & Ops Apps (Dynamics 365) connector








DYNAMICS 365 FINANCE AND OPERATIONS AND POWER APPS INTEGRATION VIA FIN & OPS APPS (DYNAMICS 365) CONNECTOR

CONTENT

Introduction
Connectors
Connections
Fin & Ops Apps (Dynamics 365) connector
Conclusion

INTRODUCTION

Microsoft's large ecosystem of software as a service (SaaS) connectors enables you to connect apps, data, and devices in the cloud. Examples of popular connectors include Salesforce, Office 365, Twitter (X), Dropbox, Google services, and more. Connectors allow the underlying service to talk to Microsoft Power Automate, Microsoft Power Apps, and Azure Logic Apps.

CONNECTORS

There are two types of connectors:

  • Prebuilt: Predefined connectors that can be used without you making modifications. They address automating commonly used business process scenarios.
  • Custom: Function-based connectors that you build to support your tailored scenarios.

Connectors are available for use in multiple products.

Power Automate

  • Power Automate allows you to build workflows and automate processes across your apps and services. You can streamline notifications, sync data between systems, automate approval, and more.

Power Apps

  • Power Apps enables you to build cloud connected and cross platform business apps using clicks and minimal code. You can create rich user experiences across the web, phones, and tablets. You can assemble forms, add business logic, and take advantage of device capabilities with full creative freedom.

Logic Apps

  • Logic Apps is the workflow engine for Power Automate. It enables pro-developers to visually create or programmatically configure workflows in Azure. A connector in Logic Apps enables users to automate EAI, Business to business (B2B), and Business to consumer (B2C) scenarios while reaping the benefits of source control, testing, support, and operations.

There are hundreds of Power Apps connectors available. This article's focus is Fin & Ops Apps (Dynamics 365) connector and Power Apps.

CONNECTIONS

In Power Apps, a connection is a link between your Power App and a data source or service, allowing the app to interact with external data or functionalities. Connections are made through connectors, which are pre-built interfaces that Power Apps provides to connect with a wide range of data sources like Microsoft 365, SQL Server, SharePoint, Dynamics 365, and third-party services like Salesforce or Google services.

Each connection carries specific credentials and permissions that define how the app can interact with the connected service. For instance, if you create a connection to SharePoint, that connection uses your SharePoint account to access and manipulate data according to your account's permissions.

Here's a quick breakdown:

  • Connectors are predefined ways to connect to external data sources (e.g., SharePoint connector, SQL connector).
  • Connections are the instances of these connectors with specific configurations and credentials (e.g., your account login to access a particular SharePoint site).

In summary, a connection enables your app to perform actions like reading, writing, or updating data within the service or data source it connects to, according to the permissions granted. 

FIN & OPS APPS (DYNAMICS 365) CONNECTOR

Fin & Ops Apps (Dynamics 365) connector 

  • provides access to data entities,
  • is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.
  • is a Premium connector for Power Automate and Power Apps or an Enterprise connector for Azure Logic Apps.
A premium connector for Power Apps is a connector that requires additional licensing and offers advanced capabilities:
  • Benefits: Premium connectors allow users to access more services and applications, which can lead to greater integration between systems and more complex workflow automation.
  • Licensing: Premium connectors require additional licensing for both the app and its users. For example, if an automated flow uses a premium connector, only the flow owner needs a Premium license. However, if an instant flow uses a premium connector, every user who runs the flow needs a Power Automate Premium license.
Fin & Ops Apps (Dynamics 365) connector 
is eligible for all regions and includes parameters for creating connections for different actions.  These actions can be Create, Delete, Execute, Get a record, Get list of entities, Lists items present in table and Update a record.
  • Create record: Create a new record in an entity.
  • Delete record: Deletes a single record in an entity.
  • Execute action: Execute action.
  • Get a record: Retrieves a single record.
  • Get list of entities: Retrieves a list of entities.
  • Lists items present in table: Lists items present in table.
  • Update a record: Updates a single record in an entity. 


These parameters that is for Get action are as below:

  • Instance: App's connected Dynamics 365 for Fin & Ops instance.
  • Entity name: App's entities.
  • Object: App's objects to be retrieved.

CONCLUSION

Fin & Ops Apps (Dynamics 365) connector for Power Apps is a powerful tool that enhances the integration between Dynamics 365 Finance and Operations and custom applications. By using this connector, organizations can efficiently access and interact with Finance and Operations data, empowering users to create, update, and retrieve records directly within Power Apps. This integration allows businesses to extend Dynamics 365 capabilities, automate routine tasks, and develop custom applications tailored to specific needs—all while keeping data synchronized and workflows seamless. Leveraging the Fin & Ops connector in Power Apps enables a more agile and connected approach to managing business processes across the organization.

Wednesday, October 23, 2024

Recurring Contract Billing in Dynamics 365 Finance



RECURRING CONTRACT BILLING IN DYNAMICS 365 FINANCE

CONTENT

Introduction
Subscription billing
Recurring contract billing
Invoicing
Conclusion

INTRODUCTION

Revenue recognition plays a vital role in SOX (Sarbanes-Oxley Act) compliance because it ensures that a company’s financial statements accurately represent its financial health and performance. SOX was enacted to protect investors from corporate fraud by enforcing stringent financial reporting requirements. One of the critical areas that companies must manage correctly under SOX is how they recognize revenue—the process of determining when and how much income should be recorded in their accounts.

If a company inaccurately reports revenue, it can create a misleading picture of its profitability and financial stability. This could result in stakeholders, such as investors, regulators, and auditors, making decisions based on incorrect information. Proper revenue recognition ensures that financial statements reflect the true timing and amount of revenue generated from business activities, providing a transparent view of a company’s financial performance. This transparency is essential for maintaining trust in the financial markets and meeting the requirements set by SOX for public companies.

SUBSCRIPTION BILLING

Subscription billing enables organizations to manage subscription revenue opportunities and recurring billing through billing schedules. Complex pricing and billing models and revenue allocation are easily managed, and are billed and recognized at the line level. Multi-element revenue allocation enables allocation of revenue to comply with International Accounting Standards (International Financial Reporting Standard 15 [IFRS 15]) and Generally Accepted Accounting Principles (US GAAP) standards (Accounting Standards Codification Topic 606 [ASC 606]).

The solution has three modules that can be used independently. Alternatively, all three modules can be used together.

  • Recurring contract billing – This module enables recurring billing and price management to provide control over pricing and billing parameters, contract renewal, and consolidated invoicing. This is what we will be focusing on in this article.
  • Revenue and expense deferrals – This module eliminates manual processes and dependency on external systems by managing revenue and enabling real-time insight into monthly recurring revenue.
  • Multiple element revenue allocation – This module helps with revenue compliance by handling pricing and revenue allocation across multiple items.

Subscription billing is enabled through Feature management. However, it can't be used with the Revenue recognition feature. You must disable that feature before you enable subscription billing.

Disable Revenue recognition - Enable Subscription Billing

To use the subscription billing functionality, you'll need to ensure that the Revenue recognition feature is disabled. You won't be able to enable subscription billing if revenue recognition is enabled.

To enable subscription billing, follow these steps:

1 - In Dynamics 365 Finance, go to the Feature management workspace.

2 - In the Feature management workspace, select the All tab to display all features that exist.

3 - In the search field, enter Revenue recognition.

4 - Select the Revenue recognition feature and then select Disable in the right pane. It's already disabled in my environment.

5 - In the filter, enter Subscription billing, and select Module as the filter. It's already enabled in my environment.

6 - Enable Subscription billing and at least one of the following: Recurring contract billing, Revenue and expense deferrals, or Multiple element revenue allocation. Each feature is a separate application. To enable Billing schedules with projects, Recurring contract billing must also be enabled. They are already enabled in my environment.

RECURRING CONTRACT BILLING

With recurring contract billing in Microsoft Dynamics 365 Finance, you can have more control of billing parameters at the line-item level. You can use this feature to set up automated contracts, which will supply you with recurring revenue reports. As a result, you’ll be able to forecast more accurately. The flexible pricing models of this feature will be beneficial when you’re invoicing customers. Additionally, if the customer has multiple billing schedules, you can use recurring contract billing to consolidate their invoices. Because organizations use several methods to invoice customers, this feature offers support to your specific business process.

Billing Schedule Group

Finance gives you the opportunity to separate recurring contract billing into groups, which automatically applies the default values of the group. This feature helps make the process of setting up a new billing schedule easier, and you can adjust default values if desired.

Let's create a billing schedule group.

Go to Subscription billing >> Recurring contract billing >> Setup >> Billing schedule group.

The Pricing method field has four different default pricing methods for you to choose from to run your items on the Billing schedule.

  • Standard - Calculate the unit price that is based on the total quantity that you enter.
  • Flat - Flat price.
  • Tier - Calculate the unit price by using your fixed quantity at your different pricing brackets.
  • Flat Tier - Calculate the unit price by using your fixed quantity and extended price amounts for your different pricing brackets.

The Item type field has four different default types of items for you to choose from for your Billing group.

  • Standard - Quantity statistic.
  • Usage - Value for metered or consumption-type items.
  • Milestone - Value for Milestone billing functionality. Make sure that you select the Milestone template as well in the Milestone template field if you want to use this type of item.

Billing Schedule

A billing schedule is a feature that enables the implementation of recurring billing on a set schedule. For instance, you might need to configure a monthly recurring bill where a customer is billed every two weeks over a six-month period.

Go to Subscription billing >> Recurring contract billing >> Billing schedules >> All billing schedules

Click on +New

Select customer account, billing schedule, billing start date, number of periods. Note that billing end date is populated automatically by the system. Select OK.


Don't forget to enter a description.

Go to lines and create a new line.


Above line indicates that a $10.99 will be invoiced monthly from 10/1/24 to 9/30/25. Item ID 75 will be used for the invoicing.

You can continue adding line as needed.

INVOICING

There are 2 ways of invoicing.

Go to Subscription billing >> Recurring contract billing >> Billing schedules >> All billing schedules


Invoice Simulation

Follow the below steps to simulate invoices

Go to Subscription billing >> Recurring contract billing >> Billing schedules >> All billing schedules

Find the billing schedule that you want to work on.

On the Billing Schedule action Pane, select Invoice > Preview invoice.

Select the end date (as of date) of the billing period and click on Next.


System will show you the invoices that will be created as of the given date.

Click on Generate button in order to generate invoice preview if the results are as expected.

Invoice Generation

Follow the below steps to generate invoices

Go to Subscription billing >> Recurring contract billing >> Billing schedules >> All billing schedules

Find the billing schedule that you want to work on.

On the Billing Schedule action Pane, select Invoice > Generate invoice


Enter the dates accordingly. 


Review the generated results.


Click on Generate all if the results are as expected.


Note that system generates an order with multiple lines.


Created sales order is in Invoiced status as below.


System generates 1 invoice for the all selected periods.


Invoice details can be seen in the invoice journal.



CONCLUSION
In conclusion, recurring contract billing in Dynamics 365 Finance streamlines the management of subscription revenue, offering flexible pricing models, automated billing schedules, and consolidated invoicing. By leveraging this feature, organizations can achieve more accurate revenue forecasting and ensure compliance with financial reporting standards such as IFRS 15 and ASC 606. The ability to automate billing processes and manage recurring contracts helps businesses maintain consistent cash flow and reduce manual tasks, ultimately supporting greater financial transparency and efficiency.

Configuring Dynamics 365 Finance and Operations Business Events

CONFIGURING DYNAMICS 365 FINANCE AND OPERATIONS BUSINESS EVENTS CONTENT Introduction Business event catalog (D365FO) Endpoint types End-to-e...