Cheat sheet and overview for MB-820 Exam: Microsoft Dynamics 365 Business Central Developer certificate

Guidelines for Partners

As you probably have heard, Microsoft has launched long-awaited certificates (MB-820 exam) for Microsoft Dynamics 365 Business Central developers. In order to achieve the certificate, you have to have knowledge in designing, developing, testing, and maintaining solutions based on Dynamics 365 Business Central.

The exam consists of 6 main parts:

1. Describe Business Central (10-15%)
2. Install, develop, and deploy for BC (10-15%)
3. Develop by using AL objects (35-40%)
4. Develop by using AL (15-20%)
5. Work with development tools (10-15%)
6. Integrate BC with other applications (10-15%)

Below in the article, I will review each of these parts by topics and provide learning material with official “Microsoft Learn” links.

Registering for the MB-820 Exam

If you would like to schedule an exam, go to the page.

Select your country and click on “Schedule exam”. You will be redirected to the Microsoft Certifications page. You will have to use your Microsoft account to log in, and if you are logging in for the first time, there will be some pages with personal information to fill in to create your Microsoft Certification Identification Number (MCID). Once MCID is generated, you can click on “Schedule Exam” one more time, and you will be redirected to the interactive setup wizard, just fill in all required information and click on next. You will be able to go back in that wizard if you would like to edit information and fix discrepancies.

Before the exam, I suggest reading the Exam overview and learning material with official „Microsoft Learn“ links using learning points.

1. Describe Business Central (10–15%)

1.1 Describe the BC architecture

Describe the components and capabilities of Business Central https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/deployment/product-and-architecture-overview
Describe the core solution and extensions approach for Business Central https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-dev-overview
Describe the update lifecycle for customizations of Business Central https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-customization-update-lifecycle
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/tenant-admin-center-manage-apps
Differentiate Business Central Online and Business Central on-premises features https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/features-not-implemented-on-premises
https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/get-started/cloud-prem-comparison

 

1.2 Describe Business Central apps

Differentiate and describe the functionality of apps between the base app and the system app https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/deployment/app-components?wt.mc_id=DX-MVP-5003099
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-system-application-overview?wt.mc_id=DX-MVP-5003099
Describe the process of bringing an app to AppSource https://learn.microsoft.com/en-us/training/modules/bring-app-appsource/
https://learn.microsoft.com/en-us/power-platform/developer/appsource/publish-app
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-checklist-submission
https://community.dynamics.com/blogs/post/?postid=b38bf8bf-d7d0-4a36-9c92-714dcce8716b

 

2. Install, develop, and deploy for BC (10–15%)

2.1 Install and configure a BC development environment

Describe the development environment for BC https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-dev-overview
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-reference-overview
Install and configure the development environment https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-get-started
Manage JSON configuration files https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-json-files
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-json-launch-file
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-rad-publishing
Manage multiple AL extensions in one workspace https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-multiroot-workspaces

 

2.2 Create, debug, and deploy an extension in BC

Debug an extension with Visual Studio Code https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-debugging
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-attach-debug-next
Deploy an extension https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-how-publish-and-install-an-extension-v2
https://learn.microsoft.com/en-us/training/modules/introduction-development-process/
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-deploy-tenant-customization
Create or modify a BC extension in Visual Studio Code https://learn.microsoft.com/en-us/training/modules/introduction-development-process/
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-extension-example
Manage multilanguage development https://learn.microsoft.com/en-us/training/modules/manage-multilanguage-development/
Maintain extensions https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/app-maintain
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-app-life-cycle

 

3. Develop by using AL objects (35–40%)

3.1 Build and extend tables and pages in BC

Develop Role Center pages https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-designing-role-centers
Identify different page types https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-page-types-and-layouts
Build and extend page objects https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-page-ext-object
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-page-object
https://learn.microsoft.com/en-us/training/modules/extend-tables-page-objects/
Build and extend tables https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-table-ext-object
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-table-object
https://learn.microsoft.com/en-us/training/modules/extend-tables-page-objects/
Build and extend enums https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-extensible-enums

 

3.2 Build and extend reports

Build reports https://learn.microsoft.com/en-us/training/paths/build-reports/
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-reports
Substitute a report https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-substituting-reports
Create a report layout https://learn.microsoft.com/en-us/dynamics365/business-central/ui-manage-report-layouts
Create document reports https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-report-object
Design the data model of a report https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-report-dataset
Implement multilanguage in reports https://learn.microsoft.com/en-us/training/modules/implement-multilanguage-reports/
Use report triggers, functions, and processing-only reports https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-report-triggers?tabs=current%2Crdlc
https://learn.microsoft.com/en-us/training/modules/understand-report-triggers-functions/
Develop the report request page https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-request-pages-for-reports

 

3.3 Design and create an XMLport

Work with XMLports https://learn.microsoft.com/en-us/training/modules/work-with-xmlports/
Configure different XMLport properties https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/properties/devenv-xmlport-properties
Define nodes and their properties https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-xmlport-schema
Use XMLports in AL code https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-xmlport-object

 

3.4 Develop codeunits

Work with codeunits https://learn.microsoft.com/en-us/training/modules/work-with-codeunits/
Create and access codeunits https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-codeunit-object
Use events and triggers https://learn.microsoft.com/en-us/training/modules/events-triggers/
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-events-in-al
Implement interfaces https://learn.microsoft.com/en-us/training/modules/business-central-interfaces/
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-interfaces-in-al
Create installation and upgrade codeunits https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-extension-install-code

 

3.5 Work with entitlement and permission set objects

https://learn.microsoft.com/en-us/training/modules/work-entitlements-permission-sets/
Create and extend permission sets https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-permissionset-object
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-permissionset-ext-object
Override entitlements with inherent permissions https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-entitlement-object
Troubleshoot permission sets https://learn.microsoft.com/en-us/dynamics365/business-central/ui-define-granular-permissions#to-get-an-overview-of-a-users-permissions

 

3.6 Create queries in BC

https://learn.microsoft.com/en-us/training/modules/work-with-queries/
Link and join data items https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-query-links-joins
Apply filters in query objects https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-query-filters
Use queries instead of record variables https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-query-using-instead-record-variables
Aggregate data in query objects https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-query-totals-grouping
Use a query to create a report https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-report-dataset 
(Using a Query in a dataset definition)

 

4. Develop by using AL (15–20%)

4.1 Customize the UI experience and implement onboarding techniques

Create profiles in AL https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-design-profiles
Use and create views in AL https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-views
Develop the UI by using the user assistance model https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/user-assistance
Integrate assisted setup https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-designing-navigate-pages
https://learn.microsoft.com/en-us/training/modules/build-assisted-setup/
Create teaching tips and in-app tours to onboard users https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/onboarding-teaching-tips-tours
Create an onboarding checklist https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/onboarding-checklist

 

4.2 Describe the essential development standards

https://learn.microsoft.com/en-us/training/paths/essential-development-standards/
Implement the data process model in BC https://learn.microsoft.com/en-us/training/modules/implement-data-process-model-business-central/
Define the different functional table types and characteristics https://learn.microsoft.com/en-us/training/modules/identify-table-types/
Use document standards in BC https://learn.microsoft.com/en-us/training/modules/use-document-standards-business-central/
Implement master data standards and design patterns https://learn.microsoft.com/en-us/training/modules/work-with-master-data-business-central/

 

4.3 Use AL to extend BC

Create custom procedures https://learn.microsoft.com/en-us/training/modules/create-custom-functions/
Differentiate data types https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/methods-auto/library
Manage files https://learn.microsoft.com/en-us/training/modules/introduction-basics-file-management/
Manipulate data by using code https://learn.microsoft.com/en-us/training/modules/manipulate-data-via-code/
Describe the basics of the AL https://learn.microsoft.com/en-us/training/modules/intro-basics-al-programming/
Use the different types of expressions https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-al-simple-statements
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-al-simple-statements
Work with AL built-in functions and AL statements https://learn.microsoft.com/en-us/training/modules/al-built-in-functions/
Work with variables and define them in AL code https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-al-simple-statements
https://learn.microsoft.com/is-is/training/modules/intro-basics-al-programming/
Manage errors https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-al-error-handling
Use access modifiers to limit access https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-using-access-modifiers

 

5. Work with development tools (10–15%)

5.1 Implement semi-automated test processes and run standard BC tests

https://learn.microsoft.com/en-us/training/modules/introduction-test-automation/
Test applications in BC https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-testing-application
Install and run the Test Toolkit https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-extension-advanced-example-test
Develop test codeunits and procedures https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-test-codeunits-and-test-methods

 

5.2 Manage and analyze telemetry

Monitor and analyze telemetry https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/telemetry-overview
Configure telemetry https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/telemetry-enable-application-insights
Create custom telemetry signals https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-instrument-application-for-telemetry-app-insights

 

6. Integrate BC with other applications (10–15%)

6.1 Access REST services from within BC

Use the different HTTP classes and their functions https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-httpclient
Get data from and send data to an external REST service https://learn.microsoft.com/en-us/training/modules/access-rest-services/
Use and read JSON https://community.dynamics.com/blogs/post/?postid=340bd1db-2a2c-41c7-a20f-060448f64649

 

6.2 Implement APIs

Create and work with APIs https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/api-reference/v2.0/enabling-apis-for-dynamics-nav
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/api-reference/v2.0/endpoints-apis-for-dynamics
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-develop-custom-api
Manage UI interaction when working with web services https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/webservices/handling-ui-interaction-when-working-with-web-services
Use Read-Scale Out to improve performance https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/database-read-scale-out-overview

 

Conclusion

Official GitHub repo for MB-820 certificate practicing you can find here: MicrosoftLearning/MB-820-Business-Central-Developer-Certification

 

All things considered, the MB-820 certificate is designed for mid to senior AL developers. The exam lasts for 2 hours. Exam questions consist of a couple of case studies, single and multiple choice selections, moving given code blocks in a correct order, and selecting various options in code to make it work correctly.

Hope this article helps, and good luck on your exam!