Analytics dashboard with multiple charts on a laptop screen
Business Central extension · v1.0 · BC v25+

Charts above the Cues. Nothing leaves the tenant.

A professional charting dashboard that sits at the top of every Role Center, above the standard Cues — which it never modifies. 92-source curated catalog plus a generic builder over any permitted table. Two renderers (ApexCharts + Chart.js) from one normalised contract. Six region packs. Zero outbound calls.

  • Above the Cues · standard Role Center never touched
  • 92-source curated catalog + generic table builder
  • Two renderers · one normalised contract
  • Non-blocking · Page Background Tasks · cache-first
  • 6 region packs · IN · AE · SA · EU · US · AU
  • Zero outbound calls · embedded libraries · air-gap friendly

Built for tenants where data residency and air-gap matter

Microsoft Dynamics 365 Business CentralZero outbound calls · no CDNAppSourceCop compliant
Why we built it

BC's standard Cues are great. Beyond them, customers reach for Power BI — and reach is exactly what most BC tenants do not want.

Power BI is powerful — and it's also another tenant, another licence, another data-residency conversation, another scheduled refresh, another export pipeline. For many BC customers — especially in regulated industries or air-gapped deployments — that's a heavier answer than the question. We built Insight to deliver charting that sits inside the BC tenant, reads through BC permissions, never makes an outbound call, and renders directly in the Role Centre the user is already on.

0
outbound calls

Chart libraries embedded as control-addin resources. No CDN load, no telemetry, no external fonts. Air-gapped tenants supported.

92
curated sources

Sales trends, AP/AR ageing, top customers / items / locations, KPIs over stable base tables — plus 6 region packs of tax dashboards.

0 ms blocking
Page Background Tasks

Role Center stays interactive while widgets compute in read-only child sessions. A failing widget never breaks the Role Center.

Above the Cues

Insight sits at the top. The standard Role Center stays exactly as Microsoft shipped it.

Additive Page Extensions with `addfirst`. The original Role Center layout is never modified. Disable Insight for any user or company and the Role Center returns to vanilla — zero residue.

Business Central Role Center
SFDB Insights (added by this product)
Line
Bar / Column
Pie / Donut
KPI
Standard Cues (untouched)
My Sales Quotes
Approval Requests
Posted Sales Inv.
Standard Activity Groups (untouched)
One pipeline, three pluggable axes

Definition → Engine → Provider → Serializer → Renderer.

The pipeline is deliberate. Providers don't know about chart libraries; the serializer is the single writer of the normalised series JSON; the dispatcher in the control add-in is the only thing that knows about ApexCharts and Chart.js.

Step 1

Widget Definition

Curated catalog entry or generic builder selection. Source, measure, dimension, date field, chart type, filters, refresh TTL.

Step 2

Widget Engine

Selects the right IDataSource via Source Kind enum: Curated Provider (catalog metadata) or Generic Provider (RecordRef/FieldRef).

Step 3

Provider

Aggregates through the shared RecordRef aggregator. Permission-true reads. Sensitive fields excluded. Emits data points + light metadata.

Step 4

Serializer

Single writer of the normalised series JSON. Currency formatting via Intl. Locale-aware dates and numbers. RTL flag for Arabic.

Step 5

ChartHost dispatcher

JS dispatcher in the control add-in maps the normalised contract to either ApexCharts or Chart.js per widget. No re-compute on renderer change.

Two data paths · one engine

Curated catalog for finance teams. Generic builder for power users.

Both flow through the same RecordRef aggregator. Both honour BC permissions. Both can land on the same Role Center.

Curated catalog

92 sources at install · zero-config for users

Each source registered in the SFDB catalog with table, measure, dimension, date field and fixed filter. Resolved by the curated provider through the shared aggregator. Users see polished dashboards on day one — no configuration required.

  • Sales / AP / AR / Inventory trends and breakdowns
  • Top customers, items, locations, salespeople
  • Region-specific tax and compliance KPIs
  • Sources flagged Compute Supported = false until you wire a compiled query

Generic builder

Any permitted table · admin-allowlisted · governed

Pick a table from the allowlist; choose measure, dimension, aggregation, chart type, date bucket and filters. Permission-true reads via RecordRef/FieldRef. Sensitive-field exclusions hide payroll, salary and other private fields globally.

  • Power users build dashboards without IT or AL
  • Allowlist + sensitive-field exclusions enforced by the engine
  • Save personal or share company-wide via standard BC personalisation
  • Choose renderer per widget — ApexCharts or Chart.js
Two renderers · six chart families

ApexCharts + Chart.js, both MIT, both embedded.

No CDN. The libraries ship as control-addin resources. The dispatcher in the add-in renders whichever the widget specifies, from one normalised series JSON.

Line
Trends over time
Bar / Column
By dimension
Pie / Donut
Composition
KPI
Single-number callouts
Stacked
Series breakdowns
Heatmap
Cross-dimension density
6 region packs at launch

Tax and compliance dashboards out of the box, per market.

Each pack registers its sources into the same SFDB catalog — no engine changes. Arabic drives full right-to-left layout; number, date and currency formatting follow locale via Intl.

IN
India

GST KPIs + statutory dashboards

AE
United Arab Emirates

VAT + ZATCA awareness

SA
Saudi Arabia

VAT + ZATCA Phase 2 KPIs

EU
European Union

Per-country VAT + EC Sales List

US
United States

State + local tax + 1099

AU
Australia

BAS + GST

Multi-language with Arabic RTL. XLIFF-based translations · Intl-driven locale formatting · full right-to-left layout · `dir` attribute flowed end to end from BC user-locale to the chart axes.

Security & governance

Built for tenants where data residency matters.

Permission-true reads, administrator allowlist, sensitive-field exclusions, zero outbound calls. The dashboard never leaks data a user couldn't already see in BC.

Zero outbound calls

Chart libraries embedded as control-addin resources. No CDN load. No telemetry. No external fonts or scripts. Air-gapped tenant friendly.

Permission-true reads

Generic provider uses RecordRef/FieldRef. If the user can't read the table in BC, they can't put it on a dashboard. The Role Center never leaks data.

Administrator allowlist

Only tables the admin has explicitly enabled appear in the Widget Builder. Plus a global sensitive-field exclusion list (e.g., payroll fields on Employee).

Non-blocking compute

Widgets compute in Page Background Tasks (read-only child sessions). Role Center stays interactive. Failing widget never breaks the Role Center.

Audited setup changes

Catalog edits, allowlist changes and sensitive-field exclusions all go through standard BC Change Log. Auditor-grade trace of who changed what.

AppSourceCop compliant

SFDB affix on every object. Object range 54400-54739. Three role-based permission sets: Read, User, Admin. AppSource submission roadmap-ready.

Implementation

Day-one curated dashboards. Bespoke in 1-2 weeks.

Assisted Setup auto-enables the right region pack on install and seeds the catalog with sane defaults. Tuning the surfaced widgets per Role Center is typically a one-week consulting engagement. Bespoke dashboards via the generic builder are workshop-style, 1-2 weeks per business area.

Day 1
curated dashboards live
1–2
weeks · bespoke per area
Business analyst reviewing performance charts on a monitor
BC v25+ · Cloud target

AppSourceCop compliant. Per-Tenant Extension; AppSource roadmap-ready.

1

Install

Publish the core extension + one region pack matching your company country. Assisted Setup seeds the catalog, allowlist, themes and a trial licence.

2

Curate

Review the 92-source library. Decide which 6-8 widgets surface on each Role Center (Accountant, Sales Manager, Warehouse, Bookkeeper, etc.). Set filters and date ranges per role.

3

Allowlist

Configure which tables business users can pull into the generic builder. Set sensitive-field exclusions. Pick which renderer (ApexCharts vs Chart.js) is the default.

4

Roll out

Train Role Centre owners (typically one per role). Pin the most useful curated widgets per role. Let power users build their own via the Widget Builder.

5

Iterate

Add bespoke compiled queries for sources marked Compute Supported = false (ageing buckets, GP %, budget vs actual). Add a 7th region pack if you expand into a new country.

Insight FAQ

Frequently asked questions

Business Central v25 and above, both SaaS (Cloud) and On-Premises. AL runtime 16.0, Cloud target — AppSourceCop compliant with the SFDB affix. Object range 54400-54599 (core) plus 54600-54739 (region packs). Distributed as a Per-Tenant Extension; AppSource publication is on the roadmap.

Book a working session

Bring your Role Center. We will install + curate live.

A 45-minute working session, not a sales pitch. Sign us in to a sandbox connected to your BC; we publish the core + your region pack, run the Assisted Setup, and walk through the curated dashboards on your actual Role Center. Then we build one widget against your data via the generic builder so you can feel the round-trip.

  • Live install + region pack activation in your BC sandbox
  • Curated dashboards on your real Role Center data
  • One generic-builder widget against your actual tables
  • Honest answer on which 6-8 widgets to pin per role

Book an Insight working session

Tell us your BC version, country, headcount and which Role Centers your team uses most. We respond within one working day.

WhatsAppCall us