Microsoft Dynamics 365 Business Central Developer Associate (MB-820)

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

Q001 - Question

A manufacturing company plans to move to Business Central online. Thirty users must run production orders and repair service operations. Ten additional users only need to read data, update existing records, and approve workflow requests. Which subscription assignment meets these requirements?

Domain: Describe Business Central (10-15%) Type: Single choice

B is correct.

Explanation: Service Management and Manufacturing are included with Premium, so the 30 users who run production orders and repair service operations need Premium licenses. Team Members is an additional user type for limited tasks such as reading data, updating existing data, approving workflows, and creating quotes, which matches the 10 remaining users.

A is incorrect: Essentials covers areas such as Financial Management, CRM, Project Management, Supply Chain Management, HR, and Warehouse Management, but it does not include Service Management or Manufacturing.

C is incorrect: At least one Essentials or Premium license is required, and Team Members cannot perform full operational tasks such as running production orders.

D is incorrect: This reverses the requirement. The users who need Manufacturing and Service Management are the 30 operational users, and Premium for the limited users still leaves the operational users without those capabilities.

Learn more in Microsoft Learn

Q002 - Question

A sales team uses Business Central online and wants to work with customer and vendor data from Outlook. Which two statements correctly describe the Microsoft 365 experience for Business Central? Each correct answer presents a complete solution.

Domain: Integrate Business Central with other applications (10-15%) Type: Multiple choice

B and D are correct.

Explanation: For Business Central online, you create users in the Microsoft 365 Admin Center and then import them into Business Central. The Outlook add-in surfaces customer and vendor financial information and lets users create contacts, opportunities, quotes, orders, and invoices without leaving Outlook.

A is incorrect: The direction is reversed, because user creation starts in the Microsoft 365 Admin Center and the users are then imported into Business Central.

C is incorrect: The add-in is not limited to viewing data, because users can also create business documents such as quotes, orders, and invoices from Outlook.

Learn more in Microsoft Learn

Q003 - Question

A company is planning the Microsoft 365 experience for Business Central online. Which two statements about this integration are correct? Each correct answer presents a complete solution.

Domain: Integrate Business Central with other applications (10-15%) Type: Multiple choice

B and D are correct.

Explanation: For Business Central online, you create users in Microsoft 365 Admin Center and then import them into Business Central. The Outlook add-in surfaces customer and vendor financial information and lets users create contacts, opportunities, quotes, orders, and invoices without leaving Outlook.

A is incorrect: The direction is reversed. User creation starts in Microsoft 365 Admin Center, and Business Central imports those users.

C is incorrect: The add-in is not limited to viewing contact details, because users can also create contacts, opportunities, quotes, orders, and invoices from Outlook.

Learn more in Microsoft Learn

Q004 - Question

A customer requires every sales invoice to arrive by email with a PDF attachment. The accounting team wants the Send Document To page to be prefilled with that delivery method whenever they use Print/Send. What should you configure?

Domain: Describe Business Central (10-15%) Type: Single choice

A is correct.

Explanation: A document sending profile defines the preferred delivery method, such as print or email and PDF or electronic document attachment. When the profile is assigned to the customer, the Send Document To page is prefilled and selecting Send can create an email with the document attached.

B is incorrect: Manual selection works for a single document but does not prefill the Send Document To page, so the preference is not stored with the customer.

C is incorrect: Interactions track communications and business documents related to a contact, and they do not control how a sales document is delivered.

D is incorrect: Customer templates speed up creating customer records, while the delivery method for sales documents comes from the document sending profile assigned to the customer.

Learn more in Microsoft Learn

Q005 - Question

A user has signed in to Microsoft 365 and opened Business Central by selecting it from the app list. The user asks how to reach Business Central on later days without going through the Microsoft 365 app list first. What should you tell the user?

Domain: Describe Business Central (10-15%) Type: Single choice

C is correct.

Explanation: After the first sign-in, you can open Business Central directly at businesscentral.dynamics.com when the browser recognizes the login, so the Microsoft 365 app list is no longer required each time.

A is incorrect: Selecting the app from the Microsoft 365 app list or search is one way in, but not the only way after the first sign-in.

B is incorrect: No extra license is involved in reaching Business Central through the browser address.

D is incorrect: The license model determines which functionality is included, not how you open the product in a browser.

Learn more in Microsoft Learn

Q006 - Question

A Business Central partner has no add-on app to sell, but it delivers fixed-scope engagements such as implementation projects and environment assessments. The partner wants to reach customers through Microsoft Marketplace. Which offer type fits this business model?

Domain: Describe Business Central (10-15%) Type: Single choice

A is correct.

Explanation: Publishers can offer fixed-scope consulting services, such as assessments or implementations, through Marketplace, which matches an engagement that has no app to license.

B is incorrect: Transactable add-on offers provide per-user licenses for an app, not for a consulting engagement.

C is incorrect: Entitlement objects map purchased plans to app access, so they do not apply when there is no add-on app.

D is incorrect: A license key is a monetization method for an app that a publisher sells independently, not a way to sell a service engagement.

Learn more in Microsoft Learn

Q007 - Question

A publisher creates two plans for a transactable Business Central add-on offer on Microsoft Marketplace. Each plan must give access to a different set of app features. What must the publisher do in the AL code so that each plan grants the correct access?

Domain: Develop by using AL objects (35-40%) Type: Single choice

C is correct.

Explanation: For a transactable offer, Marketplace plans map to AL entitlement objects by Service ID, so the entitlement object is what connects a purchased plan to the access the app grants.

A is incorrect: Reading invoice data is not how plan access is granted, and it leaves entitlement outside the licensing model that Microsoft hosts.

B is incorrect: Manual selection by an administrator does not reflect the purchased plan and can be changed by anyone with access to the page.

D is incorrect: A publisher-operated license server belongs to independent monetization, where you implement your own entitlement check instead of using Marketplace plans.

Learn more in Microsoft Learn

Q008 - Question

A new partner team plans to bring its first Business Central offering to market. The team wants structured learning, coaching, tooling, access to insider builds, testing scenarios, and a channel to send developer feedback. Which resource should the team use?

Domain: Describe Business Central (10-15%) Type: Single choice

A is correct.

Explanation: Ready to Go supports bringing an offering to market and includes learning, coaching, tooling, insider builds, testing scenarios, and developer feedback channels.

B is incorrect: AppSourceCop is a code analyzer in the AL Language extension, so it only reports diagnostics in code and does not provide coaching, insider builds, or feedback channels.

C is incorrect: Dependency declarations in the app JSON manifest control which apps are installed first, not go-to-market preparation.

D is incorrect: The standard REST APIs are used for point-to-point integration in connect apps and offer no learning or coaching content.

Learn more in Microsoft Learn

Q009 - Question

An ISV must exchange order data between Business Central and a third-party logistics service. The solution does not change any Business Central pages or add new business logic inside the product. The integration must run in a production environment. Which application type and authentication approach should the ISV choose?

Domain: Integrate Business Central with other applications (10-15%) Type: Single choice

B is correct.

Explanation: A connect app establishes point-to-point integration between Business Central and a third-party service, and it typically uses the standard REST APIs with Microsoft Entra ID OAuth 2.0 for production.

A is incorrect: An add-on app extends the Business Central experience through AL extensions, which is more than this scenario requires because no pages or in-product logic change.

C is incorrect: A library app packages common code that other apps reuse and is installed behind the scenes before the main app, so it does not describe an external point-to-point integration.

D is incorrect: A dependency app has its own AppSource offer and requires another app to be installed first, which adds installation prerequisites that this integration does not need.

Learn more in Microsoft Learn

Q010 - Question

A developer wants a short explanation to appear for a page and selected fields so new users can see what the page is for and how to use it, as part of a teaching tip. Which AL properties should the developer set?

Domain: Develop by using AL objects (35-40%) Type: Single choice

D is correct.

Explanation: Teaching tips use the AboutTitle and AboutText AL properties, which supply the short title and explanatory text to introduce a page or control to the user.

A is incorrect: Application areas control whether mapped page controls are shown, and UsageCategory affects search, so neither adds teaching tip text.

B is incorrect: Tooltips and Captions provide field labels and hover text, which are separate from teaching tips.

C is incorrect: Visible and Editable control the display and input states on a control and provide no user assistance text.

Learn more in Microsoft Learn

Q011 - Question

You run Cloud Migration Setup for a customer whose Business Central database is on a local SQL Server instance. Which action is required so that the migration can read the source data?

Domain: Install, develop, and deploy for Business Central (10-15%) Type: Single choice

A is correct.

Explanation: Cloud Migration Setup uses Azure Data Factory, and a local SQL Server source also requires a Self-Hosted Integration Runtime. The initial run moves all selected data, and later runs move tracked changes.

B is incorrect: The replication uses an encrypted SQL connection through the Self-Hosted Integration Runtime, so you do not expose the database through a public endpoint or open firewall ports.

C is incorrect: A second production environment is not part of the migration setup; you select one paid target environment.

D is incorrect: Manual file export and import is not how the migration moves data; Cloud Migration Setup replicates the selected tables and companies.

Learn more in Microsoft Learn

Q012 - Question

A partner must repeat the same cloud migration steps for many customer tenants and wants to avoid manual work in the client. How can the partner use the cloud migration APIs?

Domain: Integrate Business Central with other applications (10-15%) Type: Single choice

C is correct.

Explanation: The cloud migration APIs let you automate the migration end to end, including setup, company creation, tracking migration progress, running required upgrades, and disabling cloud migration.

A is incorrect: The APIs automate the migration process, and replication remains one way from on-premises to Business Central online.

B is incorrect: A local SQL Server source still requires a Self-Hosted Integration Runtime, because the APIs automate the process rather than change the connection components.

D is incorrect: Only tables available in both the source and the target are migrated, and calling the APIs does not change that limitation.

Learn more in Microsoft Learn

Q013 - Question

An organization runs a head office company and three subsidiary companies in the same Business Central environment. The subsidiaries must reuse the head office customer and vendor records, and changes in the head office must reach the subsidiaries without manual re-entry. Which approach meets the requirement?

Domain: Describe Business Central (10-15%) Type: Single choice

C is correct.

Explanation: Master Data Management synchronizes selected master data tables and fields among companies in the same environment. Each receiving company subscribes to a source company, filters and advanced couplings refine what is synchronized, job queues can run the synchronization, and logs show the results.

A is incorrect: Repeated configuration package exports and imports are a manual task for each change rather than ongoing synchronization.

B is incorrect: The Data Migration assisted setup imports data into a company from Excel or a supported source system; it does not keep companies aligned after the import.

D is incorrect: A data template supplies default values when records are created and does not copy or update existing customer and vendor records from another company.

Learn more in Microsoft Learn

Q014 - Question

A customer with heavily customized Business Central on-premises companies asks what the cloud migration can and cannot replicate. Which two statements are accurate? Each correct answer presents part of the solution.

Domain: Install, develop, and deploy for Business Central (10-15%) Type: Multiple choice

B and C are correct.

Explanation: The replication runs one way from on-premises to Business Central online, and only tables that exist on both sides are migrated. Plan customizations as extensions that are deployed in both the source and the target so that the related tables can be matched.

A is incorrect: On-premises users and permissions do not replicate automatically, so you configure users and permissions in the online environment as part of the project.

D is incorrect: Customizations must exist as extensions on both sides; an extension that is installed only on-premises leaves no matching table in the target.

Learn more in Microsoft Learn

Q015 - Question

A company imports several hundred customers from Excel. Customers in the same region share the same posting groups, payment terms, and dimensions, but the source file does not contain those values. Which configuration tool should the consultant use to complete the missing values consistently during the import?

Domain: Describe Business Central (10-15%) Type: Single choice

D is correct.

Explanation: Data templates supply default values for contacts, customers, items, and vendors, including mandatory fields, posting groups, payment terms, and dimensions. Grouping records that share attributes such as region or customer type and applying a template makes the imported master data consistent.

A is incorrect: A configuration questionnaire collects setup answers for setup tables and does not apply default field values to individual imported master records.

B is incorrect: Master Data Management synchronizes master data between companies in the same environment, so it does not fill missing values in a single company's Excel import.

C is incorrect: Creating one company per region does not populate posting groups, payment terms, or dimensions on the imported customer records.

Learn more in Microsoft Learn

Q016 - Question

You develop a List page that users open only to review historical records. You want the page to declare that it performs read operations, so that eligible read workloads can be routed to a secondary replica. Which page property do you configure?

Domain: Develop by using AL objects (35-40%) Type: Single choice

A is correct.

Explanation: DataAccessIntent declares ReadOnly or ReadWrite intent for the page and can route eligible read workloads to a secondary replica.

B is incorrect: Editable at page level overrides control settings and blocks editing in the user interface, but it does not declare data access intent for workload routing.

C is incorrect: SourceTableView applies filtering and sorting to the records shown and has no effect on which replica serves the read workload.

D is incorrect: DeleteAllowed only controls whether users can delete records from the page.

Learn more in Microsoft Learn

Q017 - Question

A customer wants to stop using a per-tenant extension for several months and then start using it again with the records that were already entered. What should you do on the Extension Management page?

Domain: Install, develop, and deploy for Business Central (10-15%) Type: Single choice

B is correct.

Explanation: Uninstalling an extension normally retains its data, so the customer can install the extension again later and continue to use the existing records.

A is incorrect: Delete Extension Data permanently removes the extension data and the data of dependent apps, so the records cannot be recovered.

C is incorrect: Forced schema sync is intended only for breaking changes and does not preserve access to the data while the extension is unused.

D is incorrect: Upload Extension and Deploy publishes a per-tenant .app file, which adds development and deployment work instead of simply uninstalling the current version.

Learn more in Microsoft Learn

Q018 - Question

A customer needs two extra fields stored on the Customer table in Dynamics 365 Business Central. The partner must keep the solution upgradable and must not modify the base application source code. Which approach meets these requirements?

Domain: Develop by using AL objects (35-40%) Type: Single choice

A is correct.

Explanation: A TableExtension object adds data to an existing table and makes supported property changes without directly modifying the base table source code.

B is incorrect: Copying the table creates a separate table object, which does not add fields to the existing Customer table records.

C is incorrect: The base-table source code is not modified directly when adding fields to an existing table.

D is incorrect: Page extensions cannot add data fields to a table; TableExtension objects are required to add data to existing tables.

Learn more in Microsoft Learn

Q019 - Question

In Visual Studio Code, you created a new table by using the ttable snippet and added fields by using the tfield snippet. You now want to add a key definition to the same table with a snippet. Which snippet should you use?

Domain: Work with development tools (10-15%) Type: Single choice

D is correct.

Explanation: The AL snippets for table authoring are ttable for the table object, tfield for a field, and tkey for a key, so tkey inserts the key definition.

A is incorrect: tpage relates to page objects, not to key definitions inside a table.

B is incorrect: Field groups such as DropDown and Brick control which fields appear in lookups and tiles, so they do not define keys.

C is incorrect: There is no table key snippet by that name in the set used to author tables, fields, and keys.

Learn more in Microsoft Learn

Q020 - Question

A customer reports an intermittent error in a Business Central production environment. You work for the partner as a delegated admin and must collect AL execution details for offline analysis without stopping the affected user's work. What should you do?

Domain: Work with development tools (10-15%) Type: Single choice

C is correct.

Explanation: Snapshot debugging records AL execution on a production server for later offline analysis, and snappoints log state instead of interrupting the running code. A delegated admin needs the D365 Snapshot Debug permission, the symbols must match the server, and the configuration targets the session by userId or sessionId. Treat the downloaded snapshot as customer data, because it can contain privacy data and must be deleted appropriately.

A is incorrect: Attach debugging with breakOnNext stops execution in the session you connect to, so the user's work is interrupted.

B is incorrect: Rapid Application Development is an interim development technique for faster publishing of changed objects, not a method for collecting production execution data.

D is incorrect: breakOnError halts execution at the error and requires publishing a debug session from Visual Studio Code, which does not give you a recorded snapshot for offline analysis.

Learn more in Microsoft Learn

Q021 - Question

A customer wants a customized report to run instead of a standard Dynamics 365 Business Central report whenever users start it from a page action, from Tell Me, or when code invokes the report. Extending the existing report is not sufficient for the requirement. What should you implement?

Domain: Develop by using AL (15-20%) Type: Single choice

D is correct.

Explanation: Subscribing to ReportManagement.OnAfterSubstituteReport and assigning NewReportId for the target ReportId substitutes the report, and the event is raised for page actions, Tell Me, and report invocation methods.

A is incorrect: Setting UsageCategory to None only removes the standard report from Tell Me results and does not affect page actions or calls from code.

B is incorrect: Additional search terms change how users find an object, not which report runs when the standard report is called.

C is incorrect: A report extension directly extends an existing report and can avoid substitution in some cases, but it does not meet a requirement that extension alone cannot satisfy.

Learn more in Microsoft Learn

Q022 - Question

A partner supports two customers. One customer runs Business Central version 22, and the other runs version 23. Users in both environments report that they cannot use analysis mode. What should the partner do in each environment?

Domain: Install, develop, and deploy for Business Central (10-15%) Type: Single choice

A is correct.

Explanation: In version 22, analysis mode depends on the Feature Update: Analysis mode feature. From version 23 onward, users need the DATA ANALYSIS - EXEC permission set or run permission on system object 9640.

B is incorrect: The feature update applies to version 22; in version 23 and later the access is controlled by permissions.

C is incorrect: The two requirements are reversed, so neither environment would be configured correctly.

D is incorrect: The Analyze action depends on the feature setting in version 22 and on permissions in version 23 and later.

Learn more in Microsoft Learn

Q023 - Question

You need to configure a warehouse label report to start printing as soon as a user selects it, with no intermediate page. Before you set UseRequestPage to false on the report, which consequence must you verify the customer accepts?

Domain: Develop by using AL objects (35-40%) Type: Single choice

B is correct.

Explanation: The request page is shown by default and is where users specify report options and filters. When you set UseRequestPage to false, the report starts immediately, so users lose the opportunity to set filters or a sort order for that run.

A is incorrect: Turning off the request page changes only the user interaction before the run. It does not restrict which layout the report uses.

C is incorrect: Data items remain part of the report definition. Only the page that normally exposes their filters and sorting is skipped.

D is incorrect: Nothing in the request page setting limits where the report can be started from.

Learn more in Microsoft Learn

Q024 - Question

A customer wants to add their logo and change the column order on a sales report layout that is delivered by an installed extension. The change must apply every time users run that report in the current company. What should you do?

Domain: Develop by using AL objects (35-40%) Type: Single choice

A is correct.

Explanation: Layouts that come from an extension cannot be modified in the client. Create a user-defined copy of the layout, change the copy, and then set it as the layout for the report so that it applies for the company.

B is incorrect: Direct editing of an extension layout in the client is not possible, so the change must be made on a copy.

C is incorrect: Choosing a layout on the request page applies to that run only, so it does not give a lasting default for all users.

D is incorrect: Changing the report object is not required for a presentation change, because the object defines the available data while the layout defines the presentation.

Learn more in Microsoft Learn

Q025 - Question

A developer designs an RDLC layout for a Business Central report in SQL Server Report Builder. The layout must bind to the data that the AL dataset produces, and the developer wants to validate the field names and value types before building the tablix. Which approach matches how Business Central works with RDLC layouts?

Domain: Develop by using AL objects (35-40%) Type: Single choice

B is correct.

Explanation: The Business Central RDLC dataset is named DataSet_Result, and exporting the report data only to Excel lets you validate which fields are available and what value types they return before you finish the layout.

A is incorrect: The RDLC layout consumes the dataset that the AL report object produces, not a separate connection defined in Report Builder.

C is incorrect: The dataset name is DataSet_Result rather than the report name, and DefaultRenderingLayout applies only to report objects, not to report extensions.

D is incorrect: The custom XML part and the XML Mapping Pane belong to Word layouts, not to RDLC layouts.

Learn more in Microsoft Learn

Q026 - Question

A publisher raises an isolated event that several extensions subscribe to. One subscriber fails with an error after it has written records to the database. What is the result?

Domain: Develop by using AL (15-20%) Type: Single choice

A is correct.

Explanation: Isolated events run subscribers in separate transactions, so eligible database changes from a failing subscriber are rolled back while event processing continues. Note that non-database state can persist after the rollback.

B is incorrect: The separate transactions apply per subscriber, so a failure does not roll back the other subscribers or cause the event to be raised again.

C is incorrect: Event processing continues after a subscriber fails, so the remaining subscribers are still called.

D is incorrect: The eligible database changes of the failing subscriber are rolled back rather than kept, and the other subscribers are not skipped.

Learn more in Microsoft Learn

Q027 - Question

A team must ship one extension that supports three languages and must make sure the generated XLIFF content includes captions that are not defined explicitly in the source code. Which two approaches meet these requirements? Each correct answer presents part of the solution.

Domain: Develop by using AL objects (35-40%) Type: Multiple choice

B and D are correct.

Explanation: Use one XLIFF file per language-country combination and include those files with the extension. Enable GenerateCaptions to extend the generated content with captions that are not defined explicitly, and note that GenerateLockedTranslations can extend the content further.

A is incorrect: Translations are organized as one file per language rather than as multiple target languages in a single file.

C is incorrect: Caption, tooltip, and label properties are the source of translatable text, so hard-coded text removes the content that translation files rely on.

Learn more in Microsoft Learn

Q028 - Question

A customer requires that a calculated charge is always rounded upward to two decimals, even when the third decimal is low. Which Round call meets the requirement?

Domain: Develop by using AL (15-20%) Type: Single choice

D is correct.

Explanation: The direction parameter '>' rounds the value upward, and the precision parameter 0.01 sets rounding to two decimals.

A is incorrect: When you omit the direction, Round uses nearest rounding, so low third decimals round downward.

B is incorrect: The '<' direction rounds the value downward, which is the opposite of the requirement.

C is incorrect: The '=' direction rounds to the nearest value, so the result is not always rounded upward.

Learn more in Microsoft Learn

Q029 - Question

An independent software vendor plans to publish events from a shared extension. Partners will build solutions that subscribe to these events, and the vendor must give partners a signature contract that stays stable over time. Which event category should the vendor publish?

Domain: Develop by using AL (15-20%) Type: Single choice

B is correct.

Explanation: Business events define a stable signature contract, so subscribers can depend on the signature remaining unchanged.

A is incorrect: Trigger events are raised by the system before and after table operations such as insert, modify, delete, rename, and field validation, so they are not a published contract that the vendor defines.

C is incorrect: Integration events can change, so they do not provide the stable signature the partners require.

D is incorrect: A table OnInsert trigger is a predefined system function for code inside the table, not a published event category that other extensions subscribe to.

Learn more in Microsoft Learn

Q030 - Question

A codeunit applies filters to a Sales Line record variable and then must decide whether to continue processing. The code only needs to know whether at least one matching record exists, and the developer wants to avoid loading record data from the database. Which approach fits this requirement?

Domain: Develop by using AL (15-20%) Type: Single choice

C is correct.

Explanation: IsEmpty tests whether the filtered record set contains any records without retrieving the record data, which is the lowest-cost way to check existence.

A is incorrect: FindSet with Next retrieves and iterates the result set, so it loads data that the logic does not need.

B is incorrect: Get retrieves a single record by its primary key, so it cannot answer whether any record matches a set of filters.

D is incorrect: Find('-') is the legacy retrieval syntax, and FindFirst or FindLast is preferred for performance; it also retrieves a record instead of only testing existence.

Learn more in Microsoft Learn

Q031 - Question

You must expose a custom table to a partner integration as a Business Central API. The partner requires a stable unique key for each record. Which approach meets the requirement?

Domain: Develop by using AL objects (35-40%) Type: Single choice

A is correct.

Explanation: An API page uses PageType API together with the APIVersion, APIPublisher, APIGroup, EntityName, and EntitySetName properties, and SystemId is the recommended unique identifier to set in ODataKeyFields.

B is incorrect: A List page published as an OData web service is a traditional web service rather than an API page, and APIs use pages and queries created specifically for API usage.

C is incorrect: A row number is not a resource identifier; API resources are addressed by an ID value such as SystemId.

D is incorrect: PageType Card does not create an API endpoint, and a custom GUID field is unnecessary because SystemId already provides a unique identifier.

Learn more in Microsoft Learn

Q032 - Question

You build a JsonObject in AL that holds customer data, and you must send it to an external REST service with a POST request. What do you do before you send the request?

Domain: Integrate Business Central with other applications (10-15%) Type: Single choice

D is correct.

Explanation: WriteTo serializes the JsonObject into text that you assign to the HttpContent, and the content type header must state application/json so the service interprets the body correctly.

A is incorrect: The request body is carried by HttpContent as text, so the JSON structure must be serialized first.

B is incorrect: ReadFrom works in the opposite direction, because it parses JSON text into an AL JSON type.

C is incorrect: AsValue returns a JsonValue from a token, and headers carry metadata such as the content type rather than the JSON body.

Learn more in Microsoft Learn

Q033 - Question

An external application polls Business Central every minute for changed sales orders and then posts each order line in a separate request. The application now fails intermittently because of request-rate and concurrency limits. Which two changes reduce the number of requests? Each correct answer presents part of the solution.

Domain: Integrate Business Central with other applications (10-15%) Type: Multiple choice

B and D are correct.

Explanation: Webhooks remove repeated polling calls because the application reacts to change notifications, and a deep insert writes a parent record together with its child records in one request, which lowers the total request count.

A is incorrect: Page size is capped by the service, so a client setting cannot return an unlimited result set in one call; use OData filtering and expansion to limit the data you request.

C is incorrect: Concurrency is also limited, so sending every request in parallel increases the chance of throttling instead of reducing request volume; batching is the supported way to group calls.

Learn more in Microsoft Learn

Q034 - Question

A warehouse team plans to scan 1D and 2D barcodes with the Business Central mobile app on company-owned devices. Before development starts, you must confirm the prerequisites for the scanning scenarios. Which two statements about the requirements are correct? Each correct answer presents part of the solution.

Domain: Install, develop, and deploy for Business Central (10-15%) Type: Multiple choice

B and D are correct.

Explanation: Barcode scanning scenarios require the Business Central mobile app in version 4.0 or later, and the dedicated hardware scanner scenario adds the requirement of Android 11 or later on the scanner device. Verify both conditions before you plan the rollout.

A is incorrect: The field that receives the scanned value must use the Text or Code data type, so plan table and page fields accordingly.

C is incorrect: The Android 11 or later requirement applies to dedicated scanner devices, not to camera scanning from a field button.

Learn more in Microsoft Learn

Q035 - Question

Your extension includes a finished wizard page, but the wizard does not appear in the Assisted Setup list. What must you implement so that users can start the wizard from Assisted Setup?

Domain: Develop by using AL (15-20%) Type: Single choice

A is correct.

Explanation: You register a custom guide by subscribing to Guided Experience codeunit 1990's OnRegisterAssistedSetup event and calling InsertAssistedSetup.

B is incorrect: Adding an action through a page extension does not register the guide with Guided Experience.

C is incorrect: A startup object setting does not register a guide with Guided Experience.

D is incorrect: Storing the name and status in a table extension does not register the wizard; registration happens in the OnRegisterAssistedSetup subscriber.

Learn more in Microsoft Learn

Q036 - Question

A profile is delivered by another extension. You must apply your own page customizations to that role and change some of its profile properties, without editing the original object. What should you do?

Domain: Develop by using AL objects (35-40%) Type: Single choice

D is correct.

Explanation: A profile extension overrides properties of an existing profile and applies page customizations to it. The customizations apply to the role center specified by that profile, and users pick the role in My Settings.

A is incorrect: A duplicate profile creates a second role instead of changing the existing one, so users of the original profile see no change.

B is incorrect: A page extension changes the page for all profiles and is not the object that links customizations to a specific profile.

C is incorrect: The profile is owned by another extension, so you cannot edit the original object; use a profile extension instead.

Learn more in Microsoft Learn

Q037 - Question

A developer designs an onboarding checklist for a new vertical extension. Which two statements correctly describe how to build and design the checklist? Each correct answer presents part of the solution.

Domain: Develop by using AL objects (35-40%) Type: Multiple choice

B and D are correct.

Explanation: The onboarding checklist is based on Guided Experience Item records, and each task can link the user either to a Business Central page or to an external URL.

A is incorrect: Tasks are not limited to external URLs, because a task can also open a Business Central page.

C is incorrect: Keep task lists short and use clear titles with realistic times; listing every configuration task works against that guidance.

Learn more in Microsoft Learn

Q038 - Question

During testing, several notifications are raised on the same page. A consultant asks how users will see them and how long they remain visible. What is the correct description of this behavior?

Domain: Develop by using AL (15-20%) Type: Single choice

B is correct.

Explanation: Multiple notifications appear in the notification bar in chronological order, and each one persists for the page instance until the user dismisses it or selects an action on it.

A is incorrect: Notifications are not limited to the latest message, and they are not removed on a timer.

C is incorrect: Notifications are nonblocking, so they do not prevent the user from working with the page.

D is incorrect: Editing a field does not clear notifications; the user must dismiss or act on them.

Learn more in Microsoft Learn

Q039 - Question

You design an extension that stores rental equipment as a primary business entity. The data changes rarely, users must open each record in a dedicated card, and users must be able to stop an individual equipment record from being used in transactions. Which table design follows the master table pattern?

Domain: Develop by using AL objects (35-40%) Type: Single choice

B is correct.

Explanation: Master tables hold relatively static data about a primary entity, use a Code[20] No. field as the primary key, and commonly expose Card, List, and Statistics pages. A Blocked field lets you prevent a specific record from being used in transactions.

A is incorrect: A single record with a blank Primary Key and a Card page that disallows insert and delete is the setup table pattern, which stores company-wide configuration rather than many entity records.

C is incorrect: An auto-incremented Entry No. primary key with immutable records is the ledger table pattern for transactional data, so users could not maintain equipment details on a card.

D is incorrect: A Code[10] Code field with a Description and a single editable list is the supplemental table pattern for supporting subject data, not for a primary entity that needs card and statistics pages.

Learn more in Microsoft Learn

Q040 - Question

A customer asks you to prevent removal of a master record when related transactions exist, and to remove the subsidiary records that belong to the master record when removal is allowed. Which table trigger should contain this logic?

Domain: Develop by using AL objects (35-40%) Type: Single choice

D is correct.

Explanation: OnDelete is the trigger that checks for related transactions and removes subsidiary data, so both parts of the requirement belong there.

A is incorrect: OnInsert runs when a record is created and is used to assign numbers and defaults and to validate rules for the new record.

B is incorrect: OnValidate runs at field level to assign defaults and validate complex field rules, so it does not control record removal.

C is incorrect: OnModify runs when an existing record changes and is used to update metadata and validate the change, not to handle removal.

Learn more in Microsoft Learn

Q041 - Question

You are designing tables for a new application area in Business Central. One group of records must be created by the application when a transaction is completed, and users must not be able to change those records manually afterward. Which table category fits this requirement?

Domain: Develop by using AL objects (35-40%) Type: Single choice

C is correct.

Explanation: Posted transaction tables hold records that the application generates during posting, and those records usually cannot be changed manually, which matches the requirement.

A is incorrect: Configuration tables store setup values that change slowly and are maintained by users, so they do not represent completed transactions.

B is incorrect: Operational transaction tables hold data that users enter and edit before posting, so their records remain changeable.

D is incorrect: Supplemental tables provide additional values that feed defaults into other records rather than storing application-generated posted results.

Learn more in Microsoft Learn

Q042 - Question

You implement a rental order as a document in Business Central, with a header table, a line table, and posted history tables. Which two design characteristics match the document table pattern? Each correct answer presents part of the solution.

Domain: Develop by using AL objects (35-40%) Type: Multiple choice

B and D are correct.

Explanation: Document tables are implemented as header and line pairs. The header is keyed by the document identifier, the line table repeats that identifier and adds Line No., and the document page presents the header fields together with a ListPart subpage for the lines. Posted document history tables mirror the same structure.

A is incorrect: An auto-incremented Entry No. as the sole primary key belongs to ledger tables that store posted transactional entries, so document lines could not be tied to their header.

C is incorrect: A Worksheet page filtered by template and batch belongs to journal tables that support primary transaction entry, not to document headers.

Learn more in Microsoft Learn

Q043 - Question

A small team develops a per-tenant extension for a single Business Central customer. Only one version is in production, and each change is a short piece of work that is merged into main when it is finished. Which branching strategy best fits this project?

Domain: Work with development tools (10-15%) Type: Single choice

A is correct.

Explanation: Feature branching suits single-tenant work, because each change is isolated in its own branch and merged into main when it is completed.

B is incorrect: Gitflow adds develop, feature, release, and hotfix branches with supporting automation, which is more structure than a single customer version needs.

C is incorrect: Release branching is intended for maintaining different versions of an extension at the same time, which does not apply when only one version is in production.

D is incorrect: Working without branches removes the isolation that lets developers work concurrently and that supports review before changes reach main.

Learn more in Microsoft Learn

Q044 - Question

You need to set up a repeatable local environment to install the Test Toolkit and run automated tests for a Business Central extension. The environment must be separate from the environment used for functional demonstrations. Which approach should you use?

Domain: Install, develop, and deploy for Business Central (10-15%) Type: Single choice

C is correct.

Explanation: Docker containers and BcContainerHelper can provide the testing infrastructure for Business Central test automation, delivering a repeatable environment that is separate from demonstrations.

A is incorrect: Automated tests require a Business Central environment that has the Test Toolkit installed, making a tool-only setup insufficient.

B is incorrect: Storing test code in the production extension does not provide the separate testing infrastructure that the team requires.

D is incorrect: Restoring a production database on workstations is not the documented method for setting up Business Central test automation infrastructure.

Learn more in Microsoft Learn

Q045 - Question

During a planning meeting, a project manager states that choosing Git as the version control system means the team is using GitHub. How should you correct this statement?

Domain: Work with development tools (10-15%) Type: Single choice

D is correct.

Explanation: GitHub is a commercial platform that is distinct from the underlying Git technology itself. Its capabilities overlap Azure DevOps in source control, continuous integration, project management, and package support.

A is incorrect: Git and GitHub are not the same; Git is the version control technology and GitHub is a commercial platform built around it.

B is incorrect: The roles are reversed; Git is the version control technology and GitHub is the commercial platform.

C is incorrect: GitHub features overlap Azure DevOps and include continuous integration (CI/CD) and project management, not only repository hosting.

Learn more in Microsoft Learn

Q046 - Question

Three developers work on the same remote branch that holds shared AL objects. One developer wants a linear history and proposes rebasing that shared remote branch onto main before the next release. What should you advise?

Domain: Work with development tools (10-15%) Type: Single choice

B is correct.

Explanation: Rebase replays commits onto a new parent and rewrites history, so it should be avoided on branches that are shared on the remote and that other users already based their work on.

A is incorrect: Replaying commits onto a new parent can produce conflicts that you must resolve during the rebase.

C is incorrect: Rebase replays all the commits of the branch onto the new parent, not only the latest commit.

D is incorrect: Rebase is a valid option for your own local branch work when you want a linear history; the restriction applies to shared branches.

Learn more in Microsoft Learn

Q047 - Question

A flow that creates Business Central records stopped working, and users report that no records are created. You must identify why the flow fails. What should you do first?

Domain: Integrate Business Central with other applications (10-15%) Type: Single choice

D is correct.

Explanation: Run details show the inputs, outputs, status codes, and error details for each action, which identifies causes such as authentication problems, action configuration errors, transient service issues, or quota and licensing limits.

A is incorrect: Rebuilding the flow from a template discards the current configuration without showing which action failed, so the same error can return.

B is incorrect: Changing the trigger type alters how the flow starts and does not report the error that caused the failed runs.

C is incorrect: Run history is the monitoring source you need for diagnosis, so removing it and waiting delays the investigation.

Learn more in Microsoft Learn

Q048 - Question

You plan to create a Power Automate flow that reads customer records from Business Central by using the Business Central connector. During design, which configuration must you supply so that the connector reads the correct data?

Domain: Integrate Business Central with other applications (10-15%) Type: Single choice

B is correct.

Explanation: The premium Business Central connector uses Business Central APIs through OData and requires environment and company selection before exposing tables and actions.

A is incorrect: The Business Central connector uses Business Central APIs through OData and does not require a Dataverse table mapping.

C is incorrect: Desktop flows support robotic process automation and are not required to configure the Business Central connector.

D is incorrect: The Business Central connector is available directly in Power Automate and does not require a canvas app to host it.

Learn more in Microsoft Learn

Q049 - Question

You plan to make Business Central customer data available in Microsoft Dataverse. The Business Central field names differ from the planned Dataverse column names. What should you do?

Domain: Integrate Business Central with other applications (10-15%) Type: Single choice

A is correct.

Explanation: The evidence states that you create Dataverse tables and connect them to Business Central sources. The integration setup supports mapping and transformation of table and field data to handle differences.

B is incorrect: The integration setup supports mapping, so renaming source fields in Business Central is not required.

C is incorrect: Dataverse tables are required to connect to Business Central sources for data synchronization.

D is incorrect: You must create Dataverse tables to connect to Business Central sources for data synchronization.

Learn more in Microsoft Learn

Q050 - Question

You need to use a Business Central REST API in both a canvas app and an automated workflow. No built-in connector covers the required API operations. What should you do?

Domain: Integrate Business Central with other applications (10-15%) Type: Single choice

C is correct.

Explanation: A custom connector is a wrapper around a REST API, and you create one when no built-in connector provides the functionality you need. After you define it, the same connector can be used in Power Apps and in Power Automate.

A is incorrect: You do not need one integration per service, because a single custom connector definition is usable across Power Apps and Power Automate.

B is incorrect: The documented integration method is a REST API wrapper, not a direct connection to Business Central tables.

D is incorrect: Custom connectors exist specifically to extend Power Platform where no built-in connector is available, so waiting is not required.

Learn more in Microsoft Learn

← Read the full MB-820 study guide