Skip to content
Houtini.

AI for CFOs: Control Token Spend, Then Put AI to Work in Finance

If you're a CFO, you have two AI hurdles: a token bill that moves with usage, and a finance team that wants to use AI on the books. Today I'm looking at how a gateway with hard budgets turns the first into a fixed cost, and at the SaaS tools and MCP servers for the second, including how I run my own company's books through Xero and Claude.

Richard Baxter Richard Baxter AI Ops & Marketing Engineer
Published Updated 9 min read
On this page
  1. Hurdle one: make AI spend behave like a fixed cost
  2. Hurdle two: AI tools for daily finance operations
  3. Where to start
The CFO AI cost stack: four-lever diagram showing native console limits, gateway enforcement, router-and-open-weight model choice, and company-wide policy, with the estimated savings range visible at each lever.

In April, four months into the year, Uber had spent its entire 2026 AI budget. Anthropic's Claude Code had spread across roughly 5,000 of its engineers faster than the finance models expected, at an average of $150 to $250 per engineer a month, and $500 to $2,000 for the power users. Forbes reported the story in May, and the CTO, Praveen Neppalli Naga, confirmed the overrun to The Information and said the company was "back to the drawing board" on its assumptions. The AI bill moves with use, which makes it hard to forecast: Mavvrik and BenchmarkIT's 2025 State of AI Cost Management found 80% of enterprises miss their AI infrastructure forecasts by more than 25%.

Token cost is a growing issue at a large electronics manufacturer I work with, too (a token is the small chunk of text an AI model reads or writes, and the unit you're billed in). And I run my own company's books in Xero with Claude doing the legwork, so I've had to work out what AI can do for a finance team myself.

So, if you're a CFO you have two AI hurdles. The first is how to manage token spend as a fixed cost, and the answer is a gateway with hard budgets that finance sets as a requirement. The second is which tools your team can use for daily finance work, and there are plenty already, both SaaS and MCP.

Hurdle one: make AI spend behave like a fixed cost

You can't fix how much your teams use AI, and you probably wouldn't want to. What you can fix is the ceiling: give each team a monthly budget that refuses requests once it's spent, and you know the most the AI line can cost before the month starts.

Start with the caps your providers already give you

My standing advice is to set the provider's own spend limits on day one, then put a gateway in front of everyone. On Anthropic's Console these are hard stops. There's an organisation spend cap set by your usage tier, you can set your own organisation limit below it, and you can set spend limits per workspace. Once a limit is reached, requests are refused, and the tier cap pauses you until midnight UTC on the 1st of the month. The catch is that you can't set a limit on the default workspace, which means each team needs a workspace of its own.

OpenAI lets you set a monthly budget for the organisation, and its own FAQ says requests stop once you reach it. There may be a delay in enforcing the limit, though, and any overage is yours. Threads on OpenAI's Developer Community report that project-level budgets act more like warnings, with calls carrying on after the budget is hit.

Each provider's caps only see that provider. Every one has to be set up separately, and nothing adds up what a team has spent across all of them, which is the job a gateway does.

Make an AI gateway a requirement

An AI gateway (sometimes called a router) is one checkpoint that every AI request in the business passes through on its way to the model. Because everything goes through it, it can count spend per key and per team. When a team's budget is gone, it can refuse the request or send it to a cheaper model instead.

As the CFO, you make the gateway a requirement. Every AI call goes through one gateway, and every team gets a budget.

Only a hard budget, one that refuses requests once the money is spent, turns AI spend into a fixed cost; a soft cap warns you and lets spend run over. Most of the popular gateways have hard budgets, and a few of those let the request that crosses the line finish before they stop, which is why Vercel's documentation calls its budget a soft cap. The table below covers the popular gateways, starting with LiteLLM, the open-source one I use.

GatewayWhat it isStops spending at a dollar budget?Good to know
LiteLLMOpen-source proxy you host yourselfYes - requests fail once a key's budget is spentBudgets per key, user, team or customer, with a reset period
OpenRouterHosted router across many model providersYes - per-key spending limit with a daily, weekly or monthly resetNo markup on model prices; 5.5% fee on card top-ups
Cloudflare AI GatewayHosted gateway on Cloudflare's networkYes, in open beta - can switch to a cheaper model instead of blockingBursts can overshoot briefly; core features free
Vercel AI GatewayHosted gatewayYes, slightly late - the request that crosses the budget still completes, so Vercel's docs call it a soft capSpend on your own provider keys isn't counted
Kong AI GatewayEnterprise API gatewayYes, on the Enterprise planCost is counted after each response, so it blocks the next request
Portkey (now Prisma AIRS, Palo Alto Networks)Hosted gateway, open-source coreNot stated - its pricing page lists budgets on virtual keys, with finer limits on EnterprisePaid plans from $49 a month
Azure API ManagementMicrosoft's API gatewayCaps tokens, not dollarsWorks on every API Management tier; fronts OpenAI, Vertex and Bedrock models, and Anthropic on the v2 tiers

If you're the finance lead, the requirement is written out at the end of the page, ready to send. The next two sections are the engineering detail, so forward them to whoever runs your platform. Hurdle two, further down, is back with you.

Why your engineers will want to build it

I think of the gateway as an engineering challenge your engineering team will embrace, because it's good infrastructure work. The gateway keeps the keys in one place instead of scattered across teams, and when a provider is down it falls back to another model. It caches repeated requests, and it keeps a log of every call, which is where your cost reporting comes from.

I've built one for myself, with a LiteLLM router in front of three tiers: a free local model (Qwen, running on my own pair of modded 48GB RTX 4090s, where the only cost is hardware and power), DeepSeek V4.1 Flash as a cheap API for builds, and Claude for the judgement. Claude reaches the other two through houtini-lm, my open-source MCP server. Anything sensitive stays on the local model. My working rule for the whole thing is "Frontier scopes > DeepSeek builds > Qwen evaluates > frontier assembles." The expensive tokens go on judgement, not typing.

At the electronics manufacturer I mentioned, the work has been to develop alternative routes via a managed MCP gateway.

Send routine work to cheaper models

On 24 September 2026 I ran a small test. I gave the same spec, a little Python tool that checks an article draft before it's published, to Claude Opus 5.5 and to DeepSeek V4.1 Flash through houtini-lm. Both scripts worked. Claude's cost about $0.04 with its context read from cache, or about $0.31 uncached. DeepSeek's came to about $0.011 at peak rates and $0.0055 off-peak, even though it used about 7x the output tokens, most of them hidden reasoning. So DeepSeek did the same job for about a quarter of Claude's cheapest case. That's one task, one run each, worked out from list prices rather than an invoice.

At list prices on 9 October 2026, Opus 5.5's output costs 40 times what Haiku 5.5 or GPT-6 Luna charge, and about 17 times DeepSeek V4.1 Flash at peak.

ModelInput, per million tokensOutput, per million tokens
Claude Fable 5.1$10$50
Claude Opus 5.5$4$20
DeepSeek V4.1 Flash (peak)$0.30$1.20
Claude Haiku 5.5 (prompts up to 100k tokens)$0.10$0.50
GPT-6 Luna$0.10$0.50

There are two more discounts engineering can switch on. Prompt caching means the provider keeps a copy of text you send over and over, and charges far less to read it again; cache reads are 90-95% off the input price at Anthropic and OpenAI. Batch processing is for work that can wait (OpenAI gives batch jobs a 24-hour window), and it's 50% off at both.

Hurdle two: AI tools for daily finance operations

Your finance team has two routes to using AI on the books day to day: finance software with AI built in, or an AI model like Claude connected to your accounting system through an MCP server. MCP (Model Context Protocol) is the standard way an AI model connects to other software, in this case the ledger. I use the second route for my own company, so I'll start there.

How I run my own books through Xero and Claude

Since June 2026, Claude has worked on my company's books in Xero, using 33 scripts for the bulk jobs and my own private copy of Xero's official MCP server for day-to-day questions and one-off changes. I made the copy because Xero's server could create and list things but had no way to void or delete an invoice, or archive a contact. I added those three tools, and the two invoice tools re-read the invoice before they act and refuse anything unsafe. Void only works on an authorised invoice with nothing paid or credited against it, and delete only works on drafts and submitted invoices.

So far Claude and those scripts have built the year-end pack my accountant needed when the business moved from sole trader to limited company. About 1,300 Gmail attachments were sorted for receipts, and 1,067 of them were thrown out as image noise. On a bank-statement catch-up, the plan covered 96 lines, found 12 already in Xero and sent 12 back to me as questions; the final run took in 81 tasks, and every one went through. It also cleaned up the director's loan account, with the receipt attached to every entry.

The bank-statement catch-up ran in four steps, and that order is what I'd hand a finance team:

  1. The plan comes first, and it writes nothing.
  2. I answer the questions the plan can't.
  3. A pilot runs one task of each kind, and I check the results in Xero.
  4. The full run follows, with a ledger of finished tasks, so nothing gets posted twice.

Claude and I make the judgement calls, and the MCP server's tools are deterministic, which means they do exactly the same thing every time they're run.

There are two things that will catch your engineers out if they try this, both of them on Xero's side. New Xero Custom Connections get granular scopes (the individual permissions a connection is granted), and asking for one scope the connection doesn't have makes Xero reject the whole token. And Xero's API has no bank-reconciliation endpoint, so the scripts post the payments and the reconciliation stays a one-click match inside Xero.

Finance MCP servers you can connect today

Xero isn't the only finance system with an official MCP server. Intuit has one for QuickBooks in early preview, and Stripe, NetSuite, Ramp and Mercury (in beta) have their own; most of them can write as well as read. The Xero and QuickBooks servers need a developer to set them up on a machine, while the hosted ones sign in with OAuth (the same "sign in with your account" step as any app), which a finance person can do.

Write access is a permissions decision, so start read-only. The vendors' own guard rails, listed in the table below, point the same way as the plan-and-pilot order of my bank-statement catch-up.

For a UK business that leaves Xero, QuickBooks, NetSuite and Stripe, since Ramp and Mercury are US-focused. A search in October 2026 found no official server for Sage, FreshBooks or Brex, only community and third-party builds.

SystemServerCan it write?Setup
XeroXero's MCP server (official, XeroAPI on GitHub)Yes - invoices, contacts, payments, bank transactions, journalsRuns on your machine; a developer sets up a Custom Connection
QuickBooks OnlineIntuit's MCP server (early preview)Yes, with switches to turn writing offRuns on your machine
StripeStripe MCP (official, hosted)Yes - a person confirms refunds and outbound paymentsHosted, sign in with OAuth
NetSuiteOracle's AI Connector ServiceYes, within the user's NetSuite role; never as an adminHosted on your NetSuite account; free SuiteApp
RampRamp MCP (official, hosted)Some actions, within the user's roleHosted; US-focused
MercuryMercury MCP (beta)Can request payments, approved in MercuryHosted; US business banking

Finance software with AI built in

If you'd rather skip the setup, plenty of the tools your team uses have AI built in now, and the place to start is the system they already live in. Claude for Excel, for example, reads, explains and edits models on all paid Claude plans.

JobTools with AI built in
Spreadsheet modelsClaude for Excel; Copilot in Excel
Close and reconciliationXero JAX (automatic bank reconciliation in beta); QuickBooks AI agents (Finance agent on Advanced); Sage Copilot; Numeric; Rillet
Bills, cards and expensesRamp agents; Brex; Vic.ai
Planning and reportingDatarails AI; Vena AI; Pigment

Where to start

This week, send your engineering lead the requirement below. For the books, connect one MCP server read-only, or switch on the AI in the accounting software you already pay for, and run one month-end task through it. When you do give it write access, a person approves every change.

Once the gateway and its budgets are in, the AI bill becomes a budget line you set rather than a surprise in April.

AI: requirements from finance

1. Every AI call goes through one gateway. No provider keys in apps or on laptops.
2. Each team gets its own key with a monthly dollar budget that stops spending when it runs out.
3. Provider console limits stay on as a backstop.
4. Routine work (summaries, extraction, classification, checks) is routed to a cheaper model by default.
5. Prompt caching on wherever the same context is sent repeatedly; batch processing for anything that can wait a day.
6. A monthly report to finance: spend by team, by model and per task, against budget.
7. Any AI tool with write access to the ledger runs a dry run first and a person approves the changes.

Continue reading.