Microsoft Dynamics 365: Finance and Operations Developer Associate (MB-500)

Use this MB-500 practice test to prepare for the Microsoft Dynamics 365: Finance and Operations Developer Associate exam. Original questions are grounded in verified Microsoft Learn content, with explanations and source links for focused revision.

Q001 - Question

A company creates a new Azure DevOps organization and a new project for X++ development in finance and operations apps. The development lead plans to use Team Foundation Version Control (TFVC). What should the development lead do before the team starts development?

Domain: Apply developer tools (5–10%) Type: Single choice

B is correct.

Explanation: Azure DevOps disables the creation of TFVC repositories in new projects and organizations by default. You must confirm which version control system your project uses before you start development.

A is incorrect: Git is supported for X++ development, but TFVC is also supported and is the default option for finance and operations apps.

C is incorrect: Azure Repos is the recommended and supported version control technology for finance and operations apps.

D is incorrect: TFVC is the default option for finance and operations apps, but new Azure DevOps projects and organizations disable TFVC repository creation by default. You cannot assume that a TFVC repository is available.

Learn more in Microsoft Learn

Q002 - Question

A custom table named ManagerFinancialData stores sensitive financial data. The AOS must authorize every operation on the table, including read operations, before it allows access. In Visual Studio, which value should you set for the AOS Authorization property of the table?

Domain: Implement reporting (10–15%) Type: Single choice

B is correct.

Explanation: The evidence supports B because setting the AOS Authorization property to CreateReadUpdateDelete ensures that the AOS must authorize create, read, update, and delete operations on the table. Before it allows Read access, the AOS verifies that the user's role has permission to read the data.

A is incorrect: CreateUpdateDelete does not include Read. The AOS would not authorize read operations, so the requirement for reads is not met.

C is incorrect: Read covers only read operations. Create, update, and delete operations would not require AOS authorization.

D is incorrect: None is the default value and does not require AOS authorization for any operation on the table.

Learn more in Microsoft Learn

Q003 - Question

A developer moves from a Cloud Hosted Environment to a Unified Developer Experience (UDE) developer environment provisioned in the Power Platform admin center. The developer builds X++ code locally in Visual Studio. Then the developer expects to test the changes immediately in the environment. What must the developer do before the customizations can be used?

Domain: Plan the architecture and solution design (5–10%) Type: Single choice

C is correct.

Explanation: UDE developer environments function more like Tier-2+ environments and run on Azure SQL. You must deploy and synchronize customizations before you can use them. Build the X++ code locally, deploy and synchronize the package to the cloud, and then run and debug the code in the same environment.

A is incorrect: Cloud-hosted environments are the traditional one-box development model. Provisioning one doesn't make your changes available in the UDE environment.

B is incorrect: A database refresh copies data. It doesn't deploy or synchronize your X++ customizations.

D is incorrect: The Get-DeploymentSettings.ps1 script applies to setting up on-premises environments through Lifecycle Services. It doesn't apply to UDE environments managed in the Power Platform admin center.

Learn more in Microsoft Learn

Q004 - Question

A developer uses Get Latest Version before checking in changes to an X++ class. Visual Studio cannot automatically resolve a conflict in one file, and the Resolve Conflicts window opens. The developer wants to keep some local edits and also keep some changes that another developer checked in to the same file. Which option should the developer use?

Domain: Apply developer tools (5–10%) Type: Single choice

A is correct.

Explanation: Merge using Merge Tool shows both versions of the file side by side. You can keep or discard each change in either version, one at a time. Use it when you need changes from both versions.

B is incorrect: Take Source uses the file from source control and erases all your local changes.

C is incorrect: Keep Local keeps your local file, and you lose any changes that are present in source control.

D is incorrect: You cannot check in a changeset until there are no unresolved merge conflicts.

Learn more in Microsoft Learn

Q005 - Question

You are designing the branching strategy for a finance and operations apps implementation that has few customizations. The team must be able to work on multiple code projects at once and move code to production in a controlled flow. Which two actions should you take? Each correct answer presents part of the solution.

Domain: Plan the architecture and solution design (5–10%) Type: Multi-select

B and D are correct.

Explanation: The evidence states that you should keep your branching structure as simple as possible and expand the strategy only as needed. It also recommends starting with at least a three-branch strategy: one for development, one for testing, and one for releasing code to the production instance.

A is incorrect: Creating a complex structure for every developer and environment contradicts the principle of keeping the structure as simple as possible. The evidence also notes that branching strategies can change throughout the implementation.

C is incorrect: The evidence specifies that code must be deployed into a Tier 2 Standard and Acceptance Test environment and selected as a release candidate before it can be promoted to the production environment.

Learn more in Microsoft Learn

Q006 - Question

A warehouse team wants Copilot in finance and operations apps to check inventory levels, create a draft transfer order, and display it in the standard transfer order form for user review. The scenario is used only in finance and operations apps. Which extensibility approach should the developer use?

Domain: Plan the architecture and solution design (5–10%) Type: Single choice

C is correct.

Explanation: Use a client plugin when the scenario requires form interaction, X++ business logic, or data modifications that require the standard UI. Define the action as a subclass of SysCopilotChatAction and use data contracts for inputs and outputs. Client plugin development requires the unified developer experience on version 10.0.40 or later.

A is incorrect: AI tools are low-code, platform-agnostic components for simple data queries and cross-platform scenarios. They have limited awareness of finance and operations form context or UI state.

B is incorrect: Power Automate automates business processes across services, but it is not one of the two Copilot extensibility approaches and does not provide Copilot form interaction in the finance and operations client.

D is incorrect: A Power BI report provides interactive visuals in a workspace. It cannot create a draft transfer order or respond to Copilot prompts.

Learn more in Microsoft Learn

Q007 - Question

A company has an existing environment that still uses the Performance SDK. A developer completed a single-user test and now plans to run a multi-user load test for a sales order process. Which two prerequisites must the developer verify before running the multi-user test? Each correct answer presents part of the solution.

Domain: Implement security and optimize performance (10–15%) Type: Multi-select

A and C are correct.

Explanation: Multi-user testing requires Visual Studio Enterprise Edition in the development environment. It also requires a tier-2 or higher sandbox environment that uses the same application and platform update as the development environment.

B is incorrect: You must install the same certificates that you created for the development environment on all Application Object Servers (AOS) in the tier-2 or higher sandbox.

D is incorrect: Multi-user testing requires a tier-2 or higher sandbox, and the application and platform update must match the development environment.

Learn more in Microsoft Learn

Q008 - Question

Several developers work on the same finance and operations apps project. A developer has finished a customization in Visual Studio and is ready to check in code through Team Explorer. Which two actions should the developer perform before checking in? Each correct answer presents part of the solution.

Domain: Plan the architecture and solution design (5–10%) Type: Multiple choice

A and C are correct.

Explanation: When several developers work on one project, perform a Get Latest process to merge new code from other developers. Then perform a local build to verify that your code does not disturb what is in the Azure DevOps repository. After both steps, check in your code by using Team Explorer.

B is incorrect: Scheduling production downtime happens after a deployable package is built and applied to at least one sandbox environment in the same project. It is not a step before check-in.

D is incorrect: A build pipeline in Azure DevOps creates the deployable package from checked-in code, and developers generally do not deploy their own code. A package must be applied to at least one sandbox environment before you can schedule a production update.

Learn more in Microsoft Learn

Q009 - Question

You plan to deploy a tier 1 cloud-hosted development environment in Lifecycle Services. The solution design requires Microsoft Power Platform integration for this environment. How should you plan the configuration?

Domain: Plan the architecture and solution design (5–10%) Type: Single choice

A is correct.

Explanation: For tier 1 environments, you must complete the Power Platform Integration configuration in the Advanced settings during deployment. You can't change it after the environment is created.

B is incorrect: Tier 1 environments don't allow this configuration to be changed after creation. If you wait until after deployment, you can't add it.

C is incorrect: The Azure connector links Lifecycle Services to an Azure subscription and region for creating cloud-hosted environments. It doesn't configure Power Platform integration.

D is incorrect: The Azure DevOps settings let Lifecycle Services create a build pipeline for a build and test environment. They don't configure Power Platform integration.

Learn more in Microsoft Learn

Q010 - Question

You are creating a new Finance Operations project in Visual Studio for a customization. You know the model that the customization belongs to. You do not yet know which other models you will extend elements from. What should you do in the New project wizard?

Domain: Apply developer tools (5–10%) Type: Single choice

C is correct.

Explanation: Select the correct model when you create the project. The model is difficult to change after you add files to the project. You can edit the model dependencies list later as you add elements.

A is incorrect: You can edit the model dependencies list later, so you do not need to select every model now.

B is incorrect: The model is difficult to change after you start adding files, so set it correctly at the start.

D is incorrect: Clean removes previous build outputs. It does not select or change the model for a project.

Learn more in Microsoft Learn

Q011 - Question

You are building a query object in X++ for a report. The TrainingMaster table has a TrainingType field and a TrainerID field that has a foreign key relationship to the TrainerTable table. TrainerTable has a TrainerType field. The report must return only TrainingMaster records for online trainings that technical trainers deliver. How should you build the query?

Domain: Implement reporting (10–15%) Type: Single choice

D is correct.

Explanation: Use QueryBuildDataSource to add TrainerTable as a child of TrainingMaster, enable relations, and set the join mode to ExistsJoin. Then use QueryBuildRange objects to filter TrainingType on TrainingMaster and TrainerType on TrainerTable. This filters TrainingMaster records based on the related table.

A is incorrect: TrainerType is a field on TrainerTable, not on TrainingMaster. You must add TrainerTable as a related data source to filter on it.

B is incorrect: Separate root data sources don't establish the relationship between the tables, and a sort field orders records but doesn't filter them.

C is incorrect: addSortField only defines sort order. Filtering requires QueryBuildRange.

Learn more in Microsoft Learn

Q012 - Question

An organization has regulatory and compliance requirements. It is evaluating Finance + Operations (on-premises) instead of a cloud deployment. Which two responsibilities does the organization assume if it chooses on-premises? Each correct answer presents part of the solution.

Domain: Apply developer tools (5–10%) Type: Multi-select

B and D are correct.

Explanation: Microsoft manages cloud deployments. With on-premises deployments, the customer assumes greater responsibility and extra costs. These costs include establishing and maintaining infrastructure and configuring high-availability disaster recovery solutions.

A is incorrect: For on-premises deployments, the customer sets up the sandbox environments. Microsoft doesn't set them up.

C is incorrect: The fully managed service by Microsoft applies to cloud deployments. It doesn't apply to locally hosted on-premises deployments.

Learn more in Microsoft Learn

Q013 - Question

A company has locations in several countries or regions that use different languages. You are designing one SSRS transaction report for all locations. The current draft places all fields directly on the report, and users say the layout is cluttered. Which two actions should you take? Each correct answer presents part of the solution.

Domain: Implement reporting (10–15%) Type: Multiple choice

A and C are correct.

Explanation: Use labels for all text on an SSRS report so that the text is automatically translated when the report runs for a country or region with a different language. This lets you maintain one report for all locations. Use groupings to organize data into a meaningful layout, such as a header and footer grouping and a table layout with columns and rows for transaction data.

B is incorrect: Labels remove the need to create and maintain an individual report for each language.

D is incorrect: Showing all data without groupings leads to a cluttered display. Groupings also let you share expressions for a data set.

Learn more in Microsoft Learn

Q014 - Question

A predefined query has a data source with the Dynamic Fields property set to Yes. You add a new field to the data source table by using a table extension. The new field must be included in the query field list. You want to keep your changes to a minimum. What should you do?

Domain: Design and develop AOT elements (15–20%) Type: Single choice

D is correct.

Explanation: When Dynamic Fields is set to Yes on a data source, the system adds new fields automatically to the query field list. A query extension isn't needed for new fields. You still need to build before you use the query.

A is incorrect: A query extension can add fields, but it isn't needed when Dynamic Fields is set to Yes. It adds work without a benefit.

B is incorrect: The Clear value for Dynamic Fields results in a build error.

C is incorrect: A query extension can't remove existing data sources, fields, grouping, ordering, or having.

Learn more in Microsoft Learn

Q015 - Question

Your code calculates a lookup result for each combination of customer account, item group, and company. The result is static and is requested often by many users. You want the system to calculate the result once and reuse it across all user sessions on the server. Which caching approach should you use?

Domain: Develop and test code (20–25%) Type: Single choice

C is correct.

Explanation: The evidence states that SysGlobalObjectCache is server-shared caching across all user sessions on a specific server, used to store static values so the system does not need to reread or calculate them for each session.

A is incorrect: SysGlobalCache refers to a single client session cache that is not accessible in other system threads.

B is incorrect: A singleton class creates an instance for the user session, meaning it is not shared across all user sessions on the server.

D is incorrect: A disposable context class is used to transfer parameters without changing a method signature, not to share cached values across sessions.

Learn more in Microsoft Learn

Q016 - Question

You are extending the Reservation management workspace in Visual Studio. You need to add a tile to the Summary section. When a user selects the tile, the tile must open the Fleet Management Setup page. Which configuration should you use for the new tile object?

Domain: Implement reporting (10–15%) Type: Single choice

C is correct.

Explanation: A tile opens a page through its linked menu item. When you set the Menu item type to Display and the Menu item name to FMSetup, the tile opens the Fleet Management Setup page. After you configure the tile, add a Tile button to SummaryTileSection in the form extension and set the Tile property to the new tile.

A is incorrect: Aggregate data entities provide data for KPIs. They do not set the page that a tile opens.

B is incorrect: A .rdl file contains SSRS report data, calculations, and layout. It is not used to link a workspace tile to a page.

D is incorrect: A Power BI report shows visualizations in a workspace. It does not open the Fleet Management Setup page through a Tile button.

Learn more in Microsoft Learn

Q017 - Question

You are a developer creating an aggregate measurement for a KPI that will be embedded in a workspace. Fleet managers must see real-time mileage data. The data must not depend on a periodic refresh. Which configuration should you use?

Domain: Implement reporting (10–15%) Type: Single choice

B is correct.

Explanation: Use InMemoryRealTime when users need real-time data. This option uses Column store indexes of the SQL Server database.

A is incorrect: StagedEntityStore deploys the measure to the Entity store, and the data is refreshed periodically. This setting provides near real-time data, not real-time data.

C is incorrect: The Default aggregate property controls how the measure is calculated, such as sum, count, or average. It does not control whether the data is real-time.

D is incorrect: The Goal Type property defines how the KPI goal is determined. It does not control how the aggregate measurement retrieves data.

Learn more in Microsoft Learn

Q018 - Question

You set up a downloadable VHD as a Hyper-V virtual machine. You must troubleshoot an issue by using a copy of Production data on this VHD. What should you do first?

Domain: Apply developer tools (5–10%) Type: Single choice

D is correct.

Explanation: To use a copy of the Production database on a VHD, first restore the database from Production to a Tier2 or above environment. Then export the database by using Microsoft supported processes.

A is incorrect: You can't restore Production directly to the VHD. The database must first go to a Tier2 or above environment and then be exported by using a supported process.

B is incorrect: Team Explorer connects Visual Studio to Azure DevOps for code that other developers created. It doesn't provide database data.

C is incorrect: Demo data supports general development testing. It doesn't contain the Production data that you need to troubleshoot this issue.

Learn more in Microsoft Learn

Q019 - Question

You create a table extension for a standard table and add two new fields. The business requires that each combination of values in these two fields is unique. You must use an extensible approach. What should you do?

Domain: Design and develop AOT elements (15–20%) Type: Single choice

B is correct.

Explanation: You can't use an extension to create a unique index because that type of development is intrusive. For an extensible uniqueness constraint that spans multiple columns, consider creating a hash of the values of those columns instead.

A is incorrect: You can add indexes to a table extension, but you can't create a unique index by using an extension.

C is incorrect: Development for finance and operations apps is extension-based and doesn't allow customizing base code and elements.

D is incorrect: You can change the Extended Data Type property on an existing field only to an EDT that derives from the current EDT.

Learn more in Microsoft Learn

Q020 - Question

Your company must add new methods and state to a class that is defined in another model. The customization must remain upgradeable, and you must not change the base code. What should you do?

Domain: Develop and test code (20–25%) Type: Single choice

B is correct.

Explanation: The evidence supports B because a class extension adds methods and state to artifacts in other models without recompiling or overlayering those models. You define the extension in a new model that depends on the model of the original artifact. Because the base code isn't changed, your customizations remain upgradeable.

A is incorrect: Overlayering changes the original model. Class extensions are designed to avoid overlayering.

C is incorrect: Extension classes must be marked final, and the runtime system instantiates them. You can't derive from an extension class.

D is incorrect: Changing and recompiling the original model changes the base code. That approach doesn't keep the customization upgradeable.

Learn more in Microsoft Learn

Q021 - Question

In an extension of the FMCustomer form, you add an Action Pane Tab and a Button Group that contains a Menu Item Button. Users must open the page to enter a free text invoice when they select the button. What should you configure?

Domain: Design and develop AOT elements (15–20%) Type: Single choice

A is correct.

Explanation: The Menu Item Name property links the Menu Item Button to a menu item. Select CustFreeInvoiceNew so the button opens the free text invoice page.

B is incorrect: The Caption property sets the displayed text of the Button Group. It doesn't define the page that opens.

C is incorrect: The Name property identifies the Action Pane Tab control. It doesn't link a button to a menu item.

D is incorrect: A data source provides tables and fields for the form. It doesn't create navigation from a button.

Learn more in Microsoft Learn

Q022 - Question

You need to add logic that runs before and after a public method on a standard class. The method is not final and is not marked with any extensibility attributes. You want signature problems to be detected at compile time and the execution order to be explicit. What should you do?

Domain: Develop and test code (20–25%) Type: Single choice

A is correct.

Explanation: The evidence supports A because Chain of Command (CoC) is the default and more robust approach for extending public or protected methods. CoC enforces the method signature at compile time and makes the execution order explicit through the next call.

B is incorrect: Pre-event and post-event handlers are subscribed indirectly through attributes, meaning some issues like underlying method signature changes are only detected at runtime.

C is incorrect: The wrapper method must have the exact same signature as the base method in a CoC extension.

D is incorrect: Wrapper methods in an extension class are required to always call next unconditionally, unless the method is explicitly marked as Replaceable.

Learn more in Microsoft Learn

Q023 - Question

Your team maintains a large extension model for finance and operations apps. Builds take a long time, and dependency management is difficult. You need to improve compile times and keep customizations maintainable. Which two actions should you take? Each correct answer presents part of the solution.

Domain: Develop and test code (20–25%) Type: Multi-select

B and D are correct.

Explanation: The evidence supports B and D because referencing only the models that your extension needs reduces compile times and dependency management overhead. Keeping customizations modular and reusable by breaking large extensions into smaller, independent modules is also a recommended best practice.

A is incorrect: Referencing models that you do not need adds to compile times and dependency management overhead.

C is incorrect: Models that are in the same package as the base objects are associated with overlayering, which causes longer compile cycles and larger package distributions.

Learn more in Microsoft Learn

Q024 - Question

A company processes a high volume of business events in finance and operations apps. An administrator finds that events are grouped into large bundles, so they aren't distributed well across parallel threads. Processing threads is already set to its maximum value. What should the administrator configure on the Business events parameters page?

Domain: Integrate and manage data solutions (15–20%) Type: Single choice

B is correct.

Explanation: By decreasing the number for Bundle size, you produce more bundles and increase the ability to distribute the events to parallel threads.

A is incorrect: The maximum value for Processing threads is 4.

C is incorrect: By increasing the number for Bundle size, you produce fewer bundles and reduce the ability to distribute the events to parallel threads.

D is incorrect: Retry count is the number of times that the system will try again to send business events to an endpoint if an error occurs.

Learn more in Microsoft Learn

Q025 - Question

Your model uses the FAB prefix for all its elements. You need to create an extension class that augments the InventLocation table. The name must be unique across all types in all models and must follow the naming best practices. Which name should you use?

Domain: Develop and test code (20–25%) Type: Single choice

A is correct.

Explanation: The evidence supports A because you should start the extension class name with the name of the type that you augment, and end it with _Extension. You should insert your model prefix as an infix to distinguish the class from other types.

B is incorrect: Don't name an extension class <Element that is being extended>_Extension. The risk of conflicts with other models is too high.

C is incorrect: The extension class name should start with the name of the augmented type. You should use the prefix as an infix, not at the beginning.

D is incorrect: This format applies to extension elements, such as table extensions. An extension class name must end with _Extension.

Learn more in Microsoft Learn

Q026 - Question

You need to use Chain of Command to wrap a public static method on a class. The base method declares a parameter with a default value of 1. The method isn't marked Replaceable. Which two requirements must the wrapper method meet? Each correct answer presents part of the solution.

Domain: Develop and test code (20–25%) Type: Multiple choice

A and C are correct.

Explanation: The evidence supports A and C because when you wrap a static method, the method in the extension class must include the static keyword. Additionally, if the base method has a default parameter value, you must declare the parameter in the wrapper without the default value.

B is incorrect: The wrapper must not repeat the default value. You must declare the parameter without it.

D is incorrect: The call to next must be in the first-level statements of the method body. You can't call next conditionally in an if statement unless the method is marked Replaceable.

Learn more in Microsoft Learn

Q027 - Question

A company uses Dynamics 365 Finance in the cloud. A developer plans a Power Automate flow that uses the Fin & Ops Apps (Dynamics 365) connector to create customer records when accounts are added in Dynamics 365 Sales. Sales staff will run the flow. Which two requirements must be met? Each correct answer presents part of the solution.

Domain: Integrate and manage data solutions (15–20%) Type: Multiple choice

B and D are correct.

Explanation: To use the Fin & Ops Apps (Dynamics 365) connector, the data must be in a data entity that is configured for public API. Verify that the IsPublic property is set to Yes on the data entity in Visual Studio. The connector is a premium connector, so the users who run the flow need a license that includes premium connectors.

A is incorrect: Templates are optional. You can also create a flow from My flows by selecting New.

C is incorrect: You can't use this connector to integrate with Dynamics 365 Finance + Operations (on-premises) environments.

Learn more in Microsoft Learn

Q028 - Question

A data science team needs finance and supply chain data from finance and operations apps for machine learning workloads. The workloads require large datasets, high granularity, historical depth, and lower latency than a scheduled refresh. Which datastore should you recommend?

Domain: Integrate and manage data solutions (15–20%) Type: Single choice

A is correct.

Explanation: Synapse Link continuously exports data into a managed data lake in near-real-time. It supports large datasets and is ideal for data science workloads that require high granularity and historical depth.

B is incorrect: BYOD is refresh-based and not near-real-time. Its ML and AI readiness is limited, and it suits medium workload sizes.

C is incorrect: Aggregate measurements use a fixed aggregation grain that is defined at design time. They aren't suitable for historical trend analysis beyond their intended design.

D is incorrect: Data entities are a semantic and integration layer, not a datastore. They aren't optimized for high-frequency analytics when you query them directly.

Learn more in Microsoft Learn

Q029 - Question

An external reporting application reads the FleetCustomers entity through the public OData service endpoint. The integration user has access to several companies, but the response contains only records from the user's default company. You need the response to include data from all companies that the user has access to. What should you do?

Domain: Integrate and manage data solutions (15–20%) Type: Single choice

D is correct.

Explanation: By default, OData returns only the data that belongs to the user's default company. To return data from all companies that the user has access to, add the ?cross-company=true query option, for example [Your organization's root URL]/data/FleetCustomers?cross-company=true.

A is incorrect: IsPublic controls whether the entity is exposed on the OData endpoint. The entity already returns data, so it is already exposed, and this setting doesn't change the company scope.

B is incorrect: The Metadata/PublicEntities URL returns metadata and actions for entities. It doesn't return entity records from other companies.

C is incorrect: A custom service adds development and maintenance effort for each company. The required behavior is available through a query option on the existing OData endpoint.

Learn more in Microsoft Learn

Q030 - Question

A company has Microsoft Power Platform integration enabled for its finance and operations environment. A finance and operations apps entity is enabled as a virtual table in Dataverse. The company needs a flow that runs each time a record in this entity is created, updated, or deleted. Which approach should you use?

Domain: Integrate and manage data solutions (15–20%) Type: Single choice

C is correct.

Explanation: The When a row is added, modified, or deleted trigger in the Microsoft Dataverse connector runs a flow when a create, update, or delete operation occurs on a finance and operations apps entity that is enabled as a virtual table in Dataverse. This trigger requires Microsoft Power Platform integration to be enabled, which this environment meets.

A is incorrect: An Instant (Button) flow runs only when a user manually selects a button, so it doesn't run for each data change.

B is incorrect: A scheduled flow runs at a specific time, not when each record changes.

D is incorrect: This action starts a Data management framework export project. It is not a trigger for record changes.

Learn more in Microsoft Learn

Q031 - Question

A developer must call methods of an external SOAP web service from X++ code in finance and operations apps. The solution must let X++ code call the web service methods wherever they are required. What should the developer do?

Domain: Integrate and manage data solutions (15–20%) Type: Single choice

C is correct.

Explanation: To consume an external web service, you can create a wrapper class using a .NET programming language like C#. You set up a service reference to the SOAP web service in the class library, include the assembly under References in Application explorer, and call the wrapper class methods directly from X++.

A is incorrect: Writing a custom service under a service group exposes a new service on SOAP and JSON endpoints. It is not used to consume an external web service.

B is incorrect: ExportToPackage is used to initiate the export of a data package from finance and operations apps. It does not consume external web service methods.

D is incorrect: The Microsoft Entra applications page is used to maintain approved client IDs for inbound API calls, not to configure outbound calls to external SOAP web services.

Learn more in Microsoft Learn

Q032 - Question

An external application uses an OData call to insert a sales order into finance and operations apps. The sales order references a product that doesn't exist. How should you design the external application to handle this failure?

Domain: Integrate and manage data solutions (15–20%) Type: Single choice

A is correct.

Explanation: With a synchronous pattern like OData, success or failure responses are returned directly to the caller. The response contains the error message, and the caller is responsible for handling any errors.

B is incorrect: Polling for results is required for asynchronous batch data APIs, whereas synchronous OData calls return the result directly.

C is incorrect: Synchronous OData calls process immediately rather than in a batch, and the system does not push status notifications afterward.

D is incorrect: Resubmitting through a batch data API will only return an immediate response indicating if scheduling succeeded, not the actual validation error.

Learn more in Microsoft Learn

Q033 - Question

An organization runs an on-premises deployment of finance and operations apps. It needs a file-based integration to import data from another system. Which integration API should you use?

Domain: Integrate and manage data solutions (15–20%) Type: Single choice

D is correct.

Explanation: The Data management framework package API is available for both cloud and on-premises deployments and is the only supported API for on-premises deployments.

A is incorrect: Recurring integrations are not supported for on-premises implementations.

B is incorrect: Recurring integrations are not supported for on-premises implementations.

C is incorrect: Recurring integrations are not supported for on-premises implementations.

Learn more in Microsoft Learn

Q034 - Question

A finance analyst needs to build a report in Power BI Desktop that uses data from finance and operations apps. The analyst wants to select specific data and load it directly into the report model. What should the analyst do?

Domain: Integrate and manage data solutions (15–20%) Type: Single choice

A is correct.

Explanation: Power BI accesses public data entities in the finance and operations apps database. In Power BI Desktop, use Get Data, select Other, select OData Feed, enter the connection information, select the data, and then select Load.

B is incorrect: Publish in the Data Connector add-in saves your changes back to finance and operations apps. It doesn't load data into a Power BI Desktop report.

C is incorrect: The Fin & Ops Apps (Dynamics 365) connection in Power Apps connects an app to a data entity. It doesn't connect Power BI Desktop to the data.

D is incorrect: Power Automate connections support flow integrations. They don't provide the OData Feed connection that Power BI Desktop uses to load data entities.

Learn more in Microsoft Learn

Q035 - Question

An on-premises warehouse system produces shipment confirmations. The confirmations must be sent to finance and operations apps every 10 minutes. Peak volume is 150,000 records per hour. Real-time data is not required. Which integration pattern should you use?

Domain: Integrate and manage data solutions (15–20%) Type: Single choice

D is correct.

Explanation: The volume is high, the frequency is periodic, and real-time data is not required. These conditions fit an asynchronous pattern. Use the batch data API for asynchronous integration scenarios. Determine the required entities, and make sure that data management is enabled for them.

A is incorrect: A custom service fits real-time lookups with low volume and unplanned frequency, such as 1,000 records per hour. A real-time call for each of 150,000 records per hour does not match that pattern.

B is incorrect: OData is recommended for synchronous scenarios. In a synchronous pattern, the caller is blocked until the recipient returns a response, which does not fit periodic high-volume loads.

C is incorrect: Consuming external web services lets finance and operations apps call external systems. In this scenario, the external system sends data into finance and operations apps.

Learn more in Microsoft Learn

Q036 - Question

A company is building a third-party mobile app. The app must read and write customer data in finance and operations apps in real time. The customer data is stored across the DirParty, CustTable, LogisticsPostalAddress, and LogisticsElectronicAddress tables. Developers want to keep the app code isolated from changes to the physical tables between versions. What should you recommend?

Domain: Integrate and manage data solutions (15–20%) Type: Single choice

C is correct.

Explanation: A data entity presents the customer tables as one de-normalized view. You can expose a data entity as an OData service for synchronous integration, including third-party mobile app integrations. The entity abstraction also isolates application code from changes to the physical tables between versions.

A is incorrect: Recurring integrations use the data management pipeline for asynchronous integration. They do not meet the real-time read and write requirement.

B is incorrect: A data package is a compressed file with a manifest and data files. Use it for file-based import, export, and ALM scenarios, not for real-time app access.

D is incorrect: Working directly with the normalized tables makes reads and writes tedious. It also exposes the app code to changes in the physical tables between versions.

Learn more in Microsoft Learn

Q037 - Question

A developer extended a data entity by adding new fields. When you open the entity in an import project and select View map, the automatic mapping from the source file does not include the new fields and appears incorrect. You need to correct the mapping with the least manual effort. What should you do?

Domain: Integrate and manage data solutions (15–20%) Type: Single choice

B is correct.

Explanation: When you extend an entity by adding fields, or when the automatic mapping appears incorrect, regenerate the mapping. On the Mapping page, select Generate source mapping, and then confirm that you want to generate the mapping from scratch.

A is incorrect: Auto sequence determines the processing order of the entities in a project. It does not change field mapping.

C is incorrect: Auto-generated makes the system generate values for a field that is not in the source file. In this scenario, the fields need to be mapped from the source.

D is incorrect: Delete selection unmaps fields. It does not add mappings for new fields. Required fields, marked with a red asterisk, must be mapped to work with the entity.

Learn more in Microsoft Learn

Q038 - Question

A team records test cases with Task recorder for a customized sales order process. The team plans to automate the test runs later. Which two practices should the team follow? Each correct answer presents part of the solution.

Domain: Develop and test code (20–25%) Type: Multiple choice

B and D are correct.

Explanation: Start all task recordings on the main dashboard so that automation tools can run your tests. Each test case should also have at least one validation. Validate critical fields, such as order totals, that cover the impact of other fields such as unit price, quantity, discount, and tax.

A is incorrect: Starting in January 2026, you can only create, edit, or use task recordings in sandbox and production environments. Cloud-hosted environments no longer have this capability.

C is incorrect: Avoid printing a report in a test case. If a test case needs a report, select it on screen.

Learn more in Microsoft Learn

Q039 - Question

The Go-live Readiness Review is completed, and the Configure button for the production environment is available in Lifecycle Services. The customer completed UAT and performance testing in sandbox environments in one datacenter. The customer asks you how to configure the production deployment request. What should you recommend?

Domain: Plan the architecture and solution design (5–10%) Type: Single choice

A is correct.

Explanation: Select a service account, such as a generic user account, as the Admin user. The Admin user is the only user who can sign in after initial deployment, and the only user who can sign in to a sandbox after a database refresh from production. Deploy production to the same datacenter where the sandbox environments are deployed and where UAT and performance testing were done.

B is incorrect: If you use a named user account and that user isn't available, you might not be able to access the environment.

C is incorrect: You can't change a production deployment request after you submit it. To correct a mistake, wait until the deployment finishes, and then log a support ticket to delete the environment so that you can redeploy it.

D is incorrect: Production should be deployed to the same datacenter as the sandbox environments where UAT and performance testing were done.

Learn more in Microsoft Learn

Q040 - Question

A reporting system reads finance and operations data from a BYOD database. Users report inconsistent results when reports run while an export is in progress. You must make sure that the reporting system gets consistent data. Which two actions should you take? Each correct answer presents part of the solution.

Domain: Integrate and manage data solutions (15–20%) Type: Multi-select

B and D are correct.

Explanation: The Enable triggers in target database option is disabled by default. When you enable it, export jobs enable SQL triggers in the target database. Use the trigger to determine when the sync from finance and operations apps is complete, and then load the downstream reporting systems.

A is incorrect: The staging tables hold data while the sync is in progress, so they change constantly. Reading directly from them causes inconsistent results.

C is incorrect: Recurring data jobs aren't supported for BYOD. To schedule a BYOD export, use the Export in batch option.

Learn more in Microsoft Learn

Q041 - Question

A company uses finance and operations apps. Sales staff use Power Apps and customer engagement apps. Customer and order data must stay synchronized in both directions between finance and operations apps and Microsoft Dataverse in near real time. Which integration pattern should you recommend?

Domain: Integrate and manage data solutions (15–20%) Type: Single choice

B is correct.

Explanation: Power Platform integration surfaces finance and operations app data in Microsoft Dataverse. Dual-write provides near real-time, bidirectional synchronization between finance and operations apps and Dataverse. Use this pattern when the data must also be available to Power Apps, Power Automate, or customer engagement apps.

A is incorrect: Recurring integrations exchange documents or files with third-party applications. This pattern is asynchronous and does not provide near real-time, bidirectional synchronization with Dataverse.

C is incorrect: The Excel Data Connector add-in interacts with Excel workbooks and OData services in a task pane. It is a user tool and does not synchronize data with Dataverse.

D is incorrect: BYOD exports entity data from finance and operations apps into an Azure SQL database. The export goes in one direction and does not make data available in Dataverse.

Learn more in Microsoft Learn

Q042 - Question

A company runs fifteen legal entities in a single finance and operations apps environment. The company is evaluating cross-company data sharing. Dual-write is not used. Which requirement can you meet by using cross-company data sharing?

Domain: Integrate and manage data solutions (15–20%) Type: Single choice

A is correct.

Explanation: Cross-company data sharing replicates reference, parameter, and group data between companies within an environment. Sharing payment terms and payment day definitions across legal entities is a supported example. Test and validate the policy in a sandbox environment before you apply it to production.

B is incorrect: Cross-company data sharing cannot be used for transactional data. Sharing transactional records for reporting or consolidations is not supported.

C is incorrect: Sharing across deployments is not supported. Data sharing applies between companies within one environment.

D is incorrect: Fields that reference financial dimensions, such as Ledger or Default dimension, cannot be shared across companies.

Learn more in Microsoft Learn

Q043 - Question

A company must send business documents in country-specific formats to government bodies and banks. Regulatory requirements change often. The finance team wants business users to configure and maintain these formats over their lifecycle without X++ development. Which reporting tool should you recommend?

Domain: Implement reporting (10–15%) Type: Single choice

B is correct.

Explanation: The evidence supports B because Electronic reporting configures formats for incoming and outgoing electronic documents to meet the legal requirements of countries or regions. It targets business users. Because you configure formats instead of writing code, you can create and adjust formats faster when regulatory requirements change.

A is incorrect: SSRS is primarily used for business documents and high-volume printing, such as invoices and packing slips. New and modified SSRS reports require X++ development.

C is incorrect: Embedded analytics and native controls aggregate data to workspaces by using charts and grids. They don't manage electronic document formats for exchange with government bodies or banks.

D is incorrect: Financial Report Designer creates and customizes financial statements, such as balance sheets and income statements. It doesn't configure regulatory electronic document formats.

Learn more in Microsoft Learn

Q044 - Question

A warehouse manager needs QR Code images on shipping labels that are generated by an ER format in Dynamics 365 Finance. What should you configure in the ER format?

Domain: Implement reporting (10–15%) Type: Single choice

A is correct.

Explanation: Use a data source of the Barcode type to produce bar code pictures when you configure an ER format. QR Code is one of the supported two-dimensional bar code formats, and you can use the images on shipping labels.

B is incorrect: A default check number interval is used for interval validation of check numbers. It does not generate bar code images.

C is incorrect: Character validation shows a warning when a character appears in a check number. It does not create images on labels.

D is incorrect: A configuration provider identifies the owner of an ER configuration. It does not generate bar code images.

Learn more in Microsoft Learn

Q045 - Question

A controller uses a password to lock a row definition building block that the month-end reporting process uses. Other team members still need to work with financial reports. Which two statements describe the result of locking the building block? Each correct answer presents a complete solution.

Domain: Implement reporting (10–15%) Type: Multiple choice

A and C are correct.

Explanation: The evidence supports A and C because a password lock adds security to one report component without securing the whole system. Other users always have read-only access to a locked component, and they can open, change, and save it under a new name. A user with the administrator role can always access and change a locked building block.

B is incorrect: A user in any role can lock a building block. You don't need the administrator role to apply a password.

D is incorrect: A lock doesn't hide the component. Other users keep read-only access, so they can still open the locked building block.

Learn more in Microsoft Learn

Q046 - Question

A finance manager views a generated financial report. In Report options, the manager adds a dimension filter so that the report shows only BusinessUnit 001. The manager expects colleagues to see the same filtered data when they open the report. What should you tell the manager?

Domain: Implement reporting (10–15%) Type: Single choice

C is correct.

Explanation: The evidence supports C because when you add a dimension filter in Report options, the report displays only the data for the selected dimension value. This filtered report is a personalized view. Other users can't view it.

A is incorrect: The filter applies to the manager's personalized view only. Colleagues don't see the filtered data.

B is incorrect: Report options change how you view the report. They don't modify the row definition building block.

D is incorrect: The filter is applied when you select OK in Report options. You don't need to regenerate the report in Report designer.

Learn more in Microsoft Learn

Q047 - Question

A regulator requires a company to submit a report in JSON format. The requirements change often. The business analysts are familiar with Excel-based formulas, and the company wants to avoid developer customization of Dynamics 365 Finance for each change. What should the company use?

Domain: Implement reporting (10–15%) Type: Single choice

B is correct.

Explanation: ER supports JSON output, is designed for business users who are familiar with Excel-based formulas, and lets you control and modify reports without a developer. Versioning helps you manage the definition lifecycle as requirements change.

A is incorrect: Developer customization is the approach that ER avoids, and it adds effort for each regulatory change.

C is incorrect: A configuration provider identifies the configuration owner. Creating a new provider does not update a format.

D is incorrect: A Barcode data source produces bar code pictures for documents and labels. It does not produce a JSON report.

Learn more in Microsoft Learn

Q048 - Question

You are preparing a Dynamics 365 Finance instance so that advanced business users can design ER configurations. Which two actions should you perform? Each correct answer presents part of the solution.

Domain: Implement reporting (10–15%) Type: Multiple choice

B and D are correct.

Explanation: Set up the required document types in Document management before you configure ER. Then turn on Enable design mode on the General tab to enable the ER design experience in the current Finance instance.

A is incorrect: The default value of 0 uses the standard system timeout. A custom value only changes the duration of queries that the ER engine runs and is not required to enable design.

C is incorrect: Autofit row height only adjusts the height of Excel template rows that contain merged cells with wrapped text at runtime. It does not enable the design experience.

Learn more in Microsoft Learn

Q049 - Question

A company uses Electronic reporting (ER) in Dynamics 365 Finance. The company created a custom payment format that is based on another format. The bank changes its requirements, and the original format is updated. The finance team wants to keep its custom format current with the least manual effort. What should the team expect?

Domain: Implement reporting (10–15%) Type: Single choice

C is correct.

Explanation: When you base a custom format on another format, ER automatically upgrades the custom format when the original format is changed.

A is incorrect: Manual re-creation is not required because ER upgrades a derived custom format automatically.

B is incorrect: ER maintains electronic document formats through configuration, not code, so a developer extension is not needed.

D is incorrect: Dataverse is used to distribute formats to partners and customers. It does not apply changes from the original format to a custom format.

Learn more in Microsoft Learn

Q050 - Question

A user exports application reports as Microsoft Word documents so that the documents can be edited. The user requests several reports at the same time. What should the user expect?

Domain: Implement reporting (10–15%) Type: Single choice

D is correct.

Explanation: The evidence supports D because when you request more than one report at a time, the result is a .ZIP file. You must download and uncompress the .ZIP file before you can use the Word documents.

A is incorrect: Multiple reports aren't downloaded as separate files. They're packaged in one .ZIP file.

B is incorrect: The reports aren't merged. Each report remains a separate Word document inside the .ZIP file.

C is incorrect: Word export is still available for multiple reports. The constraint is that you must uncompress the .ZIP file first.

Learn more in Microsoft Learn

← Read the full MB-500 study guide