All Microsoft exams

Free MB-500 practice test: 30 questions with answers

30 original questions for Microsoft Dynamics 365: Finance and Operations Apps Developer, drawn from every topic area. Answer each one to see whether you got it right and why. No sign-up.

Free questions
30
Full bank
100 questions

MB-500 exam guide: topics, cost and format

All 30 MB-500 questions with answers

The same questions as the test above, grouped by exam topic. Open any question to see the answer and explanation.

Develop extensions by using X++ (4 questions)

  1. Question 1

    A developer needs to add logic that runs before a standard method in a Finance and Operations class, without modifying the base code. Which extension technique is supported?

    1. AEditing the base class source file directly in the Microsoft standard code
    2. BRunning a raw T-SQL update script on the AXDB database
    3. CCopying the base class into a new name and changing calls
    4. DChain of command (CoC) extension with a wrapper method marked next
    Show answer and explanation
    Correct answer: D

    Chain of command lets an extension wrap a public or protected method and call next to continue the chain. Editing base code, copying classes, and direct database scripts break upgrade safety or bypass supported extensibility.

  2. Question 2

    A developer wants to run code after a table record is inserted in a standard module, without touching the base table code. Which extension mechanism is appropriate?

    1. AA form with a button that inserts the record on click
    2. BAn event handler subscribed to the table's published insert event
    3. CEditing the table's insert method in the base code directly
    4. DA report that runs a validation query after each insert on the table
    Show answer and explanation
    Correct answer: B

    Event handlers subscribe to published events such as post-insert, which runs logic without modifying base code. Editing base methods, reports, and forms do not hook the insert reliably.

  3. Question 3

    A new field must be added to a standard table and shown on a standard form. Which extension objects are typically used?

    1. AA base table edit and a base form edit
    2. BA table extension and a form extension
    3. CA report and a menu item only
    4. DA class with no extension
    Show answer and explanation
    Correct answer: B

    Table extensions add fields and form extensions add controls in a supported way. Editing base objects and creating unrelated reports or classes do not extend the table or form correctly.

  4. Question 4

    Which X++ keyword is used in a chain of command wrapper to call the next method in the chain?

    1. Avoid
    2. Breturn only
    3. Cnext
    4. Dsuper only
    Show answer and explanation
    Correct answer: C

    The next keyword calls the following method in the chain of command. Return, super, and void do not continue a chain of command.

Data management and integration (3 questions)

  1. Question 5

    An external system must import a large set of sales orders into Finance and Operations on a schedule. Which capability is designed for this?

    1. AData management framework with data entities and scheduled import jobs
    2. BManual copy and paste of sales order lines into forms by a user, one record at a time
    3. CA printed report from the external system's sales order screen
    4. DEmailing weekly spreadsheets of sales orders to users, who retype the values into forms
    Show answer and explanation
    Correct answer: A

    The data management framework supports scheduled imports through data entities. Manual copy-paste, emailed spreadsheets, and printed reports are slow and error-prone.

  2. Question 6

    A data import fails for some records because of invalid values. What is the best approach?

    1. AForce-import the invalid values into the target tables by setting the bypass override flag
    2. BReview the staging errors, correct the source data, and re-run the import for the affected records
    3. CIgnore the errors and let the batch job report success once the valid rows are written
    4. DDelete every table of staged and live data for the entity and import again without checking the source records
    Show answer and explanation
    Correct answer: B

    Reviewing staging errors and correcting source data before re-running keeps data accurate. Forcing invalid values, deleting everything, and ignoring errors compromise integrity.

  3. Question 7

    A data entity must support both creating and updating records from an external system, and the system must not create duplicates. Which property helps most?

    1. AShowing the record in a formatted report with grouped totals for each business unit
    2. BA random identifier generated by the database sequence for each import run
    3. CTimestamps such as the created and modified date values recorded on each table row
    4. DA unique business key that the import uses to match existing records
    Show answer and explanation
    Correct answer: D

    A unique business key lets the import match existing records and avoid duplicates. Random identifiers create new records each time, and timestamps or reports do not match records.

Security and data access (3 questions)

  1. Question 8

    A custom form should only be visible to users in a specific role. Which Finance and Operations security element controls access to the form?

    1. AA report layout and the print settings in the report's design file
    2. BA table index defined on the underlying SQL Server database tables
    3. CA label file containing the caption text and help strings shown on the form
    4. DA menu item and the privileges and duties assigned to roles
    Show answer and explanation
    Correct answer: D

    Menu items, privileges, and duties control access to forms in role-based security. Indexes, layouts, and labels do not control access.

  2. Question 9

    A developer must restrict a custom table so that only specific roles can read it, but other users can use the standard forms. Which approach is correct?

    1. ADelete the table's security configuration and its permission records in the framework
    2. BMake the table public to every user session through the runtime
    3. CAssign table-level permissions through privileges and duties for those roles
    4. DGrant unrestricted write access to every authenticated user in the system
    Show answer and explanation
    Correct answer: C

    Table-level permissions through privileges and duties restrict read and write as required. Public tables, universal write access, and removing security are unsafe.

  3. Question 10

    A process should run with elevated permissions only for a specific operation, without giving the user those permissions everywhere. Which approach fits?

    1. AGive every user system administrator rights across the Finance and Operations environment on each deployment and release
    2. BUse a controlled elevation approach such as a privileged method or a service account with limited scope
    3. CDisable security for the process by turning off the role-based access checks in the Finance and Operations runtime layer
    4. DShare the administrator password with the integration team and store it in a shared file
    Show answer and explanation
    Correct answer: B

    Controlled elevation or a limited service account grants permission only where needed. Universal admin, shared passwords, and disabled security are unsafe.

Debugging and testing (3 questions)

  1. Question 11

    A developer needs to find why a X++ method returns an unexpected value. Which tool lets them pause execution and inspect variables at a specific line?

    1. AThe browser's zoom setting for the web client page
    2. BThe label editor for text resources
    3. CA printed copy of the source code listing file
    4. DThe Visual Studio debugger with a breakpoint
    Show answer and explanation
    Correct answer: D

    Breakpoints in the Visual Studio debugger pause execution and expose variable values. Printed code, zoom settings, and the label editor do not inspect runtime state.

  2. Question 12

    A unit test must verify a method's behaviour without depending on live customer data. Which approach is recommended?

    1. ACreate test data within the test and assert the expected outcome
    2. BSkip assertions and rely on a visual check of the form after the code runs
    3. CRun the test against production customer records from the live tenant
    4. DShare one existing test record across several tests
    Show answer and explanation
    Correct answer: A

    Creating test data inside the test keeps results repeatable and isolated. Production data, missing assertions, and shared records make tests unreliable.

  3. Question 13

    A developer reproduces a bug in a test environment but not in development. What is the most likely first step?

    1. ACompare the environments' configuration, data, and deployed versions
    2. BDelete the test environment to clear the stale configuration
    3. CChange the bug report to match the observed test results and reclassify its severity
    4. DAssume the test environment is wrong and set the bug aside
    Show answer and explanation
    Correct answer: A

    Environment differences in configuration, data, or versions often explain inconsistent behaviour. Ignoring the bug, deleting the environment, and altering reports do not diagnose it.

Deployment and lifecycle (3 questions)

  1. Question 14

    A team wants to promote a tested solution from a sandbox to a production environment with a repeatable process. What is the recommended approach?

    1. AUse a deployable package built from source control and deploy it through the environment lifecycle
    2. BCopy the database manually to production by restoring a backup and rerunning scripts by hand in the live tenant
    3. CEdit the production code directly through the X++ development environment connected to the live database
    4. DDeploy directly from each developer's local machine using a copied package file
    Show answer and explanation
    Correct answer: A

    A deployable package built from source control, deployed through the lifecycle, is repeatable and traceable. Manual copies, direct production edits, and laptop deployments are error-prone.

  2. Question 15

    A deployment causes an error in production because a custom table was not created. What is the most likely cause?

    1. AThe users have the wrong browser version installed on their client workstations and stale caches
    2. BThe report font is too small for the printed layout on the client side
    3. CThe table was created in a different legal entity than the one being tested today
    4. DThe schema change was not included in the deployable package or the sync step was skipped
    Show answer and explanation
    Correct answer: D

    Schema changes must be in the package and synchronised during deployment. Legal entity, browser, and font issues do not explain a missing table.

  3. Question 16

    A developer wants to know which version of a custom package is installed in the production environment. Which information should they check?

    1. AThe number of users signed in to the environment today
    2. BThe colour of the environment name banner shown in the header
    3. CThe date the developer last logged in to the portal page
    4. DThe deployed package version or build identifier in the environment
    Show answer and explanation
    Correct answer: D

    The deployed package version or build identifier confirms what is running. Login dates, colours, and user counts do not identify versions.

Performance (3 questions)

  1. Question 17

    A form is slow because it loads a large data source without filtering. Which change most directly improves performance?

    1. AIncrease the form's font size and the padding between controls for readability
    2. BApply a filter or range so that only the needed records are retrieved
    3. CAdd more controls to the form with additional calculated fields and lookups
    4. DLoad the full table and hide unwanted rows with the form
    Show answer and explanation
    Correct answer: B

    Filtering or ranging the data source reduces the records retrieved and displayed. Hiding loaded records, font size, and extra controls do not reduce data loading.

  2. Question 18

    A batch job processes millions of records and takes too long. Which approach is most appropriate?

    1. ARestart the job every hour so that stalled threads release their locks and clear the memory cache
    2. BPartition the work into smaller batches and run them in parallel where the logic allows
    3. CProcess one record at a time with a fixed delay of two seconds between each commit to the database
    4. DRun the job on a single thread at the lowest priority on the batch server during peak business hours
    Show answer and explanation
    Correct answer: B

    Partitioning and parallel batches shorten total run time when the logic is independent. Single-record delays, low-priority single threads, and restarts do not solve the throughput problem.

  3. Question 19

    A developer finds that a query in a loop is executed thousands of times. Which change is the best improvement?

    1. AAdd a sleep statement in the loop so each query waits for the previous result set to finish
    2. BRepeat the query in each iteration for accuracy and freshness of results
    3. CRemove the index on the table so that writes avoid lock contention during the batch run window
    4. DMove the query outside the loop or use a join so that one query returns the needed data
    Show answer and explanation
    Correct answer: D

    Moving the query out of the loop or joining reduces round trips. Sleep statements, repeated queries, and removing indexes make performance worse.

Workflow and business processes (3 questions)

  1. Question 20

    A custom approval step must be added to an existing workflow without changing the base workflow code. Which approach is supported?

    1. AEdit the base workflow class to insert the approval step into its submit method
    2. BExtend the workflow configuration with a custom approval element through a supported extension
    3. CReplace the workflow with an email notification sent to the approver's inbox for manual reply in Outlook
    4. DRemove the workflow entirely and recreate the approval logic in a separate form
    Show answer and explanation
    Correct answer: B

    Supported workflow extension adds approval steps without base edits. Editing base classes, emails, and removing workflows do not provide a supported approval process.

  2. Question 21

    A workflow must send a reminder if an approval is not completed within two days. Which feature is designed for this?

    1. AA printed approval list reviewed at the end of each working shift
    2. BA status colour change on the request header shown in the list view
    3. CWorkflow escalation or reminder settings with a time limit
    4. DA manual check of the pending approvals each morning before team stand-up
    Show answer and explanation
    Correct answer: C

    Escalation or reminder settings with a time limit automate the reminder. Manual checks, printed lists, and colour changes do not send timely reminders.

  3. Question 22

    A process requires two different people to approve a purchase above a set amount. Which mechanism enforces this?

    1. AA shared approval password stored in the finance team's mailbox folder
    2. BA single user who approves every purchase request without a second reviewer
    3. CA workflow with a conditional approval step that requires separate approvers
    4. DAn email reminder with no enforcement sent to the approvers each morning
    Show answer and explanation
    Correct answer: C

    A conditional workflow with separate approver steps enforces the rule. A single approver, shared passwords, and unenforced reminders do not enforce segregation.

Power Platform and Dataverse integration (3 questions)

  1. Question 23

    A Finance and Operations company needs to share selected customer data with a Dataverse-based app in near real time. Which capability supports this?

    1. ADual-write or a supported synchronisation between Finance and Operations and Dataverse
    2. BA manual copy into a spreadsheet each day that is emailed to the app team for manual review
    3. CEmailing the customer list as an attachment to the app's team every week in an unencrypted CSV file
    4. DA nightly printout of the full customer list placed in the mailroom for the app team to collect
    Show answer and explanation
    Correct answer: A

    Dual-write and supported synchronisation provide near real-time sharing. Printouts, daily spreadsheets, and emails are manual and delayed.

  2. Question 24

    A Power Automate flow must create a sales order in Finance and Operations when a form is submitted. Which integration point is appropriate?

    1. AWriting directly into the database tables with a custom SQL connection string from the flow using a bulk insert
    2. BUsing a shared service account password stored in the flow connection settings
    3. CA supported Finance and Operations connector or the data entity endpoint with authenticated access
    4. DScreen scraping the web client pages with a robotic desktop automation recorder that clicks by screen position
    Show answer and explanation
    Correct answer: C

    Supported connectors and data entity endpoints with authenticated access are the proper integration path. Direct table writes, shared passwords, and screen scraping are unsupported or insecure.

  3. Question 25

    Which two considerations apply when integrating Finance and Operations with external systems? (Choose two.)

    1. AAuthenticate integrations with identities that have least-privilege access
    2. BHandle failures and retries so that messages are not lost or duplicated
    3. CSend all data to external systems without filtering
    4. DShare one integration identity across all systems
    5. EDisable logging for the integration
    Show answer and explanation
    Correct answer: A, B

    Least-privilege identities and robust failure handling protect security and data integrity. Unfiltered data, shared identities, and disabled logging increase risk.

Reporting (3 questions)

  1. Question 26

    A custom report must present data grouped by customer with subtotals. Which reporting technique is most appropriate?

    1. APrinting each record on its own page with the full field list repeated on each page for audit trails
    2. BAdding a chart with no data series bound to the report's data provider and a legend, axis title and grid
    3. CA report design with grouping and subtotal calculations in the data provider or report design
    4. DTyping the subtotals into the report template by hand after each export run so figures match last month
    Show answer and explanation
    Correct answer: C

    Grouping and subtotal calculations in the report design produce accurate grouped output. Manual totals, one record per page, and empty charts do not meet the requirement.

  2. Question 27

    A report shows different totals than the financial transactions it summarises. What should the developer check first?

    1. AThe number of pages printed in the batch output queue setting
    2. BThe printer driver version installed on the reporting server machine
    3. CThe query's joins, filters, and date ranges against the source transactions
    4. DThe report's background colour and the font weight used in headers
    Show answer and explanation
    Correct answer: C

    Joins, filters, and date ranges often cause totals to differ. Colour, printer drivers, and page counts do not affect calculated totals.

  3. Question 28

    A report must be available to users in different legal entities, each seeing only their own data. Which approach is most appropriate?

    1. AShow the combined data from every legal entity to each user in one shared report layout template
    2. BPrint the report for each legal entity and send the printed copies to each user by internal post
    3. CCreate one report per user with a hard-coded user name in the report title
    4. DUse a query filtered by the legal entity context so each user sees only their entity's data
    Show answer and explanation
    Correct answer: D

    Filtering by legal entity context enforces data separation. Per-user reports, showing all data, and printed distribution do not meet the separation need.

Financial dimensions and configuration (2 questions)

  1. Question 29

    A custom business rule must apply only when a specific financial dimension value is present on a transaction. Which approach is appropriate?

    1. ACheck the dimension values on the transaction in the validation or posting extension
    2. BStore the dimension value in a comment field on the sales order header and parse it at posting
    3. CAsk users to remember the dimension and select it manually on each entry
    4. DApply the rule to every transaction regardless of dimension and posting period and journal type
    Show answer and explanation
    Correct answer: A

    Checking dimension values in the validation or posting extension applies the rule precisely. Applying to all transactions, comments, and memory-based rules are unreliable or wrong.

  2. Question 30

    A developer must ensure that a custom ledger posting rule uses the correct account for each legal entity. Which approach is most appropriate?

    1. AAsk the accountant to choose the account manually each time at posting
    2. BUse the account number from the first customer record found in the batch
    3. CLook up the account through the entity's configuration rather than hard-coding it
    4. DHard-code one ledger account number in the class so every legal entity posts to the same account
    Show answer and explanation
    Correct answer: C

    Configuration lookups keep account selection correct per entity and maintainable. Hard-coding, customer-based account choices, and manual selection without rules create errors.