Large Kuwaiti IT systems integrator · Data platforms
One governed source of truth for orders, revenue and backlog, and leadership can question it in plain language.

- 4–5 minfor the full nightly load, from snapshots to the leadership model
- 42source tables read in place, with no copies
- 40+business rules stored as data, not code
- Nightlybooked revenue reconciled to the general ledger
Reporting ran on SQL views over the raw ERP data, with no history and no data-quality checks. Targets, the department list and access lists lived in Excel workbooks, some in personal folders.
The ERP keeps only the current state of projects, budgets and opportunities, so changes over time couldn't be reported. Profit definitions sat inside report formulas and didn't always match the general ledger. And reports couldn't tell whether finance had closed a month, so open months looked like poor performance.
- A source layer that copies nothing
- The platform reads the ERP's tables in place, so there is one copy of the data and no export to keep in step.
- Reference data owned by the business
- A Power Apps app replaces the Excel files for targets, departments, cost-centre mapping and salespeople, with approval for targets.
- History the ERP doesn't keep
- Daily, weekly and month-end snapshots of projects, budgets, opportunities, receivables and inventory.
- Checks before anything publishes
- Every nightly load checks its keys, reconciles booked revenue to the ledger and balances the backlog. If a check fails, yesterday's figures stay.
- A leadership model and a finance cross-check
- Orders, booked and unbooked revenue, targets, department P&L and pipeline, reported as of the last closed month, plus a monthly reconciliation pack for finance.

Where AI works in the solution
Leadership asks, the agent answers from governed figures
A data agent sits on top of the leadership model. Executives type questions such as "gross profit last year" or "stale backlog by salesperson" and get answers calculated from the model's governed measures, not from raw tables. It follows written guidance on the company's terms and which profit definition to use, labels open months as provisional, and declines questions about individual pay. Only named people can use it.
The ERP stays as it is. Everything is read in place.
- existing systemDynamics 365projects, ledger, opportunities
- we builtFabric lakehousesnapshots, rules, checks, gold tables
- we builtSemantic modelorders, booked, unbooked, P&L
- AI agentFabric data agentanswers for leadership
| System | Direction | Method | What flows |
|---|---|---|---|
| Dynamics 365 Finance & Operations | in | Dataverse link to Fabric · OneLake shortcuts | Projects, budgets and revisions, general ledger, opportunities and tenders, customers, open receivables, inventory aging |
| Power Apps governance app | in | Dataverse link to Fabric · OneLake shortcuts | Targets, departments and business units, cost-centre mapping, salespeople, KPI definitions |
| Microsoft Fabric | internal | Notebooks · nightly pipeline | Snapshots, rules, data-quality results, cleaned and reporting tables |
| Power BI semantic model | out | Direct Lake | Orders, booked, unbooked, targets, P&L and pipeline measures |
| Fabric data agent | out | Queries the semantic model | Plain-language answers for leadership |
| Excel | out | Generated workbook | Monthly reconciliation sheets for finance |
| Microsoft Entra ID | access | Sign-in · item-level sharing | Who can open the model and the agent |