A map of a family of Microsoft Dynamics 365 Business Central products, built every night straight
from their AL source code and API contracts. It shows where the apps meet: whether they can be installed side by
side, which standard tables, codeunits and events several of them depend on, which features have no tests, and how
much of an API contract is implemented.
Why it exists
Partners who sell several apps meet the same problems at the customer. Two per-tenant extensions that share an
object ID cannot be installed together, and apps that hook into the same posting routines affect each other in
ways no single repository shows. This page checks all the apps at once.
How it is made
bc-knowledge-graph reads each repository: object declarations, table fields, event subscriptions, API pages,
feature documents, test plans and OpenAPI/AsyncAPI contracts. It links them into one graph. Nothing is compiled,
deployed or run, and no Business Central environment is needed.
Use it on your own apps
The tool is open source. Point it at your repositories to get this page for your apps, ask Claude about them
in plain language through its MCP server, or explore the graph in Neo4j.
Get started on GitHub.
Updated 2026-10-03 15:39 UTC from public repositories on GitHub. Overlap is counted between products. Download the graph (JSON, for bckg ask and bckg mcp).
5products
5apps
997own objects
146standard objects touched
29 / 40features tested
481test procedures
How to read this page
✓ none found A check passed: nothing that would stop the apps from working together.
3 found A check found something to fix or review; the rows below say what.
12 Not a problem in itself: places where products meet, worth testing together.
The products
What the graph was built from. Each app owns its own object ID range; its tests are counted with it.
CRM
Native CRM in Business Central - record ownership and teams, an activity timeline, opportunities, a guided sales process, a product catalog and pricing, with no Dataverse.
Headless commerce on Business Central - a storefront and domain services, an Azure integration layer and an AL connector, joined by versioned OpenAPI and AsyncAPI contracts.
A construction vertical on standard Business Central Projects - estimating, cost control, scheduling, progress billing, retention, subcontracts and plant.
CRM USES Construction Management USES Warehouse Advanced USES
Codeunit
Config. Package Management
3
CRM USES Construction Management USES Warehouse Advanced USES
Table
Config. Package Table
3
CRM USES Construction Management USES Warehouse Advanced USES
Codeunit
Guided Experience
3
CRM SUBSCRIBES_TO, USES Construction Management USES Warehouse Advanced USES
Codeunit
MCP Config
3
CRM USES Construction Management USES Warehouse Advanced USES
Table
Sales Line
3
CRM USES Commerce USES Construction Management USES
Show the other 19 rows
type
object
products
by product
Enum
Assisted Setup Group
2
Construction Management USES Warehouse Advanced USES
Table
Config. Package Field
2
CRM USES Construction Management USES
Table
Customer
2
CRM EXTENDS, SUBSCRIBES_TO, USES Construction Management USES
Codeunit
Effective Permissions Mgt.
2
CRM USES Construction Management USES
Table
Expanded Permission
2
CRM USES Construction Management USES
Enum
Guided Experience Type
2
Construction Management USES Warehouse Advanced USES
Table
Item Category
2
CRM USES Commerce SUBSCRIBES_TO, USES
Codeunit
Item Jnl.-Post Line
2
CRM USES Warehouse Advanced USES
Table
Item Journal Line
2
CRM USES Warehouse Advanced USES
Codeunit
No. Series
2
Construction Management USES Warehouse Advanced USES
Table
No. Series
2
Construction Management USES Warehouse Advanced USES
Table
No. Series Line
2
Construction Management USES Warehouse Advanced USES
Table
Permission Buffer
2
CRM USES Construction Management USES
Table
Purchase Header
2
Construction Management EXTENDS, USES Invoice Forge EXTENDS, USES
Table
Purchase Line
2
Construction Management USES Invoice Forge USES
Table
Resource
2
CRM EXTENDS, USES Construction Management USES
Table
Sales Invoice Header
2
CRM EXTENDS, USES Construction Management EXTENDS, SUBSCRIBES_TO, USES
Codeunit
Sales-Post
2
CRM SUBSCRIBES_TO Invoice Forge USES
Enum
Video Category
2
Construction Management USES Warehouse Advanced USES
Events with subscribers in several products 1
Which events do subscribers in more than one product react to?
Subscriber order is not guaranteed, so each subscriber must work whatever the others did before it.
publisher
event
field
products
subscribers
Application Area Mgmt. Facade
OnGetEssentialExperienceAppAreas
CRMConstruction ManagementWarehouse Advanced
CONS App Area Subscriber.SetConstructionAppAreasOnGetEssentialExperienceAppAreas NBC App Area Subscriber.SetAppAreasOnGetEssentialExperienceAppAreas WHA Count App Area Sub..SetAppAreasOnGetEssentialExperienceAppAreas WHA Dock App Area Sub..SetAppAreasOnGetEssentialExperienceAppAreas WHA HU App Area Sub..SetAppAreasOnGetEssentialExperienceAppAreas11 moreWHA Int. App Area Sub..SetAppAreasOnGetEssentialExperienceAppAreas WHA KPI App Area Sub..SetAppAreasOnGetEssentialExperienceAppAreas WHA Lab. App Area Sub..SetAppAreasOnGetEssentialExperienceAppAreas WHA Label App Area Sub..SetAppAreasOnGetEssentialExperienceAppAreas WHA Pack App Area Sub..SetAppAreasOnGetEssentialExperienceAppAreas WHA QC App Area Sub..SetAppAreasOnGetEssentialExperienceAppAreas WHA RF App Area Sub..SetAppAreasOnGetEssentialExperienceAppAreas WHA Repl. App Area Sub..SetAppAreasOnGetEssentialExperienceAppAreas WHA Slot. App Area Sub..SetAppAreasOnGetEssentialExperienceAppAreas WHA Task App Area Sub..SetAppAreasOnGetEssentialExperienceAppAreas WHA Wave App Area Sub..SetAppAreasOnGetEssentialExperienceAppAreas
Features without tests 11 found
Which features does nothing test?
No test procedure is named in the feature's test plan and no test codeunit uses any of its objects.
app
feature
name
linked objects
CRM
FEAT-ACT-001
ActivitiesAndTimeline
0
CRM
FEAT-API-001
ApiAndMcp
10
CRM
FEAT-BPF-001
BusinessProcessFlow
0
CRM
FEAT-MCP-001
MCPServer
2
CRM
FEAT-OPP-001
OpportunityDepth
0
CRM
FEAT-OWN-001
OwnershipAndTeams
0
CRM
FEAT-PTY-001
PartyEnrichment
0
Commerce Connector
FEAT-001
CommerceFoundations
9
Construction Management
FEAT-MCP-001
MCPServer
13
Construction Management
FEAT-RC-001
RoleCenter
0
Construction Management
FEAT-WBS-001
CostBreakdownStructure
13
Contract coverage 11 found
Which contract operations does no AL object serve, and which channels does nothing in BC emit?
The work left to connect the contract to Business Central.
contract
kind
name
detail
erp-commerce@1.0.0
operation
checkAvailability
POST /availability/check
erp-commerce@1.0.0
operation
getCatalogueHashes
GET /catalogue/reconciliation
erp-commerce@1.0.0
operation
getCatalogueItemsDelta
GET /catalogue/items
erp-commerce@1.0.0
operation
getCategoryTree
GET /catalogue/categories
erp-commerce@1.0.0
operation
getCreditStanding
GET /customers/{customerId}/credit
erp-commerce@1.0.0
operation
getListPricesDelta
GET /catalogue/prices
erp-commerce@1.0.0
operation
resolvePrices
POST /pricing/resolve
erp-commerce@1.0.0
operation
submitOrder
POST /orders
erp-events@1.0.0
channel
catalogue.price.changed
erp-events@1.0.0
channel
inventory.stock.changed
erp-events@1.0.0
channel
sales.order.statusChanged
Contract pins 2
Is every repository built against the current contract version?
A pinned version that differs from the contract repository's version is drift.
repo
pinned
contract
current
drift
commerce-integration
1.0.0
erp-commerce
1.0.0
no
commerce-integration
1.0.0
erp-events
1.0.0
no
Questions with a parameter
These need an input, so they are not on this page. Ask them with bckg ask or through the MCP server.
question
ask
parameter
feature_trace
What implements a feature, what tests it, and what does it touch?
feature: feature code, for example FEAT-WGT-001
contract_impact
What does a change to one contract property touch?
property: Schema.property, for example Category.parentId
Want this for your own apps?
If you build or sell several Business Central apps, the same questions apply to you: can they be installed for
the same customer, where do they touch the same standard objects and events, and which features are untested.
The tool is free and open source, so you can run it on your own repositories today. If you would rather have
someone check your apps before a customer installs them together, or keep a graph like this one current for your
team, get in touch.