Customizing Dynamics 365 Finance: Tools and use cases for citizen developers

This page describes the engineering tools available to citizen developers to customize Dynamics 365 Finance, and the appropriate use cases for each.

A note about X++

For most D365 Finance customizations, X++ is the preferred pro dev tool. Brief contextual notes on X++ are provided in the sections below. However, other tools might be a better choice if the solution will be maintained by someone other than a professional developer.

Customizing categories and tools

EngTools

Customizing business logic

Business logic can be customized using X++ system-wide.

Enhancing X++ business logic

There are currently no low-code tools for customizing general business logic within D365 Finance.

Citizen developers can use Power Automate or Logic Apps to create workflows for finance and operations Business events overview.

Create workflows with Workflow Editor

The Workflow Editor is a low-code tool that allows citizen developers to create workflows for controlled documents, such as high-value invoices and purchase orders.

When needed, certain workflow design elements can be modified with X++. To learn more about the workflow editor, you can review the official product documentation Create workflows overview. Note: In D365 Finance, "workflows" are a special type of business logic focused on controlled business documents.

Customize the data model

The data model can be customized within D365 Finance using personalization or X++ enhancement, and externally using data events.

Personalize the data model

Citizen developers can add custom fields to certain system tables through the personalization interface.

Note: Custom fields are powerful but have administrative and performance implications. Caution is advised.

Enhancing X++ data models

X++ provides the broadest set of customization tools for the D365 Finance data model.

View data events

Data events expose Finance data and CRUD events externally through virtual entities in the Dataverse. Citizen developers can manipulate Finance data in response to data events using Power Platform's low-code tools.

Customize the front-end Interface

D365 Finance uses forms for its user interface. Forms can be customized using personalization, X++ development, and embedded Power Apps. The personalization and Power Apps experiences are designed for citizen developers. X++ development is designed for professional developers.

Use the custom personalization tools

Personalization tools in D365 Finance are the primary customization tools available to citizen developers.

Personalizations are stored as business data and are managed differently than code. To learn more about personalization, review the official product documentation Personalization toolbar.

Form Customization

You can modify virtually all elements of a form's appearance and behavior using X++. You can review the UI development home page for a primer on UI development concepts in D365 Finance.

Embedded Power Apps

Dynamics 365 Finance provides first-party support for citizen developers to embed context-aware Power Apps Embed canvas apps from Power Apps directly into the user interface. Currently, embedded Power Apps can only receive a single field value from the form for context, so more advanced tools are required for more complex development scenarios.

Customizing Integrations

D365 Finance Integrations Integration between finance and operations apps and third-party services can be customized using configuration, X++ development, or Power Platform development.

Using available integration configuration tools

D365 Finance configuration tools offer a high degree of flexibility in customizing integrations to fit an organization's particular needs. Tools include:

Citizen developers can customize system integrations using these tools:

Extend X++ with integration development tools

D365 Finance has a broad set of integration tools Integration between finance and operations apps and third-party services, most of which can be extended or enhanced using X++ code.

Using Power Platform integration development

Get started with Power Automate, which is a low-code integration tool with first-party support for most D365 applications including D365 Finance, and hundreds of other endpoints. You can use the first party D365 Finance connectors in Power Automate to move integration data between D365 Finance and other systems.

Reporting

There are four primary report development frameworks within D365 Finance:

See the Microsoft documentation for [Create reporting solutions]](/dynamics365/fin-ops-core/dev-itpro/analytics/create-nextgen-reporting-solutions) to learn more.

Use SSRS to create reports

Citizen developers can use SSRS Using the freeform report designer for some general tasks.

That said, D365 Finance-to-SSRS integration depends on X++ code, such as AOT queries and special X++ classes.

Modifying data entities

The structure and exposed fields of data entities cannot be directly modified without X++ development.

Citizen developers do have flexibility to manage data entities using administrative user interfaces. Available tools include:

Use financial reporting

Financial reporting: View and design financial reports is a visual report authoring tool designed for finance teams to customize their own business-critical reports. There is no pro-dev tool for building or maintaining financial reporting reports.

Create electronic reporting

Electronic reporting is a report authoring tool that uses an Excel-like formula language to create and maintain regulatory electronic reporting and payments. There is no pro-dev tool for building or maintaining Electronic Reporting reports.