Budget Management
Formael tracks two independent kinds of money for every intent your agents execute. Both are checked synchronously before any action takes place — an intent that would breach a limit is denied before execution begins.
Two Ledgers, Two Stakeholders
Platform Spend
Platform spend is what Formael bills your organization: the platform fee per intent plus any AI inference and connector pass-through costs. It is always denominated in USD and represents your Formael invoice.
Platform spend limits are set in USD and apply to Formael's charges — not to the business transactions your agents perform.
Who owns this: Engineering, FinOps, the person managing the Formael subscription.
Action Value
Action value is the monetary amount your agents move in external systems — invoice totals, payment amounts, refund amounts. Formael reads this from each capability's declared monetary field and tracks it per currency. A EUR invoice and a USD payment each accumulate against their own per-currency limit.
Action value limits are never converted across currencies during a policy decision. A EUR limit has no effect on USD transactions and vice versa.
Who owns this: Finance, AP/AR, compliance, fraud operations — not Formael billing.
Setting Limits
Both ledger types support the same scope hierarchy. Limits can nest: a per-agent limit inside a domain limit inside an org-wide limit. The platform enforces the binding constraint at all scopes simultaneously.
Scope levels
| Scope | Applies to |
|---|---|
| Organization | All agents, all domains — the ceiling everything else sits below |
| Per agent | A specific agent's activity across all domains |
| Per domain | All agents operating within a specific domain (e.g., finance) |
Limits can be combined. An agent executing a finance intent will be checked against: the org-wide limit, its own per-agent limit, and the finance domain limit — all at once.
Configuring limits
Navigate to Governance → Budgets in the dashboard. Select the ledger type (Platform Spend or Action Value) and the scope you want to apply the limit to.
For action value limits, specify the currency alongside the amount. A EUR limit does not cap USD spend and can coexist with a separate USD limit on the same scope.
Limits apply to a configurable period — daily, weekly, or monthly. At period rollover, the accumulated value resets.
How Limits Are Enforced
The Fiscal axis of the policy engine checks both ledgers synchronously on every intent. An intent that would push accumulated spend or action value past the configured limit receives a denied verdict. The denial response identifies which limit was breached:
{
"outcome": "denied",
"denial": {
"axisResults": {
"fiscal": {
"verdict": "DENIED",
"reason": "Projected action value of €12,500 would exceed the finance domain EUR limit of €10,000",
"remainingCapacity": "€0"
}
}
}
}Limits are enforced in real time. There is no grace period or soft cap — when the limit is reached, the next intent is denied immediately.
Monitoring Usage
Dashboard
The Budgets page in the dashboard shows:
- Current accumulated spend or action value for the active period
- Remaining capacity against each configured limit
- A timeline of spend by day, agent, or domain
Analytics API
Query accumulated values programmatically via the Management API:
# Platform spend — org-wide for the current period
GET /manage/v1/budget/spend
# Action value — finance domain, EUR, current period
GET /manage/v1/budget/action-value?domain=finance¤cy=EURAlerts
Set utilization thresholds (e.g., 80% of limit) to receive dashboard notifications before a cap is reached. Alerts do not block execution — they are informational.
Policy Templates
Two policy templates activate common fiscal governance in a single step:
| Template | What it does |
|---|---|
ap-outflow-cap | Caps the action value that agents can move via finance payment capabilities per period |
formael-platform-spend-cap | Caps Formael's daily billing charge to the organization |
Apply templates from Governance → Policy → Templates. Templates provide a starting point; adjust the limits after applying to match your actual thresholds.
Relationship to Policy Rules
Budget limits are part of the Fiscal axis of the policy engine — one of four axes evaluated on every intent. A limit breach produces a denied verdict at the Fiscal axis, with per-axis reasoning in the audit record. The other three axes (Identity, Semantic, Risk) are unaffected.
Unlike Semantic or Risk axis rules, Fiscal axis limits do not require configuring individual policy rules. They are configured directly on the budget ledger in the dashboard or via the Management API.
Non-Monetary Quotas
Rate-based limits — "no more than 20 tickets per hour" or "maximum 5 concurrent deferrals per agent" — are not monetary and belong on the Identity axis. These are configured as cooldown rules or via the agent's scope settings, not as budget limits.
See Policy & Governance for Identity axis rule configuration.