Free Microsoft MB-820 practice questions

10 free Microsoft MB-820 practice questions with the correct answer and a full explanation for each, taken from the CertStash pack of 131 questions. Work through them, then open each answer to check your reasoning.

Question 1

A company is deploying Business Central on-premises.

The company plans to use a single-tenant deployment architecture.

You need to describe how the data is stored and how the Business Central Server is configured.

In which two ways should you describe the single-tenant architecture? Each correct answer presents a complete solution.

NOTE: Each correct selection is worth one point.

  1. Each customer has their own Business Central Server.
  2. The application and the business data are stored in the same database.
  3. Multiple customers share a single Business Central Server.
  4. The application and business data are stored in separate databases.
  5. Multiple customers share multiple Business Central Server instances.
Show answer and explanation

Correct answer: B, D

B. The application and the business data are stored in the same database. D. The application and business data are stored in separate databases. In a single-tenant on-premises deployment, each customer has their own dedicated Business Central Server instance, and the application code and business data are stored together in the same database. This contrasts with multi-tenant deployments where customers share server resources. Option B correctly describes the data storage model, and option D is incorrect because single-tenant architectures do not separate application and business data into different databases.

Why the other options are wrong

  • A. Each customer having their own server is true, but this is not a distinguishing characteristic specific to single-tenant architecture.
  • C. Multiple customers sharing a single server is characteristic of multi-tenant, not singl-enant architecture.
  • E. Multiple customers sharing multiple server instances describes a multi-tenant deployment model.

Question 2

Show the case study this question is based on

CASE STUDY

This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.

To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study.

At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section.

To start the case study -To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs.

When you are ready to answer a question, click the Question button to return to the question.

Background

Contoso, Ltd. is a sales company in the manufacturing industry. It has subsidiaries in multiple countries/regions, each with its own localization.

The subsidiaries must be data-independent from each other. Contoso. Ltd. uses an external business partner to manage the subcontracting of some manufacturing items. Contoso, Ltd. has different sectors with data security between sectors required.

Current environment -Contoso, Ltd. uses Business Central online as the main ERP for financials, sales, purchase, warehouse, and manufacturing processes. It has employees that use the Business Central web application and external applications. The company has a custom external mobile app under development.

The IT department and its partners installed custom extensions to satisfy the company's requirements where the functionality is not available natively.

Contoso, Ltd. interacts with external services provided by customers and partners. Different applications interact with SOAP and OData endpoints exposed from Business Central.

An external business partner of Contoso, Ltd. exposed a REST API for receiving details about new subcontracting orders and for sending the planned release date of each subcontracting order received.

Contoso, Ltd. has not activated the monitoring of the tenant and has no internal telemetry for its apps.

Custom reporting must be created to meet the requirements of the different departments.

Tenant management -Contoso, Ltd. has the following tenant management considerations:

IT department -The IT department requires the ability to monitor the tenant to prevent performance problems and detect possible anomalies.

The IT department plans to use Azure Application Insights and Log Analytics to inspect the ingested telemetry signals.

All tenant upgrades are automatically handled by Microsoft. The IT department does not check for update availability or for tenant-related notifications.

The IT department has not configured the receipt of tenant-related notifications from the Business Central admin center.

External business partner -The external business partner must add custom telemetry to an application created for Contoso, Ltd. to monitor a business process.

Custom telemetry signals for the application must be visible only on the partner's telemetry.

SOAP

Contoso, Ltd. plans to dismiss using the SOAP protocol for integrations.

Contoso, Ltd. must be able to detect if external applications are using its Business Central SOAP endpoints.

Issue

The Business Central tenant is upgraded by Microsoft to a new major version during the night.

Users report that one of the Contoso, Ltd. extensions disappeared from the tenant. The IT department confirms that the extension is still published.

Custom mobile application requirements Contoso, Ltd. plans to create a custom mobile application that has the following requirements:

The app must be used by employees to check item details from the ERP in real time and to report issues that occur during the manufacturing process.

An AL extension must be created for handling archived issues.

Business Central development guidelines must be followed when implementing modules.

A module must be implemented for the reporting and tracking of issues information. You plan to call this module Issue Management. The module must expose a method named PostIssue.

Code modifications will be required over time.

The Issue Management process must be split into two extensions:

• ISSUE BASE: main extension

• ISSUE EXT: second extension with dependency from ISSUE BASE

In the version 1.0.0.0 of the ISSUE BASE extension, you plan to create an Issue table that contains a global Decimal variable named IssueTotal.

In the version 1.0.0.0 of the ISSUE BASE extension, you plan to define a table named Issue Category with a Description field defined as follows:

The Issue table defined in ISSUE BASE extension contains a Clone procedure defined as follows:

In the ISSUE EXT extension, you create a tableextension object of the Issue table.

The tableextension object of the Issue table must access the IssueTotal: Decimal variable.

After weeks of usage, you discover that you must remove the Description field and the Clone procedure because they are no longer required.

In a new version of the ISSUE BASE extension, you create a new Issue Type table. You must move data row by row from a previously obsolete Issue Category table to the new Issue Type table. Because a large amount of data must be moved, you must write an Upgrade codeunit by using the DataTransfer object.

The IT department creates a custom API for exposing the custom Issue table. The API provides an action for copying an issue to a new table. The action is defined as follows:

Contoso, Ltd. must create an API in Business Central to expose item details to the mobile application.

The API must have the lowest possible impact on the production environment when used during working hours.

The API must only support Get operations.

Debugging problems -A user of the ISSUE BASE extension in Business Central reports a problem.

To debug the problem, snapshot debugging with the following configuration was activated:

You discover that the debugging is not triggering.

Integration with business partner for subcontracting Contoso, Ltd. must connect Business Central to the external API provided by the business partner. This will be used for the partner to send the details of new subcontracting orders to fulfill the sales demand, and for receiving the planned release date of each order sent. The integration requirements are as follows:

The business partner will provide a REST API secured with basic authentication. Credentials to access the API will be shared with Contoso, Ltd.

The API for sending subcontracting orders must be called by sending an authenticated POST request to the given endpoint.

The API for retrieving the order no. and planned release date of each subcontracting order responds with the following JSON:

Each order no. must be retrieved.

You need to determine why the extension does not appear in the tenant.

What are two possible reasons for the disappearance? Each correct answer presents a complete solution.

NOTE: Each correct selection is worth one point.

Exhibit for question 2

Exhibit for question 2

Exhibit for question 2

Exhibit for question 2

  1. The extension was published as a DEV extension.
  2. The extension was not compatible with the new version within 60 days of the first notification.
  3. The extension was published as PTE, and the Platform parameter was not updated in the app.json file.
  4. The extension was published as PTE, and the Platform and Runtime parameters were not updated in the app.json file.
  5. The extension was not compatible with the new version within 90 days of the first notification.
Show answer and explanation

Correct answer: A, E

A. The extension was published as a DEV extension. E. The extension was not compatible with the new version within 90 days of the first notification. When Microsoft upgrades Business Central to a new major version, extensions must maintain compatibility or they are automatically removed from the tenant. Option A is correct because DEV extensions are only for development purposes and are automatically removed during production upgrades or tenant management operations. Option E is correct because Business Central enforces a compatibility window: extensions published as PTE (Per-Tenant Extension) or AppSource extensions must be compatible with the new platform version within 90 days of the first notification, or they are automatically uninstalled. The case study indicates the IT department has not configured receipt of tenant notifications, meaning they would have missed the 90-day deadline notification for updating their extension's compatibility requirements.

Why the other options are wrong

  • B. The compatibility window is 90 days, not 60 days, making this timeframe incorrect for Business Central's extension lifecycle management.
  • C. Updating only the Platform parameter without Runtime is incomplete; both parameters must be updated together for PTE extensions to maintain compatibility.
  • D. While this describes the correct update process for PTE extensions, it does not explain why the extension disappeared, the issue is the failure to update within the 9-ay window, not the specific parameters themselves.

Question 3

You are cleaning up sandbox environments for a company.

The company requires data to be cleared from the environments each time an extension is published.

You need to configure the launch.json file.

Which schemaUpdateMode property should you set?

  1. ForceUpgrade
  2. ForceSync
  3. Synchronize
  4. Recreate
Show answer and explanation

Correct answer: D. Recreate

The Recreate schemaUpdateMode property clears all data from the sandbox environment and recreates the database schema when an extension is published. This is the appropriate setting when the company requires data to be cleared each time an extension is published to ensure a clean state.

Why the other options are wrong

  • A. ForceUpgrade updates the schema without clearing data, which does not meet the requirement to clear data.
  • B. ForceSync synchronizes the schema without removing existing data.
  • C. Synchronize is a standard mode that updates the schema while preserving data.

Question 4

You need to allow debugging in an extension to view the source code.

In which file should you specify the value of the allowDebugging property?

  1. settings.json
  2. rad.json
  3. app.json
  4. launch.json
Show answer and explanation

Correct answer: C. app.json

The allowDebugging property is specified in the app.json file, which is the application manifest file for Business Central extensions. This property controls whether the extension code can be debugged and the source code viewed during development.

Why the other options are wrong

  • A. settings.json is used for user or workspace settings, not extension debugging configuration.
  • B. rad.json is not a standard Business Central configuration file.
  • D. launch.json configures debugging sessions and runtime behavior but does not contain the allowDebugging property for extensions.

Question 5

A company uses Business Central.

The company plans to use a translation file in an extension. The extension has a caption that should not be translated.

You need to prevent the caption from being translated.

What should you do?

  1. Use the CaptionML property and copy the same caption for each language used.
  2. Set the GenerateLockedTranslations feature in the app.json file.
  3. Add the Locked = true parameter to the Caption.
  4. Delete the Caption property.
  5. Copy the same caption for each language in the translation file.
Show answer and explanation

Correct answer: C. Add the Locked = true parameter to the Caption.

The Locked = true parameter is added to the Caption property to prevent a caption from being included in translation files. This ensures that captions marked as locked remain unchanged across all language versions of the extension.

Why the other options are wrong

  • A. CaptionML is deprecated in modern AL and repeating captions does not prevent translation.
  • B. GenerateLockedTranslations is not a feature that prevents translation of specific captions.
  • D. Deleting the Caption property removes it entirely rather than preserving it without translation.
  • E. Duplicating captions in translation files still allows translation and does not lock them.

Question 6

A company plans to set up a local Business Central Development Docker container.

The environment will be used for testing new project ideas.

You need to ensure that the most recent Business Central artifact URL has been selected.

Which command should you use?

  1. Get-BcArtifactUrl -type sandbox -select Current
  2. Get-BcArtifactUrl -type sandbox -select Closest
  3. Get-BcArtifactUrl -type sandbox -select NextMinor
  4. Get-BcArtifactUrl -type sandbox -select NextMajor
Show answer and explanation

Correct answer: A. Get-BcArtifactUrl -type sandbox -select Current

The Get-BcArtifactUrl command with the -select Current parameter retrieves the most recent available Business Central artifact URL. The Current option ensures that the latest version is selected for the Docker container setup.

Why the other options are wrong

  • B. Closest selects the nearest available version but may not always be the most recent.
  • C. NextMinor selects the next minor version, which may not be currently available.
  • D. NextMajor selects the next major version, which is not the most recent current release.

Question 7

Show the case study this question is based on

CASE STUDY

This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.

To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study.

At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section.

To start the case study -To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs.

When you are ready to answer a question, click the Question button to return to the question.

Company Background

Alpine Ski House is a company that owns and operates hotels, restaurants, and stores.

Currently, the company uses the following software and interface:

Property management software (PMS) to manage hotel rooms On-premises accounting software to generate sales invoices and create purchase orders An API that allows restaurants and stores to obtain necessary information Restaurants and stores use standalone software for point of sale (POS) devices. Each day, the POS terminals generate a text file of sales data and save the files in a server folder. An account assistant must manually import the files to the current software tables to be processed by the system.

The general manager receives several reports monthly from department managers. The reports take too much time to prepare.

Planned improvements -The company is moving from a different system to Business Central online to manage the whole company.

The company plans to increase efficiency in every department by using APIs to obtain or share information between the different systems.

Each department involved in purchasing must be able to make purchase requests automatically and easily. The departments do not need access to the full ERP management system.

Technical specifications -Alpine Ski House requires the development of several extensions for the planned improvements. Business Central design patterns must be used to develop all extensions.

Alpine Ski House must develop the following pages:

Pages that provide multiple configurations in a multistep dialog, like a wizard, to provide required information when the extensions are first installed Department-specific Role Center pages to show relevant information and pages with additional information The IT department plans to use Power BI to analyze departmental information. The database must be configured to provide optimal performance.

Department-specific requirements. Housekeeping department The housekeeping department requires the following to increase efficiency and help avoid data entry errors:

A Housekeeping Role Center to minimize navigation to relevant areas in Business Central online and to show relevant information in it Pages to embed into a new Room page to show additional information about the Room entity A table named Room Incident for the housekeeping team to enter room issue information A Housekeeping canvas app that connects to an extension The department requires the development of an extension with a new API page named RoomsAPI.

The housekeeping team will use RoomsAPI to publish room details, update when work is complete, or provide repair notifications from the canvas app.

This custom API page must expose a custom table named Rooms and have an ID 50000. The table must be able to update from the PMS. The PMS team must know the endpoint to connect to the custom API.

A developer provides the following details for the API page:

The extension must be published in Business Central online and include a list page named Room List that includes all hotel rooms.

Installation or updates to this extension must meet the following requirements:

Some web services must be published automatically.

The version of the specified application's metadata must be obtained in AL language, The code required to perform tasks cannot be accessible from other parts of the application.

The Room Incident table information must include the following fields:

• Incident entry: An incremental number

• Room No.: A room from the Room table

• Incident Date: The work date

The table definition in the Room Incident table must autofill the Incident Date when the housekeeping team inserts a new record, The value for Incident Date must be the work date configured in the Business Central online client.

Status: Includes the following options to identify the status of the incident:

• Open: When the Room Incident is created

• In Progress: When someone starts repair work

• Closed: When the incident is solved

Incident Closing Date: Auto-updating field (when the status passes to Closed, the field will update with the work date)

Incident Description: Text

Image: Media data type -The stored picture must be downloadable from a menu action, A Room Incident page must be developed to contain the download action.

Department-specific requirements. Restaurants and stores To increase efficiency, the new system must manage the generated data from the restaurants and stores directly by using the API on the POS terminals.

The company requires a codeunit called from a job queue to read the information from the POS terminal APIs.

The POS terminal information must be stored in a table named POS Information, have an ID 50100, and be editable on a page.

The account manager requires an option on the menu of the page to run the process manually.

To analyze the information received from the POS terminals, the company requires:

• A custom API named ticketAPI to export the information to Power BI

• Use of the Read Scale-Out feature to improve database performance

Department-specific requirements. Purchasing department and non-conformity handling The purchasing department requires a new entity in Business Central online to log no-onformities of goods received from vendors. The entity must be set up as follows:

The non-conformity entity must have two tables:

a header with common information one or more lines with the detailed received items that are non-conforming The entity requires a page named Non-conformity and a subpage named Non-conformity Lines to store the information.

When a purchase order with incorrect quantity or quality issues is received, the entity must create a non-conformity document in the system. The following information must be included in the document:

Non-conformity Number: must use the No. Series table from Business Central online to manage this field and use these features:

Alphanumeric values -Number format that includes “NC” and the year as part of the number; for example, NC24-001 Non-conformity Date: stores only the creation date Vendor No.: stores the number of the vendor that sent the items; only vendors from the company must be included Owner: code of an employee defined in the company Receipt No.: must meet the following conditions:

Be an existing receipt No.

Be received from the vendor indicated in the Vendor No. field Comments: can include comments with rich text and pictures to illustrate quality problems Status: includes no-onformity statuses, such as:

• Open

• Notified

• Closed

Lines must contain the following details:

• Item No.: item received (for existing inventory items only)

• Description: item description

• Quantity: non-conforming quantity

Non-conformity Type:

• Quality

• Quantity

• Delivery date

The serial numbers of the non-conformities and the period in which they can be created must be in a configuration table and its corresponding page to allow them to be modified for the users.

You need to define the data types for the fields of the Non-conformity table.

Which two data types should you use? Each correct answer presents part of the solution.

NOTE: Each correct selection is worth one point.

Exhibit for question 7

  1. Integer for the Non-conformity Number field
  2. DateTime for the Non-conformity Date field
  3. Char for the Non-conformity Number field
  4. Date for the Non-conformity Date field
  5. Code for the Non-conformity Number field
Show answer and explanation

Correct answer: D, E

D. Date for the Non-conformity Date field E. Code for the Non-conformity Number field The Non-conformity Number field must use the Code data type because it stores alphanumeric values in a specific format (NC24-001) that includes both letters and numbers. The Code data type in Business Central is designed for identifiers with mixed characters and integrates seamlessly with No. Series for automatic number generation. The Non-conformity Date field must use the Date data type because the requirement explicitly states it stores only the creation date, not a timestamp. The Date data type captures calendar dates without time components, which is appropriate for recording when a non-conformity document was created.

Why the other options are wrong

  • A. Integer cannot store alphanumeric values like 'NC24-001'; it only handles numeric values.
  • B. DateTime includes time information, but the requirement specifies storing only the creation date without time.
  • C. Char is a fixed-length character type unsuitable for variable-length identifiers; Code is the correct choice for alphanumeric identifiers in Business Central.

Question 8

You are developing an app.

You plan to publish the app to Microsoft AppSource.

You need to assign an object range for the app.

Which object range should you use?

  1. custom object within the range 50000 to 59999
  2. custom object within the range 50000 to 99999
  3. divided by countries and use specific a country within the range 100000 to 999999
  4. an object range within the range of 7000000 to 74999999 that is requested from Microsoft
  5. free object within the standard range 1 to 49999
Show answer and explanation

Correct answer: D. an object range within the range of 7000000 to 74999999 that is requested from Microsoft

74999999 that is requested from Microsoft Apps published to Microsoft AppSource must use object ranges within 7000000 to 74999999 that are specifically requested from and assigned by Microsoft. This range is reserved for AppSource applications and requires formal approval to prevent object ID conflicts.

Why the other options are wrong

  • A. The range 50000-59999 is used for custom objects in non-AppSource solutions.
  • B. The range 50000-99999 is for custom development but not appropriate for AppSource apps.
  • C. Country-specific ranges do not apply to AppSource object allocation.
  • E. The range 1-49999 is reserved for Microsoft base application objects, not for app developers.

Question 9

A company plans to meet new regulatory requirements.

The regulator has issued new tax tiers.

You need to update the base application table by using a table extension.

Which table field property can you change?

  1. CalcFormula
  2. DecimalPlaces
  3. BlankZero
  4. AutoFormatType
Show answer and explanation

Correct answer: C. BlankZero

The BlankZero property can be modified in a table extension to change how a field displays zero values without altering the underlying data structure. This property is safe to modify when extending base application tables for regulatory updates.

Why the other options are wrong

  • A. CalcFormula defines how a field is calculated and cannot be changed in table extensions.
  • B. DecimalPlaces affects data storage precision and cannot be modified in extensions.
  • D. AutoFormatType controls formatting behavior but is a base property that should not be overridden in extensions.

Question 10

You plan to write unit test functions to test newly developed functionality in an app.

You must create a test codeunit to write the functions.

You need to select the property to use for the test codeunit.

Which property should you use to ensure that the requirements are fulfilled?

  1. SubType
  2. Access
  3. Description
Show answer and explanation

Correct answer: A. SubType

The SubType property is set to Test on a codeunit to designate it as a test codeunit. This property allows you to create unit test functions within the codeunit and integrate them with the testing framework.

Why the other options are wrong

  • B. Access controls visibility and permissions but does not define a codeunit as a test codeunit.
  • C. Description provides documentation but does not establish the codeunit as a test codeunit.

That was 10 of 131.

The full Microsoft MB-820 pack has all 131 questions, each with the answer, the explanation and why the other options are wrong, plus a questions-only copy for timed runs. US$39, paid once, with free monthly updates and a pass-or-your-money-back guarantee.

Get the full pack