We’ve been working hard to remove friction between a business idea and professional financial models by running Azure Functions financial modeling fully in memory and persisting Dataverse SDK for Python financial models as structured data.
We’re calling this new approach financial models in memory. The time from idea to output is no longer measured in hours or days, but in seconds.
This architectural shift unlocks an entirely new class of features. It is made possible by combining Python-based Azure Functions for high-performance computation with the new Dataverse SDK for Python, allowing financial models to be both fast in execution and robust in persistence.
How FinModeler runs financial models in memory
At the core of this new capability is a set of Python-based Azure Functions that act as an extremely fast financial modeling engine. So, instead of building the model as a slow, step-by-step, file-based artifact, FinModeler executes the entire calculation pipeline in memory and exposes it through a set of APIs.
So, you can think of it as something like: “given this set of assumptions for a business idea, give me back a complete financial model as response”.
In case you want to iterate and/or change any assumptions, the API will adjust the response, return the model in memory and persist the results in Dataverse.
Specifically, what you can expect as the response is the full financial logic:
- Income Statement
- Cash Flow
- Balance Sheet
- Valuation Metrics
You can get the model in Excel, too
Excel generation itself is handled by a dedicated function without desktop automation or external storage. The workbook is generated in pure Python and returned directly to the caller. And, yes, it contains the whole set of Excel formulas, just like as if a pro user had done it manually.
Persistence is intentionally decoupled from computation. Model results can be saved synchronously when needed or persisted asynchronously in the background. This separation is what allows calculations to remain fast while still guaranteeing reliable storage and traceability.
From an operational standpoint, the architecture is designed to be predictable and robust. Heavy numerical and Excel-related libraries are loaded only when required, ensuring that the Functions runtime remains stable and responsive. All endpoints are secured using function-level authentication and are designed to integrate cleanly with Power Automate and Power Apps.
Persisting models as structured data with the Dataverse SDK for Python
The new Dataverse SDK for Python was recently released and used immediately as the perfect solution for persisting data. We’ve tested it for speed and security and decided to go ahead with it.

This SDK acts as the bridge between the in-memory calculation engine and Microsoft Dataverse, allowing financial models to be stored, queried, versioned, and reused across the Power Platform.
The SDK handles authentication and token management transparently and exposes generic operations for querying, inserting, and deleting records.
Performance is a first-class concern. Instead of inserting records one by one, the SDK uses Dataverse batch operations to upsert large volumes of data in a fraction of the time. Cleanup operations, such as removing outdated model versions, are also optimized to run in parallel. The result is persistence that scales with model complexity without slowing down iteration.
In practice, this means that every run of a financial model can be stored as a clean, structured dataset – ready to be consumed by Power Apps canvas apps or downstream analytical workflows.
Making financial models agent-ready
How about talking to your financial model as if you were talking to an expert, and ask questions, simulate, evaluate risks and opportunities? Without AI hallucinations.
This is something still cooking, stay tuned for more updates from us…
The benefits for consultants and finance teams
This architecture is not about using new cloud infrastructure for its own sake. It is all about changing the economics of financial modeling.
By separating calculation, persistence, and output generation, we’re now allowing teams to iterate faster without sacrificing structure or control. Consultants can explore multiple scenarios in minutes instead of rebuilding spreadsheets.
Finance teams gain traceability, repeatability, and confidence that the numbers they are working with are consistent and reproducible.
Financial models stop being fragile files and start behaving like systems: fast to compute, easy to persist, and ready to support more advanced capabilities – from scenario analysis to analytical agents.
If you want to see how financial models in memory work in practice, you can request a personal demo of Finmodeler and explore the architecture and outputs firsthand.
