The control plane for AI compute spend

Put AI compute on a budget.

AI has become a runaway, unpredictable line item. Outlay attributes every dollar of LLM and coding-agent spend to the work you already plan — tickets, epics, roadmap — forecasts cost by scope, and lets you enforce a budget per program, reallocating compute to the work that matters most. Finally, the fastest-growing line item is as governable as the work that drives it.

Every major provider · read-only to start · FOCUS-aligned export + API · prompts never leave your environment · built for security review →
Spend by scope · last 30 daysexample
Epic — Q3 Stability platform$6,430
Epic — Billing v2 growth$4,210
Epic — Auth / SSO platform$2,980
Unmapped reconciled to invoice$1,940
Budget burndown · this quarterover pace
$45kof $50k budget · 71% of period elapsed
On pace to land ~$61k — 22% over budget · flagged with 6 weeks left to act
Budget$50k
Projected at current pace$61k
Reads spend from every major AI provider AnthropicOpenAIAzure OpenAI AWS BedrockGoogle Vertex Claude CodeCursor JiraLinearGitHub
Built to your standards — open, portable, auditable Data never leaves your environment FOCUS-aligned export BI & warehouse API SSO · SAML · SCIM · 2FA Audit-log export → SIEM Configurable retention + self-serve erasure Enforce budgets by program
One control plane, two owners

The question leadership keeps asking — finally answerable.

“What is this body of planned work costing us in AI, and are we on track?” Today's tools meter infrastructure — API keys, models, dashboards. Outlay meters the work.

For engineering leaders

Predictable delivery, by scope.

See exactly what each ticket, epic, and sprint costs in AI — and which work is about to blow its estimate — the way you already plan effort.

  • Cost per ticket, epic, sprint, and engineer, reconciled to the real invoice.
  • Estimate planned work from its requirements + design docs — budget an epic before you build it.
  • Forecast a quarter from its open scope, not from last month's bill.
  • Anomaly flags on the one ticket burning 10× its class — before it's a surprise.
For finance & FinOps

Govern the fastest-growing line item.

Allocate AI spend to teams and cost centers, set budgets by scope, and get alerts before overspend — not a surprise invoice at month-end.

  • Allocation of every dollar to a team, cost center, and roadmap item.
  • Budget vs. actual with pace-based projection to end-of-period.
  • Pace-based guardrails that flag a scope trending over before the invoice lands.
How it works

A closed loop: attribute, forecast, guardrail.

Connect the tracker and AI tools you already use. Read-only to start — no app rewrite, no prompts leaving your environment.

1

Attribute

Every dollar of agent & LLM spend mapped to the ticket, epic, and roadmap it belongs to.

# tag / branch / PR → ticket fix/PROJ-123 → PROJ-123 → Q3-stability
2

Forecast

Predict a quarter's cost from its open scope, the way you estimate engineering effort.

# open roadmap × per-class cost Q3 forecast: $48k ± $9k
3

Guardrail

Pace-based alerts flag a team trending over before it blows through — not after.

# projected, not a hard cap epic Q3-stability on pace $22k · over
Attribution nobody else has

Spend mapped to the work — projected on pace.

Every gateway, observability, and FinOps tool stops at an infrastructure tag. Outlay resolves the git context of each AI call back to the ticket — and budgets it like real work.

Budget burndown · epic Q3 Stabilityover
Budget (this quarter)$5,000
Spent so far · 29% of period$6,430
Projected at current pace$22,000

Illustrative. Flagged OVER early — driven by one outlier ticket at 11× its class median.

By ticket
Every dollar attributed to the work it belongs to — ticket, epic, team, sprint, roadmap — and reconciled to the provider invoice.
On pace
Guardrails project the end-of-period total at the current burn rate, so a lead acts before overspend — not after.
Measured, not promised
Every forecast is back-tested on your own closed tickets (leave-one-out), and we show the error and the sample size — never a vendor benchmark.
Metadata only
Attribution runs on categories, token counts, and ticket IDs. Prompt content, model outputs, and keys never leave your environment.
The math

The same usage, costed two ways.

Agentic coding re-sends a large cached prefix every turn, so cache-read tokens — billed at roughly a tenth of base input — dominate the count. Price every token at the base rate, the way most spend tools and spreadsheets do, and the number balloons. We costed our own Claude Code usage both ways.

Our build · ~$340 of real Claude usagemeasured
Naive token-count tracker$2,516
Outlay · cache-aware (correct)$340

Measured on our own build sessions: 98% of input-side tokens were cache reads, so the naive method overstates by 7.4×. Reproduce it yourself: python -m outlay.dogfood --proof-only.

Cache reads are most of your bill
On agentic workloads, cache reads are the large majority of tokens — and they bill at ~10× less. Costing them right is the difference between a real number and fiction.
Per token class, per model
Input, output, cache read, and cache write are priced separately, per model — across Anthropic, AWS Bedrock, Google Vertex, and OpenAI / Azure.
Reconciled to the invoice
The cache-aware total is checked against the provider's billed figure — so finance trusts the number, not a token estimate.
Shows up the moment you connect
Your own cache-aware-vs-naive gap appears on your dashboard as soon as real usage lands — no proxy, no setup.
Plan with numbers, not guesses

Estimate a project's AI cost before you build it.

Roadmap and sprint planning shouldn't guess at compute. Hand Outlay the planned work — epics and tickets with their requirements and design docs — and it prices each one against the cost model it learned from your own delivered work, with a confidence range you can budget against.

Planned Q3 backlog · estimatedexample
SSO — SAML + SCIM requirements + design doc$3,800
Billing v2 migration large · thin scope$9,400
Flaky-test cleanup well-specified$1,200
Total estimate~$14,400
Likely range$9,900 – $19,900

Illustrative. Each item priced from your own per-work-type history; thin-scope items get a wider band, not a false-precise number.

From your own history
Each item is priced against the cost-per-work-type model learned from your delivered tickets — not a generic benchmark.
Requirements + design docs
Feed the scope you already wrote. The more context — requirements, design docs, story points — the tighter the range.
Confidence, not false precision
Every estimate carries a low–high band and a confidence tier; under-specified work is flagged to tighten, never silently guessed.
Budget before you commit
See what an epic or a sprint will cost in AI before it's built — so you can rescope, resource, or defer with eyes open.
Govern, don't just observe

Enforce a compute budget by program — and reallocate to what matters.

Group the work that shares a goal — several teams, projects, or work types — into a program, and give it a budget. Outlay alerts before it's blown. And with the opt-in gateway in front of your calls, that budget becomes a true hard cap: an over-budget program is automatically blocked or routed down to a cheaper model — so compute flows to the programs you care about most. As priorities shift, move the budget; enforcement follows.

Programs · compute by priorityenforcing
Platform hard cap · over · enforced 1,240×$61k / $50k
Launch — Q3 GA hard cap · on track$28k / $40k
Growth experiments alert only$12k / $30k

Illustrative. Platform is over its cap, so new Platform calls route down automatically — freeing budget for the launch. Raise a program's cap to send compute back to it.

One budget, many teams
A program spans the teams, projects, and work types that share an objective — budgeted and enforced as a single number, not scattered across scopes.
A hard cap, your choice
When a program goes over, block new calls or route them down to a floor model — automatically, at the gateway. Or stay alert-only and let your own automation act on a webhook.
Reallocate as you go
Priorities change mid-quarter. Move budget between programs and enforcement follows instantly — compute flows to the work that matters now, capped on the work that doesn't.
Read-only by default
Attribution and alerts never touch your traffic. Hard enforcement is an explicit opt-in: you run our gateway in front of your calls only if you want it to act — and it fails open, never blocking on our uptime.
The platform

From line item to control plane.

Spend mapped to your roadmap

LLM and coding-agent spend attributed to the ticket, epic, sprint, and team it belongs to — the allocation finance has never had for AI.

Forecast by scope of work

Predict a quarter's AI cost from its open scope, then watch budget-vs-actual burn down in real time.

Guardrails — alert or enforce

Pace-based alerts (ok → warn → over) by default, read-only. Or set a program hard cap the opt-in gateway enforces — block or route-down over-budget work automatically.

Accuracy you can check

Every forecast is back-tested on your own closed tickets, leave-one-out — we show the measured error and the sample size, by work type. No vendor benchmark to take on faith.

Works with your stack

Jira, Linear, GitHub Issues; Claude Code, Cursor, the API. Reliable attribution even for remote / CI agents via explicit task-tagging.

Privacy by architecture

Attribution runs on metadata — connected with read-only tokens. Prompt content, model outputs, and your API key never leave your environment.

Your data, your way

It's your spend data — take it anywhere.

Outlay is a hub, not a silo. Export FOCUS-aligned cost rows for any FinOps/BI tool, pull them programmatically through a read-only API, and stream your audit log to your SIEM — all reconciled to the provider invoice, to the cent. No lock-in, ever.

Outlayspend mapped to work FOCUS CSV · BI APISnowflake, BigQuery, your BI Audit-log APISplunk, Datadog, S3

FOCUS-aligned export

Per-ticket charge rows using the FinOps Open Cost & Usage Spec column names — load straight into any FOCUS-aware FinOps or BI tool.

# spec column names · per-ticket rows BilledCost,ServiceCategory,Tags{team,work_type}

BI & warehouse API

A token-authed, rate-limited endpoint returns your latest report as JSON for any warehouse or BI pipeline — the same attributed numbers as the console.

GET /api/v1/spend → { total_usd, rows[], data_quality }

Audit log → your SIEM

Stream every security event to Splunk, Datadog, or S3 — poll the audit API with a cursor for gap-free ingestion, or export CSV for GRC.

GET /api/v1/audit?since=cursor

Plus HMAC-signed webhooks for budget & anomaly events (retried, with a delivery log), and a printable month-end close pack — emailed automatically with the FOCUS CSV attached.

Integrations

Works with every model and every tool in your stack.

Outlay reads spend from every major provider and connects it to the systems where the work actually happens — read-only, no app rewrite, no prompts leaving your environment.

AI providers
  • Anthropic API + admin usage
  • OpenAI
  • Azure OpenAI
  • AWS Bedrock
  • Google Vertex
Coding agents
  • Claude Code session transcripts
  • Cursor admin usage
  • CI / remote agents task-tagging
Code & trackers
  • GitHub issues + PRs
  • Jira
  • Linear
Warehouse, BI & SIEM
  • FOCUS CSV export
  • BI / warehouse API
  • SIEM audit-log export
  • Webhooks

Reconciles against your provider invoice — Anthropic, AWS Cost Explorer, GCP Cloud Billing, OpenAI Costs — so finance trusts the number, not a token estimate. Connect your stack →

Privacy & enterprise governance

Built to pass your security review.

Most spend tools see everything you send. Outlay is built so the sensitive data physically can't reach us — purpose-built for teams that can't let prompts leave their environment: healthcare, legal, and financial services.

Your toolstracker + AI usage Read-only syncusage counts + ticket ids Outlayspend mapped to work, forecast, budgets
Connected with read-only tokens — Outlay reads usage metadata (models, token counts) and ticket references, never prompt text or model outputs.
Your API keys and prompts never pass through Outlay — we read your provider's usage data, not your traffic.
SSO / SAML, SCIM provisioning, and 2FA — with role-based access (owner / admin / member / billing) and a full audit log.
Configurable data retention and self-serve erasure — set how long history is kept, or wipe ingested data and your account, yourself, anytime.
Audit-log export to your SIEM, signed webhooks, and a rate-limited API with scoped, expiring keys.
Per-deployment isolation, and you can leave anytime — your data stays yours. See the security overview →
How we compare

A different category, on purpose.

FinOps suites allocate cloud bills. Observability tools trace API calls. Native consoles cap per seat. None attribute AI spend to the work you plan, or budget it by scope — because they live at the infrastructure layer and can't see your roadmap. And the ones that compute from tokens price cache reads at full rate, so their per-team numbers can run several times too high.

  Outlay FinOps suites LLM observability Native consoles
Attributes spend to tickets, epics & roadmap cost-center tags only spans / agent-runs seat / team
Forecasts cost from planned scope ~cloud trend forecasts
Pace-based budget guardrails by scope ~account budgets/alerts ~per-seat caps
Cache-aware costing (per token class) cache reads at ~0.1× ~reads the bill, can't attribute tokens at a flat rate ~provider total only
Reconciled to the provider invoice Anthropic, Bedrock, Vertex, OpenAI it is the bill single provider
Forecast accuracy back-tested on your own work leave-one-out, with sample size
Prompts never leave your environment reads billing, not content traces prompts/outputs

Where they fit: keep a FinOps suite for cloud, and observability for debugging quality. Outlay is the layer they can't be — AI spend attributed to the work you plan, forecast by scope, and held to budget. See the full comparison →

Pricing

Be one of our first customers.

Outlay is live and onboarding its first customers now. Your first weeks are free — and because you're early, you get a team that ships fast: tell us what you need and we build it.

Your first weeks

A focused start: connect one tracker + your AI tools, get your real spend mapped to tickets and a budget forecast in weeks — read-only, no app rewrite.

  • Spend attributed to your tickets, epics & roadmap
  • Budget-vs-actual with pace-based guardrails
  • A real ticket-coverage & forecast read on your data
  • A team that ships the features you need, fast
Get started →
What getting started looks likeRead-only, no app rewrite. You see your real spend mapped to work in weeks — not a slide deck.
  • Connect one tracker + your AI tools with read-only tokens
  • Spend mapped to tickets, a forecast, and a measured-accuracy read
  • Prompts & keys never leave your environment

Early-customer pricing for ongoing budgeting & governance — talk to us.

FAQ

Questions, answered.

How does Outlay attribute spend to a ticket?

It resolves the work context of each AI call from the most reliable signal available — an explicit task tag from your agent launcher or CI, the git branch, the PR's closing-issue link, or a commit trailer — and maps it to the ticket, epic, and roadmap in Jira/Linear/GitHub. Where a team already links work to tickets it's automatic; where they don't, a one-line explicit tag makes it reliable — even for remote/CI agents where the branch is detached.

Do you see my prompts or my customers' data?

No. Outlay connects with read-only tokens and reads metadata — task category, token counts, ticket IDs, and your provider's usage data. Prompt text, model outputs, and your API key never reach our servers.

Are the guardrails hard caps, or just alerts?

Both — your choice, per program. By default they're pace-based projections: a scope on track to exceed its budget is flagged warn (and over once it crosses), so a lead acts while there's time — Outlay never touches your traffic. For a true hard cap, set a program to enforce: with the opt-in gateway in front of your calls, an over-budget program is automatically blocked or routed down to a cheaper model. That gateway is the one mode where we're in your path, it's entirely opt-in, and it fails open — a control-plane blip never blocks your traffic, only a budget you set being exceeded.

How accurate is the forecast?

We don't ask you to trust a vendor benchmark. Outlay back-tests its forecast on your own closed tickets, leave-one-out — hide a ticket, predict it from the rest, compare to what it actually cost — and shows the measured error and the sample size, by work type. As more work closes, the number sharpens.

Can it estimate work that hasn't been built yet?

Yes — that's the forward estimator. Hand it a planned backlog (epics/tickets with their requirements, design docs, and story points) and it prices each item against the cost-per-work-type model learned from your own delivered work, returning a per-item and total estimate with a low–high confidence band. Under-specified items are flagged to tighten rather than guessed, so you can budget an epic or a sprint before committing to it.

What does it work with?

Trackers: Jira, Linear, GitHub Issues. AI tools: Claude Code, Cursor, and the Anthropic API (per-call usage + the org admin API for reconciliation). Read-only to start — no app rewrite.

How does pricing work?

Outlay is live and onboarding its first customers; your first weeks are free and we're setting early-customer pricing now. Talk to us to get started.

Put your AI spend back on a budget.

See what your AI compute costs per ticket, epic, and team — and where it's about to go over. We're onboarding our first customers now.

Read-only to start · prompts never leave your environment · no app rewrite