Build finance and operations apps

Dynamics 365

Developing in finance and operations apps requires a basic understanding of the tasks required to build new elements and customize finance and operations apps. The tasks include understanding X++ code and Visual Studio, as well as being able to create and modify the basic elements of the system.


  • Familiarity with the Dynamics 365 ecosystem and finance and operations apps.
  • Knowledge of core developer concepts, including technical capabilities, source code, testing frameworks, and reporting tools.
  • Basic object-oriented development knowledge and experience.
  • General knowledge of Enterprise Resource Planning (ERP) systems.
  • Basic knowledge of Integrated development environment (IDE) or Visual Studio.

Modules in this learning path

A virtual hard disk (VHD) is made available for download from Microsoft Dynamics 365 Lifecycle Services, so that you can set it up on a local machine. This system is intended to be accessed by a developer and is a preconfigured one-box development environment of finance and operations apps.

Visual Studio is the integrated development environment (IDE) for finance and operations apps. Developers can create deployable packages that contain projects and elements that are stored as metadata. Developing in Visual Studio allows users to customize the finance and operations apps experience.

X++ is an object-oriented language. This module introduces X++ development for finance and operations apps, which is performed in Visual Studio.

Object-oriented programming (OOP) is a programming paradigm that is modeled around objects and how you manipulate them. This module discusses concepts for object-oriented programming so you can develop customizations in finance and operations apps.

Application Lifecycle Management (ALM) is the management of computer programs, which includes managing requirements, software architecture, software development, software maintenance, change management, continuous integration, project management, and released management. Learn about ALM to plan, create, test, and implement code for finance and operations apps.

Extended data types (EDTs) and base enumerations (enums) are data types that are created and managed in the development environment. Base enums represent a list of literals, while EDTs are reusable data types that have a specific definition. The Application Object Tree (AOT) in finance and operations apps contains many existing EDTs and base enums that can be extended for use in your project, or you can create new data types. This module will focus on creating new data types.

The data model in finance and operations apps consists of tables, views, queries, and other components. These components are important in development. All data in finance and operations apps is stored in tables and managed in the data model in Visual Studio. Tables store data such as company transactions, inventory, and journals.

Forms are created and managed in Visual Studio and will display to the user as web pages. This module explains how forms are created and managed in the finance and operations apps developer environment, along with how to optimize the performance of forms.

Classes are blocks of code that contain data and methods. When developing for finance and operations apps, you will use the X++ language to create new classes.

Organizations have a lot of data. When an organization grows, its ability to provide context for all that data becomes increasingly crucial. Reports can organize data in a meaningful way. finance and operations apps include reporting tools to help you create reports for your organizations, SQL Server Reporting Services (SSRS), Microsoft Power BI, and Microsoft Excel reports. You can use these reporting tools to visualize a data set in many ways, including as a tabular layout with collapsible tables and by using dashboards. Throughout this module, you will build a foundation to design, create, and modify reports.

Workspaces are personalized work centers with data, reports, and transactions and are designed to increase efficiency of daily tasks. Workspaces can be created and modified by developers. There are many reasons to design and create a workspace in the developer environment rather than the user interface. For instance, your business might want key performance indicator (KPI) tiles, analytical components, drillthrough components, or other advanced features that cannot be created or modified in the user interface.

Finance and operations apps use role-based security to assign access to components in the system. A user who is assigned to a security role has access to the set of privileges that is associated with that role.

By optimizing your development for performance, you can ensure that your work is useful and appreciated by users. As a finance and operations apps developer, you should understand how your designs can be properly optimized for performance.