Skip to content

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

D365 F&SCM Citizen Developer Tools
D365 F&SCM Citizen Developer Tools
Business Logic
Business Logic
Workflow Editor
Workflow Editor
Business Events (consumption)
Business Events...
Data Model
Data Model
Personalization
Personalization
Data Events
Data Events
Front-End Interface
Front-End Interface
Personalization
Personalization
Embedded Power Apps
Embedded Power A...
Reporting
Reporting
Financial Reports
Financial Repor...
Data Entities (consumption)
Data Entities (...
Electronic Reporting
Electronic Repo...
Integrations
Integrations
Configuration Interfaces
Configuration In...
Power Automate Connectors
Power Automate C...
Viewer does not support full SVG 1.1

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:

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:

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.