MB-500 study guide
MB-500: Dynamics 365 Finance and Operations Apps Developer practice questions
X++ development, extensions, AOT elements, reporting, data integration, security and performance for finance and operations apps. Mapped to the skills measured as of January 30, 2026.
Skills measured
7 skill areas and 98 objectives, as of January 30, 2026. Weights show the share of the exam each area makes up.
Plan the architecture and solution design (5-10%)
- 1.3 Manage environments by using Lifecycle Services tools and components
- 1.6 Manage package deployments between environments
- 1.7 Manage Unified Developer Experience (UDE) developer environments in Power Platform admin center
- 1.4 Research and resolve issues by using Issue Search
- 1.5 Perform activities that require asset libraries
- 1.1 Differentiate between the cloud and on-premises versions of finance and operations apps
- 1.2 Extend the functionality of finance and operations apps into the Microsoft ecosystem
- 1.8 Manage environments by using the Implementation portal
Apply developer tools (5-10%)
- 2.1 Create and manage extension models
- 2.6 Create, check out, review, and check in code
- 2.10 Choose a version control system
- 2.11 Implement continuous integration and continuous delivery (CI/CD)
- 2.3 Synchronize data dictionary changes with the application database
- 2.8 Branch and merge code
- 2.9 Compare code and resolve version conflicts
- 2.4 Create elements by using element designers
- 2.2 Manage metadata by using Application Explorer
- 2.5 Perform debugging activities
- 2.7 Maintain project artifacts
Design and develop AOT elements (15-20%)
- 3.4 Create and extend tables
- 3.1 Create and extend forms
- 3.5 Create and extend views, queries, and maps
- 4.9 Implement Chain of Command (CoC)
- 4.10 Assess the extensibility of code and avoid breaking changes
- 3.3 Create and use label files
- 3.2 Create and extend menus and menu items
- 3.6 Create and extend data entities
- 7.15 Create and modify indexes for tables and views
- 2.3 Synchronize data dictionary changes with the application database
- 3.7 Create and extend classes
- 3.8 Add event handler methods to a class
- 3.9 Add attributes or modifiers to a class
Develop and test code (20-25%)
- 4.9 Implement Chain of Command (CoC)
- 4.11 Implement event handler classes and delegates
- 4.2 Create, read, update, and delete (CRUD) data
- 7.8 Assess when to use set-based queries or row-based queries
- 4.12 Implement the SysOperation framework
- 4.15 Create unit tests by using the SysTest framework and Task recorder
- 4.7 Implement query objects and the QueryBuilder class
- 4.13 Implement the workflow framework
- 4.16 Run unit tests in Test Explorer
- 4.4 Resolve best practice warnings
- 4.10 Assess the extensibility of code and avoid breaking changes
- 3.7 Create and extend classes
- 7.9 Modify queries to optimize performance
- 4.8 Implement attribute classes
- 4.1 Implement common structured programming constructs of X++
- 4.3 Implement global functions in X++
- 4.5 Implement variable scoping
- 4.6 Implement inheritance and abstraction concept
- 4.14 Implement the SysExtensionSerializer framework
Implement reporting (10-15%)
- 5.1 Create and modify report data sources and supporting classes
- 7.7 Create and modify temporary tables for optimization purposes
- 3.2 Create and extend menus and menu items
- 5.8 Create and modify finance and operations apps reports by using Electronic reporting
- 5.3 Differentiate among reporting datastores
- 5.2 Implement reporting security requirements
- 5.9 Design and implement key performance indicators (KPIs)
- 5.5 Create, modify, and deploy reports in finance and operations apps by using SSRS
- 5.4 Determine when to use a specific reporting tool or platform
- 5.6 Create and modify finance and operations apps reports by using Power BI
- 5.7 Create and modify finance and operations apps reports by using Microsoft Excel
- 5.10 Create drill-through workspace elements
- 5.11 Implement Power BI visualizations
Integrate and manage data solutions (15-20%)
- 6.8 Import and export data using entities between finance and operations apps and other systems
- 6.2 Select an appropriate data integration API
- 6.6 Implement custom services
- 6.18 Implement business events
- 6.14 Integrate Microsoft Dataverse with finance and operations apps by using dual-write
- 6.15 Integrate Microsoft Dataverse with finance and operations apps by using virtual entities
- 6.12 Set up a data project, including entity sequencing and recurring data jobs
- 6.4 Consume external web services by using RESTful APIs and Simple Object Access Protocol (SOAP)
- 6.16 Integrate Power Platform with finance and operations apps
- 6.9 Import and export data using composite and aggregate data entities
- 6.11 Enable change tracking for entities
- 6.3 Differentiate between synchronous and asynchronous patterns
- 6.19 Implement Azure Key Vault
- 6.17 Integrate finance and operations apps with Microsoft Excel by using OData
- 6.13 Generate and modify field mapping between source, staging, and target
- 6.1 Contrast data integration patterns
- 6.5 Implement Electronic reporting integrations
- 6.7 Implement Batch OData API
- 6.10 Monitor the status and availability of entities
Implement security and optimize performance (10-15%)
- 7.1 Create and extend duties and roles
- 7.4 Implement Extensible Data Security (XDS) policies
- 7.3 Enforce security policies
- 7.5 Apply caching mechanisms for tables and forms
- 7.12 Capture traces, and analyze traces by using Trace Parser
- 7.9 Modify queries to optimize performance
- 7.6 Implement global cache and singleton
- 7.11 Analyze and optimize concurrency
- 7.15 Create and modify indexes for tables and views
- 7.2 Create privileges and add permissions
- 7.7 Create and modify temporary tables for optimization purposes
- 7.8 Assess when to use set-based queries or row-based queries
- 7.10 Modify variable scope to optimize performance
- 7.13 Optimize performance for data entities, data source queries, batch processes, and reports
- 7.14 Implement Async and Sandbox frameworks
Sample questions
Sample question 1 · Plan the architecture and solution design
A production environment has become slow. Which LCS capability shows SQL query statistics and environment health history?
- A. Asset library
- B. Environment monitoring
- C. Business process modeler
- D. Issue search
Show answer and explanation
Answer: B
Environment monitoring in LCS reports health metrics, running activity and SQL insights over time. The asset library stores packages, the business process modeler documents processes, and issue search finds known issues.
Learn more: Monitoring and diagnostics tools in Lifecycle Services
Sample question 2 · Apply developer tools
In Finance and Operations, what is the unit that gets compiled and deployed, and can contain one or more models?
- A. Project
- B. Solution
- C. Package
- D. Layer
Show answer and explanation
Answer: C
A package is the deployment and compilation unit and can hold several models. A project (Visual Studio) is only a container for working on elements.
Learn more: Models and packages
Sample question 3 · Design and develop AOT elements
You need a status field with fixed values that partners may extend later. What do you create?
- A. A string EDT with a lookup list
- B. A base enum with IsExtensible set to Yes
- C. A table with a status code and no relations
- D. A container field
Show answer and explanation
Answer: B
Base enums model fixed value sets. With IsExtensible = Yes, other models can add values through enum extensions. A table would work but is heavier and is not what the pattern calls for.
Learn more: Add values to enums through extension · Create models and data model elements overview
Sample question 4 · Develop and test code
What must a Chain of Command wrapper method contain so the original logic still runs?
- A. A call to super()
- B. A call to next followed by the method name and its parameters
- C. A call to the base class by name
- D. An override of the method signature in the AOT
Show answer and explanation
Answer: B
A CoC method calls next methodName(args) to invoke the next wrapper or the original. Without it, the original logic is skipped, which is only allowed for methods marked Replaceable.
Learn more: Method wrapping and Chain of Command
Sample question 5 · Implement reporting
Which base class does a report data provider (RDP) class extend for an SSRS report?
- A. SrsReportDataProviderBase
- B. SysOperationServiceBase
- C. RunBaseReport
- D. SrsReportRunController
Show answer and explanation
Answer: A
RDP classes extend SrsReportDataProviderBase and fill a temporary table that the report uses as a dataset. The controller starts the report.
Learn more: How to: Use a report data provider class in a report (AX 2012) · Build reports for finance and operations apps (Training)
Frequently asked questions
How many MB-500 practice questions are there?
376 original questions covering all 98 objectives in Microsoft's skills outline (skills measured as of January 30, 2026). Each one has an explanation, and most link to the relevant Microsoft Learn page.
Is it free?
The first 10 questions are free, with no account needed. Unlocking the full set costs US$9.99 for 30 days of access.
Are these real exam questions?
No. Every question is written from scratch and mapped to the published skills outline. They are not copied from the real exam, so they help you learn the material rather than memorize answers.
How does practice differ from exam mode?
Practice mode lets you check or view the answer after each question. Exam mode is timed (100 minutes), shuffles questions and answers, and scores you at the end.