Spreadsheet vs Web App for Financial Modeling: When Should You Build Custom Software?
When a financial model should stay in a spreadsheet, when it should become a web application, and what AI coding agents change about the decision.
August 31, 2026

The first version of a financial model is usually the easiest version to change. You can add a row, rewrite a schedule, move an assumption, or replace the revenue logic without asking a software engineer to change a product. That flexibility matters while you are still working out what the business is supposed to do financially.
The argument for turning a model into a web application used to begin with a substantial software project. AI coding agents have changed that. They can build interfaces, databases, authentication, APIs, charts, and calculation code from a description and iterate on the result in the same environment. The question is no longer whether a custom application is affordable to prototype. It is whether the model has become something people need to operate rather than something a modeler needs to keep changing.
When should a financial model become a web application?
Build a custom web application when the value of the model is in how other people use it: entering constrained inputs, saving scenarios, receiving a consistent output, connecting it to other systems, or calling its calculations programmatically. Keep it in a spreadsheet when the value is in seeing the formulas, changing the architecture, exploring new assumptions, and debugging the relationships directly.
That is a decision about the interface and operating environment, not a declaration that one calculation method is modern and the other is obsolete. A financial model consists of assumptions, relationships, calculations, and checks. A spreadsheet is one interface and execution environment for those things. A web application is another, with different tradeoffs around access, control, persistence, and ownership.
What changes when the model moves out of a spreadsheet?
In a spreadsheet, the modeler can inspect a formula, insert a schedule, change a time period, and follow a number through the workbook. The model is usually visible as both logic and presentation, and a person with the file can copy it, alter it, or rebuild a section without waiting for a deployment.
In a web application, the user might see a form for customer growth, pricing, churn, hiring, and financing assumptions, then receive a forecast, charts, and scenario comparisons. The underlying formulas may be in a service or code module rather than visible in the interface. That can be exactly what you want when users should change business assumptions but should not edit the calculation logic.
The application can also save a scenario, associate it with a user, send the outputs to another system, and expose a calculation through an API. Those capabilities solve problems a workbook handles awkwardly. They also create responsibilities a workbook often does not have: data storage, identity, permissions, deployment, monitoring, backups, migrations, and security.
Six ways to represent the same financial model
The choice is not just spreadsheet or app. There are several layers at which the model can live:
| Architecture | Where the logic lives | What the user gets | Main tradeoff |
|---|---|---|---|
| Spreadsheet only | Workbook formulas and schedules | Direct inspection and unrestricted editing | File-based collaboration and persistence |
| Spreadsheet + AI | Workbook, with an agent writing or explaining changes | Faster edits, analysis, and model navigation | The agent can introduce errors and still needs context and review |
| Spreadsheet model + another interface | Spreadsheet remains the model; a web or API layer reads or writes selected inputs/outputs | Familiar calculation surface plus a simpler user experience | Boundary and synchronization must be designed carefully |
| Financial logic rewritten as code | Application code and a data model | Controlled interface, saved state, tests, and programmatic access | Formula transparency is replaced by software review and maintenance |
| Third-party forecasting software | Vendor's planning model and workflow | Integrations, permissions, versions, collaboration, and reporting | You adopt the platform's model and implementation constraints |
| Fully custom AI-built application | Custom financial logic plus custom software architecture | An interface and workflow designed for one business | You own every financial and software decision afterward |
Let's remember, you do not always have to rewrite a working model to give people a different way to use it. Sometimes the right architecture is a spreadsheet as the calculation engine with a small application handling inputs, saved scenarios, or a report. Whether that is practical depends on how stable the workbook is and how safely the two surfaces can exchange data.
Example of a SaaS forecast in a spreadsheet and a web app
Consider a SaaS forecast with customer acquisition, pricing, churn, monthly and annual billing, recognized revenue, deferred revenue, headcount, expenses, cash, and financial statements.
In a spreadsheet, the modeler can see the customer cohorts and billing schedules, change the annual-contract start month, inspect the deferred-revenue roll-forward, and trace the resulting cash movement into the statements. If the business changes its renewal assumptions next week, the modeler can add a schedule or change the architecture while the logic is still being discovered.
In a web application, the same model might expose fields for new customers, conversion, churn, price, billing mix, hiring dates, and financing. A founder could save a base case and an upside case, invite a department owner to enter headcount assumptions, or request a forecast through an API without opening the workbook. The application could prevent an input from being entered in the wrong format and present only the outputs that matter to that user.
What the web application does not do by itself is decide what annual billing means. The model still needs to distinguish cash receipts from recognized revenue, decide how existing customers are treated, roll deferred revenue, and connect the change to cash and the balance sheet. If those relationships were never validated, moving them into code only changes where the mistake is stored.
The difference shows up in the work: a spreadsheet offers a better surface for discovering and inspecting the model, while an application offers a better surface for operating a defined model with controlled inputs and saved state.
What AI inside the spreadsheet changes
The argument for leaving the workbook used to carry a quiet assumption: that editing a model at scale was manual, slow, and error-prone, so eventually you had to escape it. That assumption is weaker than it was.
Claude for Excel runs in a sidebar in Excel and documents reading, analyzing, modifying, and creating workbooks. It can build a model from filings and data feeds, audit formulas across linked workbooks, run sensitivity analyses, debug a cell formula, and populate a template with new assumptions while preserving the existing structure and formula dependencies. It is currently in beta as a research preview.
Shortcut is built specifically to build, review, and audit financial models, and its product decisions say more here than its feature list does. It ships an Excel add-in, a web application, and a command-line tool. The same agent works inside the workbook, inside a browser interface, and inside a scripted pipeline. Quadratic, Numerous.ai, and Microsoft's own AI in Excel fill in the rest of the category.
Benchmarks exist and they need reading carefully. Shortcut publishes a comparison putting itself at 76% on real-world finance tasks, against Claude for Excel at 66% and Microsoft Copilot at 59%, measured on its own task set. FundamentalLabs reported that a Claude-built Excel agent passed 5 of 7 levels of the Financial Modeling World Cup and scored 83% on complex Excel tasks. Both measure task completion. Neither measures whether the business logic was right. A tool that scores well at constructing a formula has not been tested on whether that was the correct formula to construct, and in a financial model that is the part that decides whether the answer is any good.
The practical effect is that "the spreadsheet has become too manual" is no longer sufficient reason on its own to build an application. If editing speed was the reason to leave, that reason has largely gone. What remains are the reasons in the rest of this article: controlled inputs, saved state, permissions, integrations, and programmatic access.
What AI coding agents change
AI coding agents materially reduce the friction of making a first application. OpenAI's Codex use cases include building and deploying apps or websites, creating internal apps, working through unfamiliar codebases, creating APIs and command-line tools, and adding evaluations. The OpenAI API also provides building blocks for model-backed applications, including file and image analysis, function calling, web or file search, remote MCP, and agents.
Claude Code documents the same class of work from a different angle: an agentic tool that reads a codebase, edits across many files at once, runs commands, and creates commits and pull requests. Two of its documented capabilities matter more than the others for a financial application. It can write tests for untested code and run them, and it can connect external data sources through the Model Context Protocol. Those are the difference between a prototype that renders and a system whose numbers are checked against something.
GitHub Copilot documents completion, chat, agent mode in the editor, and code review, and its coding agent works on tasks assigned through issues inside a GitHub Actions environment. GitHub Spark goes furthest toward the last row of the table above, documenting how to build and deploy a full-stack web application from a natural-language description without writing or deploying code by hand.
The vendors differ in emphasis, and any list of them will date quickly. What they share is the part that matters to this decision: building the software is no longer the expensive step.
Those capabilities change who can test the idea. A finance person who understands the model but is not a traditional software developer can describe an input form, a scenario workflow, or a reporting view and get a working prototype to inspect. The agent can make the next interface change, add a chart, connect a data source, or write a test without each step becoming a separate project handoff.
AI is useful for translating a known model into another surface. If the workbook already has explicit inputs, documented calculations, and checks, a coding agent can use those artifacts as a specification for a web interface or service. It can expose the existing relationships, preserve the naming of key metrics, and build tests around known outputs.
That is different from asking the agent to invent the financial model and the application at the same time. In the first case, the main unknown is how to represent a known system. In the second, the agent is choosing the business logic, data model, user experience, and software architecture together. The speed of the prototype can hide how many decisions have been made without review.
What AI does not remove
An AI coding agent can write code quickly. A person still has to own what the code is built to accomplish.
The first responsibility is financial logic. Someone still has to decide how revenue, billings, headcount, working capital, debt, taxes, and statements should work, and then define the checks that expose a broken relationship. A model that is wrong in a spreadsheet is still wrong in an application, even if the application has a cleaner interface.
The second responsibility is application architecture. You need to decide what data is stored, how periods and scenarios are represented, how calculations run, where source data enters, and whether the application calls a deterministic calculation engine or recomputes logic in several places. If a scenario can be saved, you need a definition of what is saved: assumptions only, source data, calculation outputs, or a version of the model itself.
The third responsibility is operating the application. Authentication identifies users; permissions decide what each user can see or change. Deployment makes a version available; monitoring tells you when it fails. Migrations change the data model without losing prior scenarios. Backups, secrets management, dependency updates, and security reviews matter even when the application began as an internal tool.
Testing connects those responsibilities. Unit tests can check a formula or calculation function. Integration tests can check that an input reaches the right schedule and output. Reconciliation tests can check that a three-statement model balances, cash rolls, and deferred revenue responds to billing assumptions. User-interface tests can check that a department owner cannot edit a field outside their permission. AI can write many of these tests, but a domain expert still has to decide what the expected result means.
What are the signs that a spreadsheet should become an app?
The strongest signals are about use, not workbook size.
- Many people need to use the model, but most should change assumptions rather than formulas.
- Inputs need validation because an invalid period, category, or unit creates downstream confusion.
- Users need different permissions, such as a department owner who can edit headcount but not financing assumptions.
- Scenarios need to be saved, named, compared, and reopened rather than recreated by copying a file.
- The model needs to connect to accounting, billing, CRM, operational, or other systems.
- Another workflow needs to call the calculations through an API or service.
- The model has become a component of a product, approval process, customer tool, or internal operating system.
- The right user experience is a small set of decisions and outputs, not a workbook with every intermediate calculation exposed.
- Distribution and versioning are now the main risk: people have different copies, and nobody is sure which one is current.
These are good reasons to investigate an application because they describe a repeatable interface or operating requirement. They do not prove that a rewrite is the right answer. A small input form over a stable model may solve the immediate problem; a full rewrite may create more ownership than the workflow needs.
When should you not build an app?
Keep the spreadsheet when the model changes faster than the application requirements. If you are still deciding whether churn is measured by logo or revenue, whether annual contracts are recognized monthly, or how a financing instrument should flow through the statements, direct access to the workbook is useful. It keeps the uncertainty visible while the modeler works through it.
One-person ownership is another reason to stay put. If one finance lead changes the assumptions, reviews the calculations, and produces the output occasionally, an application may be a solution to a workflow problem that does not exist. AI can help that person explain the model, extend a schedule, and run checks without creating a second system to maintain.
Do not build an app to hide a model-quality problem. Hardcoded revenue, missing statement links, unclear definitions, and absent checks need better model design. A web form can make those weaknesses harder for the user to see, which is the opposite of what you want while the logic is still being repaired.
Finally, be honest about the audience. If users need to inspect formulas, add their own schedules, and run unfamiliar sensitivities, constraining them to a polished interface may remove the reason they use the model. A simpler application is not automatically a better tool for an expert modeler.
Spreadsheet as calculation engine, application as interface
There is a middle architecture between a workbook and a complete rewrite. The spreadsheet can remain the calculation engine while an application owns a limited input and output surface. The application might write approved assumptions into a defined range, trigger a recalculation, read selected outputs, and save the scenario metadata alongside the result.
This arrangement can preserve formula transparency while giving non-modelers a safer interface. It also creates a boundary that needs to be explicit. Which cells can the application write? What happens if the workbook structure changes? How are errors returned? Does the application save a copy of the workbook, or only the assumptions and outputs? How does a reviewer reproduce the result later?
Shortcut is a useful existence proof for this middle ground, because it ships the same financial-modeling agent as an Excel add-in, a web application, and a command-line tool rather than choosing one. That is not a recommendation to adopt it. It is evidence that a serious product in this category treats the calculation surface and the operating surface as separate decisions, which is where this article arrives from the other direction.
If the spreadsheet is unstable, highly manual, or dependent on desktop-only features, this hybrid can be more complicated than it first appears. If the model is structured, documented, and stable, the boundary may be useful. The right answer depends on the model's architecture, not on whether a web front end is fashionable.
When should financial logic be rewritten in code?
Rewrite the logic in code when programmatic access, repeatability, scale, or controlled execution matters enough to justify replacing the spreadsheet calculation surface. Code can make a calculation engine callable by an application, API, scheduled job, or other system. It can also make tests and deployment part of the model's operating process.
The rewrite is a new model implementation, even if the spreadsheet is the specification. Every relationship has to be mapped, edge cases have to be decided, and outputs have to be reconciled against the known workbook. A coding agent can accelerate the translation, but the migration still needs a test set that compares the two systems across ordinary cases, boundary cases, and scenarios that previously caused errors.
This is where "using AI to build the model" and "using AI to build software around a known model" diverge most clearly. Basing the software from a known working model helps give the AI clarity on the right path to take.
Custom app or third-party forecasting software?
A custom application is not the only alternative to a spreadsheet. Purpose-built forecasting and FP&A software can already provide central data, integrations, permissions, workflows, scenarios, consolidation, and reporting. The reason to build custom software is that the model or user experience is specific enough that adopting a platform's data model would constrain the important parts of the work.
The reason to buy or adopt a platform is often the opposite: the workflow is common, the organization needs governance, and owning authentication, infrastructure, integrations, and maintenance would distract from finance. Many platforms also keep an Excel surface for reporting or adoption, which means the real choice may be between a workbook as the system of record and a planning system that happens to export to or operate through Excel.
AI changes the cost of custom development, but it does not make a custom app free. Compare the ongoing responsibilities, not just the first prototype. A platform spreads some of those responsibilities across a vendor and its implementation process. A custom application gives you control over the model and interface, but leaves the control and maintenance with you.
Where Hemrock fits
Hemrock models are structured to be read and edited as spreadsheets, with explicit inputs, calculations, presentation, documented rows, and modular forecasts. How Hemrock models are built and the financial modeling best practices explain those conventions. The Edit with AI guide provides context for agents that need to understand and modify a workbook.
That makes Hemrock a useful example of the spreadsheet side of the architecture argument. The Standard Financial Model provides an editable financial core and revenue logic; Bring Your Own Model describes how a custom forecast can connect to that core. If you need to run a documented calculation engine from code, Hemrock's compute API exposes specific cap table, waterfall, and fund-economics engines over authenticated endpoints.
The API is not a general endpoint for every spreadsheet model, and Hemrock's spreadsheet products are not a replacement for application authentication, permissions, deployment, or workflow management. Those boundaries matter. A structured model can be the right source for a custom application, but it is not automatically the application itself.
The broader AI Financial Modeling article explains why providing an AI with an existing architecture can be different from asking it to invent one. For a custom app, that same principle applies twice: give the coding agent a known financial specification and a clear software specification, then test the connection between them.
A practical decision process
Start with the model. Write down the assumptions, relationships, schedules, outputs, and checks that must remain true regardless of the interface. If those are still changing, keep the spreadsheet close to the work and use AI to help document, test, and modify it.
Then write down how people need to use it. Do they need to inspect formulas or enter a few validated assumptions? Do they need saved scenarios, permissions, integrations, approvals, APIs, or a simpler output? If the second list is growing while the first list is stable, prototype an application around the model rather than rewriting everything immediately.
Before asking an AI coding agent to build, decide what it is allowed to invent. The financial relationships should come from a specification or a reviewed model. The agent can propose the data schema, interface, and implementation plan, but those proposals need review before they become the system's assumptions.
The implementation can be complicated even when the decision is clear. Keep a spreadsheet when direct model access is part of the value. Build a web application when controlled use, persistence, integrations, or programmatic access are part of the value. Use a hybrid or a third-party platform when the model and workflow need different homes.