Resources

BC Model Accelerator

Auto-generated SQL views with surrogate keys for every BC table relationship. Multi-company by default.

Business Central Model Accelerator

BC2Fab mirrors your BC data reliably to Fabric — but raw BC data isn't analytics-ready yet. The Model Accelerator auto-generates SQL views with surrogate keys for every BC table relationship. Multi-company by default.

⚙️ Surrogate Keys 🤖 Agent Ready 🏢 Multi-Company

BC's Data Model Wasn't Designed for Analytics

Common challenges when building reports directly on mirrored BC data.

🔑

Composite Primary Keys

Highly relevant BC tables like Sales Line use compound keys. In multi-company models every relationship is composite.

🔗

Conditional Foreign Keys

Fields like No. on Sales Line point to Item, Resource, or G/L Account depending on Type — no single join path.

⚙️

Manual Modeling Overhead

Many projects start with writing CONCAT or Power Query concatenations for dozens of key and FK fields.

🤖

AI Agents Can't Navigate

Copilots and agents need explicit, joinable ID columns with consistent naming to traverse tables autonomously.

The Next Step — Business Central Model Accelerator

Auto-generated SQL views with surrogate keys for every BC table relationship. Multi-company by default.

Closing the gap from raw mirrored data to analytics-ready models.

Three-Step Pipeline

How the Model Accelerator transforms raw mirrored data into an analytics-ready silver layer.

🗄️
1 Landing Zone
bc schema — raw mirrored BC tables via Open Mirroring
⚙️
2 Metadata Engine
Reads BC key & relation metadata, generates surrogate key logic per table
👁️
3 Silver Views
bc_silver schema — all original columns plus generated ID columns. Clear BC names preserved: Sales Line, Discount %, No_ (no _ substitutions).
CREATE OR ALTER VIEW — idempotent
Deterministic, stable IDs
Conditional FKs via CASE WHEN

Sales Line → Item & Resource

One example of many: Sales Line gets Item ID (No.) and Resource ID (No.) based on Line Type. IDs include the company prefix (e.g. CRONUS|) for multi-company support. Same pattern for G/L Accounts, Fixed Assets, etc.

Power BI model view showing Item, Sales Line, and Resource with generated surrogate key relationships

Power BI model view — Item ID (PK) → Item ID (No.) and Resource ID (PK) → Resource ID (No.) as single-column relationships, Direct Lake compatible.

bc_silver — generated ID columns
ItemItem ID (PK)PKCRONUS|ITEM-X100
ResourceResource ID (PK)PKCRONUS|RES-50
Sales LineSales Line ID (PK)PKCRONUS|Order|1001|10000
Sales LineItem ID (No.)FKCRONUS|ITEM-X100 (Type = Item)
Sales LineResource ID (No.)FKCRONUS|RES-50 (Type = Resource)

Agents Can Navigate the Data Autonomously

Consistent ID column naming across all views lets an agent scan for columns containing Customer ID to find every referencing table.

🤖 "Give me a 360° view of customer C-20000"
Agent scans bc_silver for columns containing Customer ID →
Sales HeaderCustomer ID (Sell-to Customer No.)
Sales LineCustomer ID (Sell-to Customer No.)
Sales Invoice HeaderCustomer ID (Sell-to Customer No.)
Cust. Ledger EntryCustomer ID (Customer No.)
Service HeaderCustomer ID (Customer No.)
Custom Warranty ClaimscustomCustomer ID (Customer No.)
Custom Loyalty PointscustomCustomer ID (Member No.)

Clear BC names preserved (e.g. Discount %, not Discount_Pct). Consistent ID columns make autonomous discovery trivial.

An Analytics-Optimized Silver Layer

What the Model Accelerator delivers for your Power BI reports and AI agents.

👁️

Power BI Ready

Single-column surrogate IDs for all table relationships. Direct Lake compatible. No DAX workarounds.

🤖

AI & Agent Ready

Consistent ID naming lets agents discover and traverse table relationships — including custom tables.

⚙️

Zero Maintenance

Views automatically adjust when schemas in BC change. No manual intervention required.

Standard + custom tables
Composite keys resolved
Conditional FKs handled

How to Create the Silver Layer

Generate all bc_silver views in three steps directly from the BC2Fab workload.

🧩
1 Open BC2Fab Workload
Navigate to the BC2Fab workload in your Microsoft Fabric workspace.
2 Generate Silver Layers
On the Ribbon, under Premium, click Generate Silver Layers. The Metadata Engine reads your BC key & relation metadata and generates all SQL views automatically.
🔍
3 Explore in the SQL Endpoint
Open the BC2Fab Mirroring database and locate the bc_silver schema in the SQL Endpoint. You will find one view per mirrored table, each containing all original columns plus the generated ID columns.
One view per mirrored table
All original columns preserved
Additional surrogate ID columns generated

💡 Schema changes? Whenever your BC schema changes — such as when new endpoints are added or existing tables are updated — simply rerun Generate Silver Layers to refresh all views in the bc_silver schema.

💡 SQL Endpoint not showing the new schema? In the SQL Endpoint a metadata refresh may be required — click the Sync metadata button to make the updated bc_silver schema visible.