Home · Solutions · Other solutions
Solution · Other solutionsOne definition of ARR, one number in the room, and the answer before the meeting starts
Finance questions answered in Teams from governed numbers
Spend and revenue questions are answered in Microsoft Teams from measures finance defined once, with the definition, the filters and the refresh time attached to every answer.
Executive summary
Three versions of ARR are in circulation, and the board saw one of them last quarter.
Two things have to exist together, and neither is much use alone.
Everyone in the room gets the same number in seconds, with the definition attached, so the meeting decides instead of reconciling.
the Power BI semantic model; the Copilot Studio agent in Microsoft Teams; the FP&A task list
Business problem
FP&A
Finance data in most companies is complete and inconsistent at the same time. The ERP holds spend, the CRM holds pipeline, the billing tool holds subscriptions, and each defines a customer, a period and a category slightly differently. FP&A reconciles them by hand for the monthly pack, and every question outside that pack restarts the reconciliation from the beginning.
Requests arrive by e‑mail and in Teams chats, are answered with an export and a pivot table, and the export becomes a document of record that circulates for months. Terms like ARR, active customer and comparable period are applied differently depending on who built the file. Dashboards answer the questions they were built for and nothing beyond.
The reason this survives is that the reconciliation work is invisible and the incentives point the wrong way. Analysts are thanked for answering quickly, not for building the model that would make the question unnecessary, and until recently the tools that let an executive ask directly did not exist in a form a CFO would trust.
How it works today
- PersonAn executive asks a question in an e‑mail or a Teams chat
- PersonAn analyst clarifies the period, the scope and which definition is meant
- SystemData is exported from the ERP, the CRM and the billing tool
- PersonThe exports are aligned in Excel and customers are matched by name
- WaitingThe number is produced and sent as a spreadsheet, often a day or more later
- Risk of errorThe spreadsheet is forwarded, edited and reused for purposes it was never built for
- Risk of errorA second executive arrives with a different number from another source, and the meeting reconciles instead of deciding
- PersonThe same question returns next quarter and is answered from scratch by a different analyst
Why the current process costs more than it appears
The most expensive part of this process has no cost line.
- Analyst time is the visible cost and it is large, but decision quality is the expensive one. A number that arrives on Friday shapes a decision taken on Wednesday, and a number quoted from a forwarded file is stale before it reaches the board.
- Disagreeing numbers turn meetings into reconciliation sessions. Nobody records that cost, because nobody counts the twenty minutes.
- Executives learn not to ask. Questions that would have exposed category drift or vendor concentration stop being asked, which is the least visible loss of all.
- Key-person dependency is severe. The analyst who knows the billing export double-counts multi-year deals is, in practice, the model, and she will be promoted or leave.
- Every acquisition adds a system and a definition, so the reconciliation gets slower exactly as the questions get more important.
Cost of inaction
The first row is not a forecast, it is the same arithmetic at a volume this company would reach with a fifth country or one more billing source. What the table cannot price is the meeting: two numbers, twenty minutes, and a decision postponed to the next agenda.
Left alone, the pattern hardens. Each quarter adds a few more spreadsheets with authority and a few more definitions of the same metric. The team either grows with the request count or quietly stops answering the questions nobody asked twice, which are often the interesting ones.
A plausible organisation with realistic proportions. The figures are there to be recalculated on your data; they are not a client result.
A software and services company in the Nordics with about €95 million in revenue, selling subscriptions and implementation services across four countries; Dynamics 365 Business Central as the ERP, Dynamics 365 Sales as the CRM, and a separate billing tool that exports monthly.
An FP&A team of four handles roughly 240 ad-hoc questions a month from the leadership team, sales directors and country managers. Three definitions of ARR are in circulation.
Power BI exists for the monthly pack. Anything outside it is answered by export: clarify the question, pull from three systems, match customers by name, build the number, send the file.
About ninety minutes per question including reconciliation, which is 360 hours a month, and none of it produces anything reusable. The next identical question starts again.
Robots load and reconcile ERP, CRM and billing data daily into a governed model with measures FP&A defines once. A Copilot Studio agent in Microsoft Teams answers from those measures, attaches the definition and the refresh time, and declines anything the model cannot answer by handing it to FP&A as a task.
In the modelled case, 156 of the 240 monthly questions are answered in Teams and about €164,256 a year of analyst capacity moves from retrieval to analysis. The self-served share is an assumption, so read this as arithmetic on stated inputs rather than a promise.
Proposed solution
Two things have to exist together, and neither is much use alone. The first is a governed layer: UiPath robots extract data daily from Business Central, Dynamics 365 Sales and the billing tool's exports, reconcile customers and periods against a master list, and load a Microsoft Fabric lakehouse. On top sits a Power BI semantic model carrying the measures FP&A defines once and owns: ARR under the agreed definition, spend by category and vendor, comparable periods, budget against actual, with row-level security by role and region.
The second is a way to ask. A Microsoft Copilot Studio agent published to Microsoft Teams takes the question in plain language and maps it to those measures through governed tools rather than composing its own queries. It answers with the number, the definition used, the filters applied and the time of the last refresh. When a question falls outside the model, it says so and creates a task for FP&A instead of guessing, which is the single design decision that makes the whole thing usable in a board pack. Copilot in Power BI serves the same measures inside reports for people who work there.
What changes for FP&A is the job rather than the workload alone. The team owns definitions, reviews declined questions each week, and adds measures where demand shows up rather than where tradition put them. Usage statistics become a better guide to what the monthly pack should contain than anyone's opinion. Executives stop forwarding spreadsheets because the answer is one message away and identical for everyone.
Microsoft Fabric lakehouse with a Direct Lake semantic model; Power BI row-level security, subscriptions and data alerts; Copilot in Power BI on Fabric capacity; Microsoft Copilot Studio agents with topics, tools and agent flows, published to Microsoft Teams and Microsoft 365 Copilot, with Entra Agent ID and Microsoft Purview audit
The extraction and reconciliation workflows with a customer master; the semantic model and the measure definitions; the agent's topics, guardrails and answer format; the declined-question task flow; the usage reporting FP&A reviews
Business Central and Dynamics 365 Sales through Dataverse and OData; the billing tool's exports collected through the UiPath Integration Service connector for Microsoft OneDrive & SharePoint; the UiPath connector for Power Platform (Preview) where the agent needs a robot to fetch a document
How the automated process works
- AutomationRobots extract and reconcile ERP, CRM and billing data every day against the customer master
- SystemThe Fabric lakehouse refreshes and the semantic model recalculates its defined measures
- PersonAn executive asks a question in Microsoft Teams, in the words they would have used in an e‑mail
- AutomationThe agent maps the question to defined measures and applies the asker's row-level security
- AutomationAnswerable questions come back with the number, the definition used, the filters applied and the refresh time
- PersonAnything outside the model is declined and logged as an FP&A task, and a person answers it
- AutomationFP&A reviews declined questions and usage weekly and decides which measures to add
Human-in-the-loop model
Automation handles
- Daily extraction and reconciliation from the ERP, the CRM and billing exports
- Refreshing the lakehouse and the semantic model, and recalculating the defined measures
- Answering questions that map to a measure, with the definition and refresh time attached
- Logging declined questions as tasks and reporting usage for the weekly review
People decide
- What the measures mean: ARR, active customer, comparable period, and who approves a change
- Every question the model cannot answer, which is where analysis rather than retrieval is needed
- What the numbers mean in context, which is the part nobody should automate
- Access rules by role and region, and what an agent may return to whom
Before and after
Systems and integrations
Everything below runs on licences and systems you already hold, or would need anyway.
Inputs
- Microsoft Dynamics 365 Business Central
- Dynamics 365 Sales
- the subscription billing tool's monthly exports
- the customer master list
Automation layer
- UiPath Orchestrator
- UiPath Robots
- UiPath Integration Service
- the Microsoft Fabric lakehouse
Target systems
- the Power BI semantic model
- the Copilot Studio agent in Microsoft Teams
- the FP&A task list
Human touchpoints: questions and answers in Microsoft Teams; declined-question tasks; the weekly definition and usage review
Technologies used
the governed measures, Direct Lake refresh and row-level security by role and region
Athe agent that maps questions to measures and is published to Microsoft Teams, with Entra Agent ID
Awhere the question is asked and the answer, its definition and its refresh time appear
Adaily extraction and reconciliation from Business Central, Dynamics 365 Sales and billing exports; schedules, credential store
Acollects the billing tool's monthly export files
Athe same measures answered inside reports, on Fabric capacity F2 or above
Aaudit of every question and answer; groups behind row-level security and the agent identity
Aour build, owned and versioned by your finance team
CIllustrative economic model
A model, not a promise.
Subtraction, not a per-question rate, is what this model does, which is why there is no calculator underneath it. Today 240 ad-hoc questions a month take about ninety minutes each including reconciliation. In the target state 65% are answered from the governed measures, leaving 84 questions at sixty minutes because the data behind them is already reconciled, plus forty hours a month of model curation that did not exist before and should be counted. €58 an hour is a fully loaded FP&A analyst cost. Executives' waiting time, decision quality, Fabric capacity, Copilot Studio consumption, licences and implementation are all outside the figures below, and the self-served share is the assumption that decides them.
Business benefits
- Everyone in the room gets the same number in seconds, with the definition attached, so the meeting decides instead of reconciling
- FP&A hours move from repeated retrieval to analysis, because questions with defined answers stop reaching the team
- One definition of ARR and one of comparable spend exist in the model, and the forwarded spreadsheet loses its authority
- Spend comparisons across periods, categories and vendors become an ordinary question rather than a quarterly project
- Growth and acquisitions add a source to the pipeline instead of another spreadsheet culture
- Every answer is logged with who asked and what was returned, the provenance a board number needs
The management view
- Definitions live in one place, versioned, owned and applied to every answer, including those nobody in finance saw
- Usage statistics show what the business actually asks, which is a better guide to the monthly pack than tradition
- Declined questions become a visible, prioritised backlog rather than an invisible queue in an analyst's inbox
- Sales directors see their own region through the same model finance uses, with security deciding what each of them gets
Board-level KPIs
Security and governance
Control is not an add-on.
- Numbers reach people by role. Row-level security lives in the semantic model and is bound to Microsoft Entra ID groups, and the agent inherits it, so a country manager asking about another country gets a refusal rather than a number
- The agent answers only from defined measures. It has no access to raw tables and does not compose its own queries, which is the constraint we build in and the reason it can be quoted in a board pack
- Every question and answer is audited with the user and the measures used, through Microsoft Purview, and each agent carries its own Entra Agent ID
- Robots use service accounts with read access to the source systems, and their secrets sit in the Orchestrator credential store rather than in a workflow
- Definitions are versioned with a named owner, and a change reaches the model only after the CFO approves it; FP&A checks a sample of answers weekly, and no accuracy figure is claimed until that sample produces one
Why now
Two capabilities arrived together and neither works without the other: a governed semantic layer inside the Microsoft tenant that can hold definitions and security in one place, and agents that answer from it in Teams while refusing what they cannot ground
The people who ask the questions already live in Teams, and increasingly in Microsoft 365 Copilot, so the question gets asked where they are instead of in an e‑mail that waits
The running costs are known rather than discovered later: Copilot in Power BI needs Fabric capacity F2 or above, and a Copilot Studio agent consumes Copilot Credits, with Microsoft 365 Copilot licence holders zero-rated in Teams. Both belong in the business case from the first week
Relevant executive roles
One set of definitions applied to every answer, and an FP&A team doing analysis instead of retrieval
The number exists before the meeting and is the same for everyone in the room
The monthly pack and the ad-hoc answers come from one model, so they cannot disagree
Revenue and ARR by customer and region on demand, from finance's numbers, without filing a request
Common questions and objections
An agent pointed at raw data might. This one answers only from measures your finance team defined, declines everything else and hands it to FP&A, and every answer carries the definition and the refresh time so it can be checked.
The pack answers the questions it was built for. The agent answers the ones it was not, from the same model, and the declined-question log shows you which reports to build next.
Reconciliation is the first deliverable, done by robots daily rather than by analysts monthly. The discovery shows how many definitions genuinely conflict before anything is built, and that number is usually smaller than expected.
When this is not the right solution
- A single-system company whose ERP reporting already answers the questions people ask; a semantic layer would duplicate what exists
- A leadership team that will not settle on definitions. The agent cannot answer what finance has not defined, and forcing it to guess is worse than the spreadsheet
- No Fabric capacity or Copilot provisioning planned and no appetite to fund it. The governed model still pays for itself; the conversational half of this case simply does not exist
A question for the next management meeting
Three versions of ARR are in circulation in most companies our size: which one did this board see last quarter, and who decided that it was the right one?
Implementation approach
The first week looks the same at every client: we look at the data.
We deliver
- An analysis of one month of real requests: the questions, their sources, the definitions in use, the effort each took
- A definition catalogue for the revenue and spend measures, agreed and signed off by the CFO
- The daily extraction and reconciliation automation, the customer master and the lakehouse load
- The semantic model, the security model, the Copilot Studio agent and its publication to Microsoft Teams
- Testing with the executives who will use it, FP&A training and the weekly review routine
We need from you
- One month of ad-hoc requests as they were sent, including the answers
- A CFO decision on the definitions, because the agent cannot answer what finance has not defined
- Service accounts with read access to the ERP, the CRM and the billing exports
- Fabric capacity and Copilot Studio provisioning, and a view on who gets Microsoft 365 Copilot
Stages
Discovery
Log and classify one month of questions by measure and source, and surface the conflicting definitions
Design
The definition catalogue, the customer master rules, the security model and the answer format
Build
Robots, the lakehouse load, the semantic model, the agent and its guardrails
Pilot
The leadership team asks in Teams while FP&A checks every answer for the first weeks
Scale
Measures from declined questions, regional views for sales directors, Copilot in Power BI for report users
Run
Weekly review of usage, declined questions and a sample of answers
Departmental. Effort is driven by how far the source systems disagree about a customer and a period, how many definitions are genuinely in dispute, and whether Fabric capacity already exists.
The last ten questions your leadership team asked finance are the whole business case.
List those ten questions and roughly how long each took to answer. We come back with which of them a governed model would have answered in Teams, which need a person, and what the definitions would have to say.
Send us ten questionsThe neighbouring process usually has the same problem
The board pack should not depend on which analyst merged which spreadsheet on which day.
View solution Other solutionsWhich expense rules create work and which catch anythingReviewers close 2,100 exceptions a month and nobody measures which rules ever found anything.
View solution Other solutionsCost per ticket and automation share on one page, dailyThree ticket counts, one analyst merging exports, and a pack that arrives ten days after the meeting that needed it.
View solution Other solutionsClose rates, targets and the forecast on one trusted pageForecast_Q3_v7_FINAL_CFOcomments.xlsx has nine tabs and three definitions of committed.
View solution Case studyExecutive assistant 2.0 — Teams and Microsoft 365 CopilotOur executive finance assistant steps beyond Teams: with the bi-directional UiPath–Microsoft Copilot Studio integration it also answers in Outlook and Microsoft 365 Copilot.
View case study Case studyThe morning executive brief, daily at 7:00The board starts the day with the full picture — before anyone has to ask for it.
View case studyIndustries we deliver this in most oftenManufacturing & industryRetail & e‑commerceServices & ITShared services