One of the most challenging tasks for any AL developer is to understand all the application code written by Microsoft, locating it can be a challenge in itself. In this video, I show what I do to have easy access to all the AL code written by Microsoft. Check out the video:

In this video, Erik shows a practical technique for gaining access to all of Microsoft’s AL source code for Business Central. The key insight is that if you’re using Docker with BcContainerHelper, you already have all the source code sitting on your machine — you just need to know where to find it and how to make it searchable.
The Problem: Poor Documentation
The reality of working with Business Central is that the platform is not very well documented. If you want to know what a specific field does — where it’s used, what logic depends on it, where data flows — there’s no single reference you can consult. The only reliable approach is to dive into Microsoft’s source code.
This used to be straightforward when everything interesting happened in the Base Application (BAP). Nowadays, much of the new functionality lives in separate apps, making it significantly harder to get a full picture of what’s going on. Searching across multiple apps has become a real challenge.
Where to Find the Source Code
If you’re using Docker and BcContainerHelper, you already have what you need. The artifacts are cached on your system in a folder structure like:
C:\bcartifacts.cache\
Inside this folder, you’ll find two groups: onprem and sandbox. It doesn’t matter which you choose — both contain the source code. For each version you’ve built, BcContainerHelper downloads what are known as artifacts — all the files needed to build a working Docker container.
Navigating into a specific version (for example, version 26), you’ll find two folders:
- Country — country-specific localizations
- Platform — the core platform files
Inside the platform folder, under Applications, you’ll find all the apps that Microsoft ships as part of the product: Base Application, Business Foundation, System App, Company Hub, Recommended Apps, Power BI Reports, Intrastat, and more.
Each app folder contains two subfolders:
- Source — contains a zip file with the AL source code and the .app file
- Test — contains zip files with test source code and test app files
The Technique: Consolidate and Search
Here’s Erik’s step-by-step process for making all of this source code searchable in one place:
Step 1: Collect All Zip Files
Navigate to the Applications folder for your desired version, then use the search function to find all zip files:
Search for: *.zip
This returns all the source code zip files from every app, even though they’re scattered across different subfolders.
Step 2: Copy to a Single Folder
Select all the zip files, copy them (Ctrl+C), and paste them into a new folder — for example:
C:\temp\BC26-source\
The key trick is getting all those zip files from their separate app folders into one single location.
Step 3: Extract Everything
Using a tool like 7-Zip, extract all the zip files at once. Right-click, choose 7-Zip → Extract files, and set the path mode to Full path name. This creates a separate subfolder for each app’s source code. There’s a lot of source code — Microsoft does a tremendous amount of work — but the extraction only takes a couple of minutes.
Step 4: Open in Visual Studio Code
Open Visual Studio Code and use File → Open Folder to open your newly created source folder. You can optionally clean up by deleting the zip files to keep things tidy.
Step 5: Search Across Everything
Now you have the full power of VS Code’s search at your disposal. Use the search panel (Ctrl+Shift+F) to search across all of Microsoft’s AL source code at once. For example, searching for:
"Credit Limit (LCY)"
This reveals everywhere that field is referenced — across Base App, Business Foundation, and any other app that touches it. You can see event subscribers in other apps, assignments, validations, and more.
To filter out noise from translation files, restrict your search to AL files only by adding a file filter:
Files to include: *.al
This lets you focus on actual code rather than translation entries.
Practical Examples
Erik demonstrates several search patterns that are useful for understanding how Microsoft uses a field:
- Simple field name search — Find all references to a field across all apps
- Assignment search — Search for
"Credit Limit" :=to find where a field is being set - Validate search — Search for
Validate("Credit Limit"to see if and where the field is validated (in this case, Erik discovered that Credit Limit is only assigned directly and never validated — an interesting finding in itself)
Keeping Up with New Versions
Whenever Microsoft releases a new version of Business Central, Erik creates a new source folder following the same process. This makes it easy to compare how things have changed between versions and ensures you’re always searching current code.
While there are other tools and services that provide similar functionality (some of which cost money, and some of which are simply too slow), Erik prefers the speed and power of searching locally on his own machine. Nothing beats the responsiveness of a local full-text search across the entire codebase.
Summary
This is a quick but powerful technique for any Business Central developer. By extracting and consolidating Microsoft’s AL source code from the BcContainerHelper artifact cache, you can search the entire Business Central codebase in seconds using VS Code. This is invaluable when you need to understand how a field is used, where events are raised, or whether Microsoft has adopted a particular pattern or feature. If you’re not already doing this, it’s worth the few minutes of setup — it will save you hours of guesswork.