MB-500 · Dynamics 365 F&O Developer

MB-500 Cheat Sheet: X++ & AOT Quick Reference

Organized by what you're trying to build, not by exam domain — find the task, get the right framework or AOT element. Built for your final review pass.

Skills measured checked September 202614 min read

Most MB-500 cheat sheets are just the seven exam domains condensed into bullet lists. This one is organized around the task in front of you instead — "I need to add validation to a standard method," "I need Dataverse to see my data live" — because that's closer to how the real exam poses its scenarios. Every table traces back to Microsoft's official MB-500 study guide, checked September 2026. Pair it with our free MB-500 practice test to find what still needs work.

The Numbers You Need on Exam Day

Passing Score

700 / 1000

Exam Price

$165 USD (Associate/Expert rate)

Duration (no labs)

100 minutes

Prerequisite Exam

None (MB-300 retired 2024)

3+4. AOT & code

35–45%

5+6. Reporting & data

25–35%

7. Security & perf.

10–15%

1+2. Architecture & tools

10–20%

1. Extending & Customizing the AOT

TaskWhere you do itKey element / concept
Add a field to a standard table, survive future updatesVisual Studio → AOTTable extension (extension model)
Add custom logic to a method, keep the base behaviorClass extension in Visual StudioChain of Command (next())
React to an action with no method to wrap intoEvent handler classPre-/post-event handler + delegate
Add/extend a form, menu, or menu itemVisual Studio → AOT designersForm/menu extension
Add/extend a table, view, query, or mapVisual Studio → AOT designersData-model extension
Add reusable label textVisual Studio → Label filesLabel file
Add attributes/modifiers to control class behaviorClass declaration in X++Attribute classes

2. Business Logic, Automation & Testing

TaskWhere you do itKey element / concept
Run a business operation via dialog, batch, or backgroundSysOperation classes in X++SysOperation framework
Run that operation without blocking the clientExtend SysOperationServiceControllerReal async (SysOperation enhancement)
Route a multi-step, manager-approval business processWorkflow elements in Visual StudioWorkflow framework
Convert between object representations for serializationSysExtensionSerializer classesSysExtensionSerializer framework
Write a repeatable unit test for X++ logicSysTest classes / Task recorderSysTest framework, Test Explorer
Fix a compiler best-practice warningVisual Studio compiler outputBest-practice check resolution

Test what you just reviewed

Drill the Task Ledger With Real Questions

Scenario-based, tiered by difficulty, with explanations for every option. No credit card required.

Start Free Practice →

3. Reporting & Workspaces

TaskWhere you do itKey element / concept
Build a code-based tabular or document reportVisual Studio report projectSSRS
Build an interactive analytical dashboardPower BI Desktop / embeddedPower BI
Build a configuration-driven, regulator-changeable formatAOT → Electronic reporting configurationsElectronic reporting (ER)
Give users a spreadsheet-based view of live dataExcel add-in via ODataExcel-based reporting
Build a KPI tile or drill-through work centerVisual Studio workspace designerWorkspace + KPI element

4. Integration & Data Management

TaskWhere you do itKey element / concept
Consume an external REST or SOAP web serviceX++ service classesRESTful / SOAP consumption
Schedule batch integration with an external systemAOT → OData endpointsBatch OData API
Near-real-time, bidirectional Dataverse sync with clear ownership per fieldLCS → Dual-write configurationDual-write
Read-only live view of F&O data inside Dataverse, no duplicationDataverse virtual tablesVirtual entities
Notify external systems when something happensBusiness events catalogBusiness events
Store an integration secret or credential securelyAzure portalAzure Key Vault
Set up a recurring import/export data jobData management workspace → Data projectEntity sequencing, recurring data jobs
Sync only records changed since the last runData entity propertiesChange tracking

The most-tested distinction in this domain: Dual-write is bidirectional and near-real-time, with each system owning specific fields. Virtual entities are read-only and live, with no data duplicated in Dataverse. The Batch OData API is scheduled, not real-time, and typically talks to systems outside Dataverse.

5. Security & Performance

TaskWhere you do itKey element / concept
Restrict which menu items/actions a user can reachSecurity configuration in AOTDuties, roles, privileges, permissions
Restrict which data rows a user can see, independent of roleAOT → Security policiesExtensible Data Security (XDS) policy
Speed up repeated reads of static reference dataTable/EDT propertiesCaching, global cache, singleton
Speed up a bulk update on many rows at onceX++ codeSet-based statements (update_recordset, insert_recordset)
Avoid re-querying the same data repeatedly mid-transactionX++ codeTemporary tables
Diagnose a slow form or process under real production loadLCS / Visual StudioTrace Parser
Speed up a specific frequently-filtered queryTable designer in Visual StudioIndexes

6. DevOps & Environment Management

TaskWhere you do itKey element / concept
Manage code with pull-request-based reviewAzure DevOps repoGit
Manage code with centralized check-out (legacy pattern)Azure DevOps repoTFVC
Automate build, test, and deploymentAzure DevOps pipelinesCI/CD pipeline
Monitor, tune, and deploy packages across environmentsLifecycle Services (LCS)LCS tools, Issue Search, asset library
Provision a modern cloud-hosted developer environmentPower Platform admin centerUnified Developer Experience (UDE)
Manage implementation-project environments and artifactsImplementation portalImplementation portal

7. If the Question Says X, Think Y

MB-500 scenario questions signal the intended framework through specific phrases. This table maps the exam's language to the concept it's actually pointing at — useful when two answer choices both sound plausible.

If the question says…Think…
"without breaking existing customizations after an update"Extension model, not overlayering
"needs the base method's return value" or "call the original logic"Chain of Command, not an event handler
"requires sequential manager approval"Workflow framework, not SysOperation
"shouldn't block the client" or "start several at once"Real async / SysOperationServiceController
"format changes periodically without a code recompile"Electronic reporting (ER), not SSRS
"read-only, no duplicated data in Dataverse"Virtual entities, not dual-write
"bidirectional, clear data ownership per field"Dual-write, not virtual entities
"identical roles, but should see different data rows"XDS policy, not a new role or privilege
"updates millions of rows one at a time, too slow"Set-based statements, not more batch threads
"slow only under real production load"Trace Parser, not a unit test
"other companies' extensions already call this method"New overload, not a signature change

8. X++ & AOT Acronym Glossary

AOT — Application Object Tree

ALM — Application Lifecycle Management

LCS — Lifecycle Services

UDE — Unified Developer Experience

CoC — Chain of Command

XDS — Extensible Data Security

CRUD — Create, Read, Update, Delete

SSRS — SQL Server Reporting Services

ER — Electronic reporting

KPI — Key Performance Indicator

TFVC — Team Foundation Version Control

CI/CD — Continuous Integration / Continuous Delivery

CIL — Common Intermediate Language (what X++ compiles to)

SOAP — Simple Object Access Protocol

Reviewed every table? Prove it.

Take the free MB-500 readiness quiz — no signup required — or dive into 40 free practice questions covering X++, the AOT, and Dataverse integration.

Cheat Sheet FAQ

Is this cheat sheet enough to pass MB-500 on its own?

No — treat it as a final-review memory aid after working through the official study guide and scenario practice questions. MB-500 tests architectural judgment about which framework fits a scenario, not just recall of a framework's name.

Why is this organized by task instead of by exam domain?

MB-500's scenario questions describe something a developer is trying to accomplish, not a domain name. Organizing by task mirrors that framing more directly than a domain-by-domain list does.

What is the passing score for MB-500?

700 out of 1000, per Microsoft's official MB-500 study guide (checked September 2026), scaled across all seven domains rather than a flat percentage of raw questions.

Do I still need to know the seven domain names and weightings?

Yes — the task ledger above maps to them, it doesn't replace them. See the MB-500 study guide for the full domain-by-domain breakdown and a weighted study plan.

About This Cheat Sheet

Maintained by the MSCertQuiz team, who also build the 500-question MB-500 practice bank referenced above. Every table traces back to Microsoft's official MB-500 study guide and current finance and operations apps documentation, checked September 2026, rather than a static list carried over from an older certification.