MB-820

MB-820 Cheat Sheet: Business Central AL Quick Reference

AL object types, event patterns, telemetry, and API/OData condensed into reference tables. Bookmark this for the final days before your exam.

Objectives as of June 10, 202512 min read

This is a table-first reference for MB-820 (Dynamics 365 Business Central Developer Associate) — minimal prose, maximum lookup speed. It assumes you've already studied the AL language and are reviewing before exam day, not learning the concepts for the first time. For the reasoning behind each domain's weighting, see the full MB-820 study guide.

Exam Snapshot

Passing Score

700 / 1000

Renewal

Every 12 months (free)

Level

Associate (Intermediate)

Price, duration, and question count aren't published on MB-820's own page — confirm at registration. Domain weights below are exact, per Microsoft's official study guide.

DomainWeight
1. Describe Business Central10-15%
2. Install, develop, and deploy10-15%
3. Develop by using AL objects35-40%
4. Develop by using AL15-20%
5. Work with development tools10-15%
6. Integrate with other applications10-15%

1. Describe Business Central

TermWhat it means
Base appMicrosoft's W1 standard business logic app that ships with Business Central.
System appPlatform-level app providing security, telemetry, and infrastructure objects underneath the base app.
ExtensionA packaged AL app that adds to or modifies base app behavior without changing its source.
AppSourceMicrosoft's marketplace for publishing certified Business Central extensions publicly.
Online vs on-premisesOnline is Microsoft-hosted SaaS with automatic updates; on-premises is customer-hosted with manual upgrade control.

2. Install, Develop, and Deploy

ItemPurpose
app.jsonDeclares an AL project's dependencies, ID, version, and target Business Central platform.
launch.jsonConfigures Visual Studio Code's connection to a Business Central environment for debug/publish.
.alpackagesLocal cache of compiled dependency symbols an extension references.
Multi-root workspaceVS Code workspace managing several AL extensions (e.g., base + per-country) together.
DebuggingAttach the AL debugger in VS Code to step through running extension code in a sandbox.
Multilanguage (.xlf) filesTranslation files generated per extension for captions and labels.

Reviewed this far? Test it.

Drill These Objects With Scenario Questions

Scenario-based, not trivia recall. No credit card required.

Start Free Practice →

3. Develop by Using AL Objects (35-40% — the largest domain)

Object typeUse it for
Table / table extensionDefine or extend data structure; the base object nearly every extension touches.
Page / page extensionDefine or extend UI, including Role Center pages, list pages, and card pages.
ReportDefine or substitute a document/processing report, including layout and request page.
XMLportImport/export structured data with configurable nodes and properties.
CodeunitContainer for business logic, event subscribers, interfaces, and install/upgrade code.
QueryJoin, filter, and aggregate data across tables — often faster than iterating record variables.
Enum / enum extensionDefine a fixed set of named values; extensible so other apps can add options.
Permission setGrant object-level access; permission set extensions add to an existing set.
EntitlementMaps licensed access to permission sets, distinct from inherent (built-in) permissions.

4. Develop by Using AL

ConceptNotes
Access modifierslocal / internal / protected / public — control what other objects and extensions can call.
ProfilesDefine a role-tailored UI experience (which pages a user role sees by default).
ViewsSave filtered/sorted variations of a page for users to switch between.
Assisted setupGuided wizard framework a developer can register a new setup step into.
Teaching tips / in-app toursOnboarding UI hints defined in AL to walk new users through a feature.
Onboarding checklistStructured task list shown to new users/roles at first sign-in.
Document standardsConsistent header/line patterns expected of document-style tables and pages (orders, invoices).
Master data standardsDesign conventions for reusable entities like customers, vendors, and items.

5. Work with Development Tools

Tool / conceptPurpose
Test ToolkitStandard framework for installing and running automated Business Central tests.
Test codeunitCodeunit containing test procedures and handler functions exercising extension logic.
TelemetryDiagnostic events emitted to Application Insights for monitoring extension health.
Custom telemetry signalDeveloper-defined event logged from AL code to track a specific business or performance condition.

6. Integrate with Other Applications

ConceptNotes
HTTP classesAL's HttpClient/HttpRequestMessage/HttpResponseMessage types for calling REST services.
JSON handlingAL's JsonObject/JsonToken/JsonArray types for reading and writing JSON payloads.
API pagesPage objects exposed as OData/REST endpoints for external systems.
Bound vs. unbound OData actionsBound actions operate on a specific record; unbound actions are entity-independent.
Read Scale-OutRoutes read-only API/report traffic to a replica to reduce load on the primary database.

7. If the Question Says X, Think Y

Scenario phrasePoints to
"React when another extension inserts a record"Event subscriber on a publisher event, not modifying the base object directly.
"Run setup code once when the extension is installed"Install codeunit.
"Migrate data when a new extension version is published"Upgrade codeunit.
"Only allow read-only access to a field from another extension"Access modifier / interface exposing a getter, not a public field.
"Import/export a fixed structured file format"XMLport, not a report or query.
"Join and aggregate data from multiple tables for a report"Query object feeding the report's data item.
"Track a custom business event for monitoring, without a UI"Custom telemetry signal, not a page or report.
"Let an external system pull data without hitting the primary DB"Read Scale-Out.

8. Acronym & Term Quick List

AL — Application Language (Business Central's extension language)

ALM — Application Lifecycle Management

SCM — Source Control Management

CI/CD — Continuous Integration / Continuous Delivery

OData — Open Data Protocol (API query format)

REST — Representational State Transfer

JSON — JavaScript Object Notation

XMLport — AL object for structured import/export

W1 — Microsoft's base worldwide app version

GA — General Availability (vs. Preview features)

Reviewed the tables? Now prove it under pressure.

Take the free MB-820 readiness quiz, or jump into scenario-based practice questions calibrated against the real domain weights.

Common Questions

Is a cheat sheet enough to pass MB-820?

No. This is a final-review memory aid for someone who has already worked through the AL language and written extensions. MB-820 questions are scenario-based — you need to recognize which object or pattern a described requirement calls for, not just recall a definition.

What is the difference between an install codeunit and an upgrade codeunit?

An install codeunit runs once when an extension is first installed in an environment. An upgrade codeunit runs when a new version of an already-installed extension is published, typically to migrate or reshape existing data to match schema changes.

What is the difference between a bound and unbound OData action?

A bound action operates on a specific entity instance (for example, posting a specific sales order). An unbound action is independent of any single record — it's called directly against the service without targeting an entity instance first.

What is the passing score for MB-820?

700 out of 1000, per Microsoft's official MB-820 study guide — the same scaled threshold used across most Microsoft role-based exams.

About MSCertQuiz

MSCertQuiz sells a scenario-based MB-820 practice bank; this cheat sheet was compiled by the same team, grounded against Microsoft's official MB-820 study guide rather than generic AL tutorials.