Microsoft

MB-820 Free Practice Questions

This is the free Microsoft MB-820 practice question bank — 50 of 96 total questions, each with a full explanation, free to read with no signup required. Updated 2026-04-24.

Every answer is verified against official Microsoft documentation — see our methodology.

Question 1

You have an app with the Application Insights 1 connection string specified in app.json. You create the following custom telemetry event in the app. You publish the app to a customer environment that has a specified Application Insights 2 connection string. The customer does not want the event to be displayed in Application Insights 2. You need to ensure the event is displayed only in Application Insights 1. What should you fix to achieve the goal?

A. Change the TelemetryScope parameter to extensionpublisher.
B. Remove the Application Insights 2 connection string from the customer environment.
C. Change the Verbosity parameter to Normal.
D. Remove the Application Insights 1 connection string from the app.json file of the app.
Show Answer
Correct Answer: A
Explanation:
In AL Application Insights telemetry, events are sent to different Application Insights resources based on the TelemetryScope. Using TelemetryScope = extensionpublisher routes telemetry only to the Application Insights connection string defined in the app (the publisher’s AI 1), and not to the customer/tenant Application Insights (AI 2). Therefore changing the TelemetryScope ensures the event appears only in Application Insights 1. The other options would either break telemetry entirely or do not control routing.

Question 2

HOTSPOT - A company uses Business Central. The company is generating a detailed custom report. A user observes that the generated report dataset contains more Delivery Line records than expected for one specific Delivery Header. You need to generate a report that contains the accurate number of records. For each of the following statements, select Yes if the statement is true. Otherwise, select No. NOTE: Each correct selection is worth one point.

Illustration for MB-820 question 2 Illustration for MB-820 question 2
Show Answer
Correct Answer: Configure the DataItemTableView property of the Delivery Header data item: No Configure the RequestFilterFields property of both data items: No Configure the DataItemLink property of the Delivery Line table: Yes
Explanation:
Extra Delivery Line records occur because the child data item is not linked to its parent. Setting DataItemLink ensures Delivery Line records are filtered by the current Delivery Header. DataItemTableView and RequestFilterFields do not control parent–child record linking.

Question 3

DRAG DROP - A company uses four objects in development in Business Central. The company plans to make changes to the objects. You need to identify the application layer for each object in Visual Studio Code. Which objects are available in each application layer? To answer, move the appropriate application layer to the correct objects. You may use each application layer once, more than once, or not at all. You may need to move the split bar between panes or scroll to view content. NOTE: Each correct selection is worth one point.

Illustration for MB-820 question 3
Show Answer
Correct Answer: Language table → System Activities Cue table → Base Extension Management codeunit → System Business Unit Card page → Base
Explanation:
System application contains platform and extension management objects (e.g., Language table, Extension Management codeunit). Base application contains standard business functionality and UI objects (e.g., Activities Cue table, Business Unit Card page).

Question 4

A company has extended Business Central. You plan to submit the extension to AppSource. You need to ensure that an application meets the technical requirements before submitting it for validation. Which three actions should you perform? Each correct answer presents a complete solution. (Choose three.) NOTE: Each correct selection is worth one point.

A. Ensure the .app file is digitally signed.
B. Use the OnBeforeCompanyOpen event for improved sign in time.
C. Use data classification on all tables and extension fields.
D. Include extension translation files with the submission.
E. Code all date fields in the mm-dd-yyyy format.
Show Answer
Correct Answer: A, C, D
Explanation:
Before submitting a Business Central extension to AppSource, Microsoft requires several technical checks. The .app file must be digitally signed to verify publisher identity and integrity. All tables and extension fields must use data classification to comply with data privacy and governance requirements. Translation (XLIFF) files must be included so the app supports localization. The other options are either best practices or irrelevant to AppSource technical validation.

Question 5

Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. A company plans to optimize its permission sets. The company has the following permission sets: You need to provide the following implementation for a third permission set: • Create a new Permission Set C that is a composite of Permission Set A and Permission Set B. • Assign Permission Set C to a user. You need to ensure that the user has only read access to the Job table. Solution: Set the IncludedPermissionSets property to Permission Set B and the ExcludedPermissionSets property to Permission Set A. Does the solution meet the goal?

A. Yes
B. No
Show Answer
Correct Answer: B
Explanation:
The goal is to create a composite permission set that results in read-only access to the Job table. Excluding Permission Set A while including Permission Set B does not guarantee read-only access unless Permission Set A is the one granting higher (write) permissions and Permission Set B grants only read. In a composite permission set, exclusions remove permissions contributed by included sets; excluding A entirely contradicts the requirement to compose A and B while controlling access. Therefore, the proposed configuration does not reliably meet the stated goal.

Question 6

Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution. After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. A company plans to optimize its permission sets. The company has the following permission sets: You need to provide the following implementation for a third permission set: • Create a new Permission Set C that is a composite of Permission Set A and Permission Set B. • Assign Permission Set C to a user. You need to ensure that the user has only read access to the Job table. Solution: Set the ExcludedPermissionSets property to Permission Set B. Does the solution meet the goal?

A. Yes
B. No
Show Answer
Correct Answer: B
Explanation:
No. Setting only the ExcludedPermissionSets property to Permission Set B does not create a composite permission set. Permission Set C would not include Permission Set A at all, so it would not grant the intended baseline permissions. To form a composite and then restrict access, Permission Set A must be included, and conflicting permissions from Permission Set B must be excluded. Therefore, the proposed solution does not meet the goal.

Question 7

DRAG DROP - You plan to run a debug for a client. You extend the Standard Sales - Invoice report to add a new requirement. You create a Report Extension "Ext Standard Sales - Invoice” with ID = 50100 and add the following lines of code. (Line numbers are included for reference only.) The client informs you that the value of the NewTotalVATBaseLCY column is incorrect. You need to run a debug to identify the cause. Which four actions should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.

Illustration for MB-820 question 7 Illustration for MB-820 question 7
Show Answer
Correct Answer: In Visual Studio Code, locate the Ext Standard Sales - Invoice report extension from your application. On the Ext Standard Sales - Invoice report extension, search where the NewTotalVATBaseLCY variable is being calculated and set a breakpoint on the line. Start debugging. Use the step-into functionality.
Explanation:
First, open the relevant report extension code. Then place a breakpoint on the calculation of NewTotalVATBaseLCY to observe runtime values. Start the debugger to reproduce the issue, and step into the called functions to trace how the incorrect value is produced.

Question 8

HOTSPOT - You have a column in a report. You receive the following warning from CodeCop: “Field ‘Home Page’ is marked for removal. Reason: Field length will be increased to 255.. AL(AL0432)" You have the following code: 1 column(CompanyHomePage; CompanyInformation."Home Page") 2 { 3 } For each of the following statements, select Yes if the statement is true, Otherwise, select No. NOTE: Each correct selection is worth one point.

Illustration for MB-820 question 8
Show Answer
Correct Answer: Create a custom Home Page field for the Company Information table: No Enclose line 1 within #pragma warning disable AL0432 .. #pragma warning restore AL0432: Yes Disable the AL0432 rule in the ruleset: No Remove or comment the column and then put it back after the field length is increased: No
Explanation:
AL0432 warns about upcoming breaking changes in the base app. Best practice is to temporarily suppress the warning locally with #pragma when you knowingly accept the change. Creating custom fields or disabling the rule globally is discouraged, and removing the column is unnecessary.

Question 9

You plan to call a web service by using the data type HttpClient from a Business Central AL extension. You must provide the following implementation for the web service call: • The web service must authenticate the client with a certificate. • The certificate must include a password. • The password must be hidden when you debug the code. You need to include the certificate in the web service call. Which instruction should you use?

A. HttpClient.AddCertificate(Certificate: SecretText, Password: SecretText);
B. HttpClient.AddCertificate(Certificate: Blob, Password: SecretText);
C. HttpClient.AddCertificate(Password: SecretText);
D. HttpClient.AddCertificate(Certificate: Text, Password: Text);
Show Answer
Correct Answer: A
Explanation:
The requirement that the certificate password must be hidden during debugging mandates the use of the SecretText data type. HttpClient.AddCertificate supports passing sensitive values as SecretText so they are masked in the debugger. Option A uses SecretText for both the certificate and the password, satisfying certificate-based authentication and secure handling of the password. Options using Text would expose the password, and the other overloads do not meet all stated requirements.

Question 11

You are creating a test codeunit for a company that uses Business Central. The company requires the following list of choices while posting a sales order: • Ship • Invoice • Ship & Invoice You must create a test codeunit that automatically selects one of these options. You need to create the test codeunit. Which handler should you use?

A. SendNotificationHandler
B. SessionSettingsHandler
C. StrMenuHandler
D. RecallNotificationHandler
Show Answer
Correct Answer: C
Explanation:
In Business Central test codeunits, interactive UI choices such as STRMENU options (e.g., Ship, Invoice, Ship & Invoice during posting) are handled by a StrMenuHandler. This handler allows the test to automatically select a specific option when the STRMENU function is invoked. The other handlers relate to notifications or session settings and do not control menu choice selection.

$19

Get all 96 questions with detailed answers and explanations

  • Instant download HTML + PDF delivered the moment payment clears.
  • Secure Stripe checkout we never see or store your card details.
  • 7-day refund if files are defective see our refund policy.