Engineering tools 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 on X++¶
For most D365 Finance customizations, X++ is the preferred pro dev tool. Brief contextual notes on X++ are provided in the sections below. Other tools might be a better choice, however, if the solution will be maintained by someone other than a professional developer.
Customization Categories and Tools¶
Business Logic¶
X++ Business Logic Enhancement¶
Business logic can be customized using X++ system-wide. There are currently no low-code tools for customizing general business logic within D365 Finance.
Citizen developers can use Power Automate or Logic Apps can create workflows for finance and operations business events.
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. Note: In D365 Finance, "workflows" are a special type business logic focused on controlled business documents.
Data Model¶
The data model can be customized within D365 Finance using personalization or X++ enhancement, and externally using data events.
Data Model Personalization¶
Citizen developers can add custom fields to certain system tables through the personalization interface.
Note: Custom fields are powerful but have administrative and perform implications. Caution is advised.
X++ Data Model Enhancement¶
X++ provides the broadest set of customization tools for the D365 Finance data model.
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.
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.
Personalization¶
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.
X++ Development¶
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 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.
Integrations¶
D365 Finance Integrations can be customized using configuration, X++ development, or Power Platform development.
Integration Configuration¶
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 through these tools:
- Field mapping editor
- Field auto-generation
- Business event catalog
- Various other configuration tools, many of which can be reviewed here.
X++ Integration Development¶
D365 Finance has a broad set of integration tools, most of which can be extended or enhanced using X++ code.
Power Platform Integration Development¶
Power Automate 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 can be used to move integration data between D365 Finance and other systems.
Reporting¶
There are four primary report development frameworks within D365 Finance:
- SSRS (SQL Server Reporting Services)
- Data Entities
- Financial Reports (also called Management Reporter)
- Electronic Reporting (also called General Electronic Reporting)
See the Microsoft documentation
SSRS¶
Citizen developers can use SSRS for some general tasks.
That said, D365 Finance-to-SSRS integration depends on X++ code, such as AOT queries and special X++ classes.
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:
Financial Reporting¶
Financial Reporting is a visual report authoring tool designed for finance teams to customize their own business-critical reports. There is not a pro-dev tool for building or maintaining Financial Reporting reports.
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 not a pro-dev tool for building or maintaining Electronic Reporting reports.