Budgets, forecasts and scenarios

Agentic planning

From spreadsheets to the AI era

You write the logic in plain language. Your own AI (Claude, ChatGPT or Codex) does the arithmetic on your consolidated actuals and writes each value with its reason, and Control checks, locks and keeps the history.

The app works best on a desktop browser.

3:45. Example Group, illustrative data.

Control.dev is a group consolidation and FP&A platform for multi-entity groups. EPM for the AI era. Built in the Nordics. The product page is AI budgeting and forecasting.

The film as text: two ways to plan, a worked forecast, what one number carries, when the logic changes, where Control sits. The page adds scenarios.

  • Live data in under two hours for most companies, larger groups in days
  • ISO/IEC 27001:2022 certified, EU-hosted
  • Claude, ChatGPT, Codex or another MCP client

When the logic changes

Edit a paragraph, not a model

The forecast rules live in forecast-logic.md, a skill file saved in your own AI client. A skill is reusable instructions; it grants no access of its own. When the hosting contract changed, the group controller rewrote one paragraph, and the AI client checked the new rule against booked actuals before it wrote a value. See the finance skills.

forecast-logic.mdSaved in your AI client

# Revenue

Subscription: September’s actual, grown 10% a month. Other revenue: the Q3 monthly average.

# Personnel

September’s team in each cost centre, plus the hires in hiring-plan-2026.xlsx from their start dates, at the team’s salary plus 25% side costs.

# Hosting Edited by the group controller, 13 Oct

Last quarter’s monthly average.

From November: the commitment in the attached reserved-instance agreement, plus usage above the reservation at the July to September average of the provider invoices. Before November: last quarter’s monthly average.

Checked against booked actuals before it ranLive

January to September: the rule matches the books in every month except August and September, EUR thousands.

HostingJulAugSepQ3
The rule41.041.041.0123.0
Booked41.033.648.4123.0
Difference0.0−7.4+7.40.0

Diverges in August: the usage invoice of €7,400 was booked a month late, in September. The quarter agrees, so the rule stands.

Example Group, illustrative data. The hires: 2 in R&D from November, 2 in Sales from December.

Two ways to plan

Build the plan on the numbers you already report A legacy tool keeps its own copy of the business; agentic planning works on your consolidated actuals

Implementation
Legacy planning modelIntegrations, mappings, model design and report building, over months with consultants.
Agentic planningConnect the ledgers and write the forecast logic in a skill file. Planning starts in days.
Where the plan lives
Legacy planning modelIn a model next to the books, with its own chart of accounts and its own mappings.
Agentic planningOn the group chart, entities and dimensions the consolidation already uses. There is no second mapping for planning.
Where the logic lives
Legacy planning modelIn drivers and formulas that one system expert understands.
Agentic planningIn plain language, in a skill file anyone in finance can read and edit.
What a number carries
Legacy planning modelA value and a formula reference, or a driver definition.
Agentic planningThe value, its written reason with the files it cites, who wrote it, through which channel and when.
Control
Legacy planning modelIn the model’s rules, which decay as the business changes.
Agentic planningIn Control: a reason required on every value an AI client writes, locks, confirmed explanations and change history. Agents work on top of them, never instead of them.
All eleven rowsShow five rows
Ongoing workload
Legacy planning modelA system expert maintains the model. A new entity, cost centre, account or product line means a rebuild.
Agentic planningEdit the skill file when the business changes. New accounts and cost centres follow the ledger on sync once they are mapped.
Budget input
Legacy planning modelFP&A types in numbers for the budget owners, or trains them on the tool.
Agentic planningOwners ask the agent, with last year’s actuals one question away. Each owner will see only their own scope.In development
Reporting
Legacy planning modelPredefined reports on imported, often aggregated figures.
Agentic planningQuestions answered from transaction level, with the entries behind each figure.
Scenarios
Legacy planning modelRebuild or extend the model. An FX scenario exists only if someone modelled FX.
Agentic planningA new version plus one instruction, started from the same consolidated, translated actuals.
Wrong actuals
Legacy planning modelNoted in the variance and imported again after the next close.
Agentic planningFixed once, in the books, and checked again on the next sync.
Complex models
Legacy planning modelBuilt in a spreadsheet and uploaded as one more layer to maintain.
Agentic planningBuilt in a spreadsheet, attached to the budget and read by the agent as a cited source file.

Comparing planning tools? See how Control.dev stands against Abacum and Anaplan.

A worked forecast

A Q4 forecast in three asks

Three plain-language asks to an AI client built this Q4 forecast for Example Group. The grid is the result: January to September come from the books, and October to December from the rules in forecast-logic.md, the skill file above. The transcript shows the three asks that built the grid, and every planned value carries its reason. Read how budgets work in Control.

BudgetsForecast Q4Copy of Budget 2026Example Group · EUR thousands
AccountQ1 actualQ2 actualQ3 actualOct planNov planDec plan
Revenue4,1234,1554,1871,4061,4131,420
Cost of sales−1,680−1,680−1,680−560−560−560
Personnel−990−990−990−330−344−359
R&D−450−450−450−150−164, ask 2−164, ask 2
Sales−330−330−330−110−110−125, ask 2
G&A−210−210−210−70−70−70
Hosting−123−123−123−41−35, ask 3−35, ask 3
Other opex−462−462−462−154−154−154
EBITDA868900932321320312

A numeral marks the ask that rewrote the cell;a marked corner means the value carries its reason.

What the three asks changed

  1. Ask 1: Filled nine months from the books and three from forecast-logic.md

  2. Ask 2: Added two hires in R&D from November and two in Sales from December: Q4 personnel cost up €43k

  3. Ask 3: Moved hosting from €41,000 to €34,900 a month from November

Your AI clientControl.dev MCP server Live
  1. Ask 1: Start from the budget and the books

    “Copy Budget 2026 as Forecast Q4 and fill January to September from actuals.”

    Forecast Q4 holds January to September from the books and October to December from forecast-logic.md, every value with its reason.

    Tools it called

    • export_budget_as_import_file
    • get_group_statement_actuals
    • validate_bulk_file_import
    • submit_bulk_file_import
  2. Ask 2: Add the hires

    hiring-plan-2026.xlsx

    “Add the hires in the hiring plan, each in its cost centre from the start date.”

    Two engineers in R&D from November and two sellers in Sales from December, at the team’s salary plus 25% side costs: €14,000 and €15,000 a month.

    Tools it called

    • read_budget_attachment
    • get_group_transactions_browse
    • set_budget_group_account_monthly_values
  3. Ask 3: Re-forecast hosting from the new agreement

    reserved-instances-agreement.pdf

    “We signed a reserved-instance agreement. Re-forecast hosting from November.”

    Hosting is €34,900 a month from November, down from €41,000: the €26,000 commitment plus €8,900 of usage above it.

    Tools it called

    • upload_budget_attachment
    • get_uniform_invoice_lines
    • set_budget_group_account_monthly_values
Example Group, EUR thousands, illustrative data. Q1 to Q3 are the group’s booked actuals; the grid totals are computed from the rows.

Connect Claude, ChatGPT or Codex to the Control.dev MCP server and ask the same way. MCP (Model Context Protocol) is the open standard AI clients use to connect to tools and data. The Budget assistant inside Control does the same groundwork from the app’s own chat: it seeds a version from actuals, imports a workbook and writes values.

Budget season

Every cost centre, every counterparty, and the pipeline in the same conversation

Next year’s budget starts from this year’s ledger, one line per supplier with its reason. Revenue starts from the Stripe entries Control holds, and your AI client reads the open deals from your CRM’s own MCP server. The monthly cycle around the budget, from close to reforecast, is on the FP&A teams page.

Your AI clientControl.dev MCP server, plus your CRM’s

Start R&D’s lines in Budget 2027: every supplier from this year’s ledger, subscription revenue from the Stripe entries, and the deals the CRM expects to close.

  1. get_group_transactions_browseR&D spend grouped by counterparty, January to September 2026: 23 suppliers
  2. get_stripe_journal_entry_monthly_summaryStripe entries by month, January to September 2026
  3. Your CRM’s own MCP serverOpen deals by expected close month
R&D in Budget 2027, one line per supplier
SupplierThe reason on its line
Example Cloud ServicesReserved-instance agreement, attached to the budget
Kestrel Design ToolsTwelve seats, from the September invoice
Brightline CRM IncAnnual renewal in March, price list attached
20 more suppliersThis year’s spend, same month, each with its reason

Subscription revenue starts from Stripe’s September entries. The pipeline is its own line, weighted by stage, with the deal names in each reason.

  • LiveEvery cost centre and counterparty, Stripe and the CRM in one conversation
  • LiveAgreements and price lists attached to the budget, cited in the reason
  • In developmentTeam leads enter their own lines, and see only their scope
Example Group, illustrative data. The CRM answers through its own MCP server, in the same conversation as Control.

What else the same approach does

  • Live

    Scenario testing

    One instruction, a new version next to the original.

    Versions start from the same consolidated, translated actuals, so the P&L, balance sheet and cash flow move together.

    Scenario planning and modeling
  • Live

    Complex monthly forecasts

    One prompt, plus skill files that explain the logic row by row.

    Usage revenue, hiring plans and contracts, each rule a paragraph the agent follows and cites.

    Financial modeling with AI
  • In development

    Automation

    Scheduled agents that will update the forecast and propose changes with their evidence, for a person to approve.

    Reviews that run on a schedule in Control are launching soon: four review templates will run on the schedule you set and flag what they find.

    AI agents in finance

What one number carries

Every value the agent writes says why In a model, it says =Drivers!F14+Drivers!F15

Pick any value the agent wrote and you get its reason, the files that reason cites, who wrote it and when. A question from the board is answered from the cell.

Hosting › Finland Oy · Nov 26Forecast Q4

−34,900.00 EUR

Reason
Reserved-instance commitment of €26,000 a month from 1 November (reserved-instances-agreement.pdf, attached to the budget), plus usage above the reservation at on-demand rates: €8,900, the July to September average of three provider invoices.
Written
FP&A lead via MCP, 14 Oct 2026
LiveChange history keeps the value it replaced.
In a model

−34.9

=Drivers!F14+Drivers!F15

The value and a formula reference. Why, from which file, and who stands behind it live somewhere else, if anywhere.
A question on the cellLive
  1. CFO

    Is November’s drop in hosting real, or timing?

  2. AI client, via MCP

    Real. The reserved-instance agreement starts on 1 November; the file is attached to the budget.

  3. Resolved by the group controller
Hosting, Forecast Q4 against Budget 2026, in the statements.

Scenarios

Describe the drivers, get the whole plan Two build-ups of revenue, a version for every what-if, each with its P&L, balance sheet and cash flow

In a driver-based tool, each way to build revenue is a driver tree to build and maintain, so a second build-up means a second model. Here a build-up is a paragraph and each what-if is one more sentence: your AI client writes it as a version in Control from the paragraph and the actuals, with a reason on every value, and every version carries its P&L, balance sheet and cash flow. Compare them side by side, bottom-up by market against top-down by category, and lock the one the board chooses.

Build-up 1: By market

revenue-by-market.md

# revenue = active markets × customers per market × average purchase per customer

  • Active markets: 6, the 5 we sell in today plus 1 opening in 2027
  • Customers per market: 50
  • Average purchase per customer: €63k a year

6 × 50 × €63k = €18,900k

Each ask writes a new version

  1. 1A: “Average purchase 10% lower”

    • average purchase €63k to €56.7k
  2. 1B: “New markets opened twice as fast”

    • new markets 1 to 2
    • active markets 6 to 7
  3. 1C: “A larger marketing budget lifts penetration”

    • marketing budget +€600k
    • customers per market 50 to 55

Build-up 2: By category

revenue-by-category.md

# revenue = addressable companies × our share × spend per customer

  • Addressable companies: 3,000, the 2,500 in the category today plus 20% growth in 2027
  • Our share: 10%
  • Spend per customer: €63k a year

3,000 × 10% × €63k = €18,900k

Each ask writes a new version

  1. 2A: “The category grows faster”

    • category growth 20% to 30%
    • addressable companies 3,000 to 3,250
  2. 2B: “An integration launch expands the category and we win most of the new part”

    • addressable companies 3,000 to 3,050
    • our share of the new part 70%

Seven versions, FY 2027

Example Group · EUR thousandsLive
Build-up 1 · By marketBuild-up 2 · By category
FY 2027, EUR thousands1Base1ALower purchase1BFaster markets1CMore marketing2Base2AFaster category2BIntegration
Revenue18,90017,01022,05020,79018,90020,47521,105
EBITDA2,5106204,4633,0822,5103,4873,877
Net income1,7442323,3062,2021,7442,5262,838
Year-end receivables2,5102,2592,9282,7612,5102,7192,803
Year-end equity5,2243,7126,7865,6825,2246,0066,318
Year-end cash3,2141,9534,3583,4213,2143,7874,015

Columns 1 and 2 are the same plan built two ways, bottom-up by market and top-down by category, and both count 300 customers, so each build-up checks the other; every other column is one ask. Each is a version with its P&L, balance sheet and cash flow, and the grid shows six lines of each. Cost of sales follows the number of customers at the plan’s cost per customer, year-end receivables follow revenue at the plan’s ratio, and operating costs stay as planned unless the ask names a cost.

Automatic sensitivity sweeps across the drivers, computed in Control, are in development; today each sensitivity is an ask that becomes a version, with its three statements. See the status board.

Example Group, FY 2027, EUR thousands, illustrative data; every scenario is a version in Control, compared with actuals, locked when chosen, every value with its reason.

One decision through the three statements, step by step: scenario planning and modeling.

Where Control sits

Agents on top, checks underneath

Your AI client does the work. Your AI asks before it writes. Control enforces the checks, whichever client you connect: a reason on every value it writes, locks, the limits of your role and the change history. Below them are the layers, from the books to your AI client, then everything planning in Control does today, grouped by what it does for you, with what is launching soon and in development.

  • 01A reason on every value a client writes

    On unified budgets, a value an AI client writes without its reason is refused, and nothing from that write is saved.

  • 02Locks

    Lock the version the board approved, and nobody changes it until someone unlocks it.

  • 03The limits of your role

    Your AI client gets at most what your role in Control allows, checked on every request it makes. A read-only connection gets no write tools.

  • 04Change history

    Every change keeps who made it, when, through which channel, and the value it replaced.

The layers, from the books to your AI client

A ledger gives you the books, and an app builder gives you the screen. Between them is where the work is: versions whose balance sheet and cash flow move with the P&L, a reason required on every value an AI client writes, locks, change history and a role check on every call. In Control those layers are built.

  • 05Consolidated, transaction-level actuals

    The books each entity already keeps, from 14 ledger and billing systems, read-only by default, on one group chart and dimensions with FX and eliminations, and every actual open to its entries.

  • 06A planning engine on the same accounts

    Versions with the three statements and balance sheet drivers, locks, a reason required on every value an AI client writes, change history and comparisons with the actuals.

  • 07An MCP server with your role on every call

    The server’s 95 finance tools, every call checked against the signed-in user’s role, and no write tools for a read-only connection. ISO/IEC 27001:2022 certified, EU-hosted.

  • 08Your own AI client and its skills

    Claude, ChatGPT, Codex or another MCP client, with skills for the recurring jobs; reviews that run on a schedule in Control are launching soon.

Weighing a build of your own, or your ledger’s own planning app? Read Control.dev vs building it yourself, and see how Control.dev runs together with Light.

Planning capabilities by outcome, status on 30 Oct 2026: 13 live, 2 launching soon, 3 in development

No implementation project

The plan uses the accounts, entities and dimensions your consolidation already has. Planning starts in days, not after a modeling project.

  • Live
    Plan and actuals on the same accountsBudgets and forecasts use the group chart, entities and dimensions the consolidation already maps to, so there is no second mapping for planning. A new cost centre or account follows on sync once it is mapped.
  • Live
    Versions, fill from actuals, lock, historyCopy a version, fill the closed months from the ledger, lock the version the board approved and keep every change with who made it and when.
  • Live
    P&L, balance sheet and cash flow in one planThe balance sheet and the indirect cash flow start from the ledger’s opening balances and move with the P&L through receivables and payables.

Your AI does the work

Claude, ChatGPT or Codex writes the plan from your actuals, your files and your pipeline, with a reason on every value.

  • Live
    Your AI client writes the plan, with a reason on every valueClaude, ChatGPT or Codex copies a version, fills months from actuals and writes values over MCP. On unified budgets, Control refuses any value that arrives without its reason.
  • Live
    Attach the agreement, the hiring plan, the price listDocuments attached to a budget stay with it as context. The AI client reads them when it forecasts, and cites them in the reason.
  • Live
    Billing and pipeline data in the same conversationStripe entries sit beside the group’s statements in Control, and a CRM’s own MCP server can answer in the same conversation, so revenue can be forecast from invoiced usage and pipeline.
  • Live
    The Budget assistant inside ControlThe same work from the app’s own chat: seed a version from actuals, import a workbook, write values.

Every number shows where it came from

A value your AI client writes carries its reason, its sources and its author, and every actual opens to the entries behind it.

  • Live
    The reason on the cellAn explained value shows why it is what it is, who wrote or confirmed it, through which channel and when, with the value it replaced in the history.
  • Live
    The question on the cellReview comments on actuals, on plan comparisons and on prior-period comparisons, by people or by agents, resolved only when a person says so.
  • Live
    Every actual opens to its entriesA figure in a comparison opens to the accounts and transactions behind it, in Control and in the AI client’s answer.
  • Launching soon
    Advanced invoice readingThe agent reads the invoice documents behind a line and compares a commitment with the bills, launching soon.Book a demo

Change the logic by editing a paragraph

The rules live in plain language, and the AI can test a new rule against booked actuals before it writes. Automatic sensitivity sweeps computed in Control are in development.

  • Live
    The logic in plain language, in a skill fileThe forecast rules live as reusable instructions in your own AI client. A controller edits a paragraph; nobody rebuilds a model.
  • Live
    Test new logic against booked actualsAsk the client to run the rewritten rule over the closed months first and report where it diverges from what was booked, and why.
  • In development
    A driver-sensitivity simulation engineAutomatic sensitivity sweeps across the drivers, computed in Control, are in development; today each sensitivity is an ask that becomes a version, with its three statements.Book a demo

Control stays with you

Locks, reasons and history are enforced by Control, not promised by the AI.

  • Live
    Locks, confirmed explanations and change historyA locked version refuses every write, from people and from AI clients. On unified budgets, a value an AI client writes without its reason is refused, a person can confirm an explanation and stand behind it, and every change stays in the history with who made it and when.
  • In development
    Budget owners see and edit only their own scopeTeam leads will get entity and cost-centre access, enforced in the app, the API, MCP and exports.Book a demo

Work that runs on a schedule

Reviews that run on your schedule are launching soon. Agents that update the forecast are in development.

  • Launching soon
    Reviews that run on a schedule in ControlFour review templates will run on the schedule you set and flag what they find: the ledger against the account guide, supplier spend and duplicate billing, revenue by dimension, and budget against actual by entity.Book a demo
  • In development
    Scheduled agents that update the forecastA monthly forecast update will run on a schedule and ask in plain language, with the latest actuals in and proposed changes with evidence out, applied only after a person approves.Book a demo
Questions

What planners ask about agentic planning

Short answers on the approach, the controls, what is live today and the alternatives.

Ask us about your plan
What are agentic planning and agentic budgeting?

Agentic planning is budgeting and forecasting done by an AI agent on your real books, and agentic budgeting is the same approach applied to next year’s budget: you write the logic in plain language, and the agent does the arithmetic. In Control.dev the agent is your own AI client, Claude, ChatGPT or Codex, connected to the Control.dev MCP server. It reads the consolidated actuals, writes plan values with a reason on each, and works inside the locks, checks and change history Control enforces.

Do we still need a planning tool?

You need a place where the plan is checked, locked and compared with actuals. You do not need a second copy of the business to keep it in. In Control.dev, budgets, forecasts and scenarios are versions on the same group chart, entities and dimensions as the consolidated actuals, and the AI client does the work a planning model needed a system expert for.

How is this different from driver-based planning?

A driver-based model keeps the logic in formulas a system expert maintains. Here the logic is a paragraph in a skill file anyone in finance can read, and the agent computes from it each time, from the actuals in the ledger. When the business changes, a controller edits the paragraph and asks the client to check it against booked actuals first. In a driver-based tool, a second way to build revenue is a second model to build and maintain; here it is a second paragraph. The paragraphs become versions in Control, each with its three statements, and you compare them side by side. A driver-sensitivity simulation engine is in development.

How is this different from a planning agent inside Excel?

The plan lives in Control, on your consolidated actuals, not in a workbook. The agent reads actuals from the books Control consolidates, with eliminations and FX, and writes values with their reasons into versions Control locks. A workbook agent works on the numbers someone pasted into the sheet. Spreadsheets keep their place: a complex model can be attached to the budget and read as a cited source file.

What if the agent’s number is wrong?

On unified budgets every value the client writes carries its reason, so a wrong number shows where it came from: the sentence and the files it cites. Control refuses any value written without its reason, and the change history keeps every value with the one it replaced, so a fix to the skill file or to the value is on record.

Who can see what?

Over MCP, the AI client gets at most what the connected user’s role allows in Control, and a read-only connection gets no write tools. As of 30 Oct 2026, access that limits budget owners to their own entities and cost centres is in development; until then, collect their numbers in a file and import it, each value with its reason.

What is live today, and what is coming?

As of 30 Oct 2026, launching soon: advanced invoice reading; reviews that run on a schedule in Control. In development: a driver-sensitivity simulation engine; budget owners see and edit only their own scope; scheduled agents that update the forecast. Everything else on the status board is live today, from the plan itself to locks and the change history. No dates are given until a capability ships.

What does it cost?

There is no separate planning or MCP module to buy: budgets, forecasts and MCP access come with every plan. The pricing page lists the self-serve plans, a group with more than the five ledgers the Enterprise plan includes gets a quote, and the 30-day trial needs no card.

Can we build this ourselves with our own AI tools?

Your team can build the screen, and the long part is the layers under it: consolidated, transaction-level actuals from every entity’s ledger with FX and eliminations, a planning engine with versions, the three statements, locks, reasons and change history, and an MCP server that checks the user’s role on every call. In Control those layers are built, and your own AI tools work on top of them. Control.dev vs building it yourself sets out what a build of your own takes, and what you keep.

Our ledger has its own planning app. Why Control?

The ledger’s app keeps the budget on the ledger’s own structure. Control adds versions with the three statements, scenarios from paragraphs, a reason on every value an AI client writes, locks and change history, and the AI client your team already uses writes the plan over MCP. The two run side by side, the ledger as the books of record and Control as the planning layer on top, as the comparison with a ledger’s own planning app shows.

Bring last year’s budget and three assumptions

In 30 minutes we run them on a sample group and show how the same session would read your ledgers.

The app works best on a desktop browser.

  1. 1

    Start the 30-day trial, no card

  2. 2

    Connect your first ledger yourself, or with us on a call

  3. 3

    Add the server URL to your AI client

  4. 4

    Ask a question you already know the answer to

Budgets, forecasts and MCP access are in every plan. Self-serve plans are on the pricing page; groups with more than the five ledgers the Enterprise plan includes get a quote.