# Spend Limits

Usage-based charges can move faster than anyone plans for: a busy week of
calls, a large brain crawl, a campaign that lands better than expected.
**Spend limits** let you set a ceiling on what your workspace can run up in
usage charges within a billing period — either across everything, or on one
service at a time.

A limit is a hard stop, not a warning. Once it is reached, the actions it
governs are **refused** until the next period or until the limit is raised.
That is the point: you decide the ceiling in advance rather than discovering
it afterwards.

Fixed subscription fees are not counted toward a limit — only usage charges.

## What you'll need

- The **`billing:read`** permission to see the limits, and **`billing:manage`**
  to change them. The seeded **Billing Admin** role carries both; tenant
  admins have every permission. A user with `billing:read` alone sees the same
  figures with the fields locked.
- Nothing else — limits are self-service and take effect immediately on save.

## Where to find it

The **Spend limits** card is on your billing page. There are two ways in, and
which one works depends on your role:

- **Your user menu** (the avatar, top right) → **Billing & Spend Limits** —
  available to anyone with `billing:read`, including a Billing Admin who is
  not a tenant admin.
- **Tenant Settings** (the gear in the top bar) → **Billing** — the settings
  hub itself is tenant-admin only.

Both land on the same page. The card edits the **current period only**; select
an earlier month from the period selector and the card is hidden, because a
closed period cannot be re-capped.

## The two-layer model, and which limit wins

Two limits can apply to the same spend:

| Layer | Who sets it | Shown as |
|---|---|---|
| **Your limit** | You, on this card | The **Your limit** column, and the account-wide field |
| **The plan's ceiling** | Your plan | The **Plan limit** column |

**Where both apply, the tighter one wins.** You can always lower your
exposure below what the plan allows; you can never raise it above.

The card tells you which one is currently binding, in the line beside the
usage bar:

> *Yours is tighter than the plan's $500.00 — yours applies.*

> *The plan's $500.00 is tighter — it applies instead.*

The second is shown in amber, because it means the number you typed is **not**
the number in force. If you set a limit and the figure that binds is still the
plan's, that line is where you find out.

When no plan ceiling is configured, the line is absent and your limit is
simply the limit.

## Set an account-wide limit

An account-wide limit applies to every usage charge together. Reaching it
blocks **all** billable actions in the workspace.

1. Open the billing page and find the **Spend limits** card.
2. In the **Account-wide limit** block, type a dollar amount in the field.
3. Click **Save limits**.

The usage bar underneath then reads `$X spent this period of $Y`, and once the
limit is reached the card shows:

> *Limit reached — billable actions are being refused right now.*

Because an account-wide limit stops everything, set it as a genuine ceiling —
a figure you would not want the workspace to pass — rather than as a nudge.
To constrain one kind of work, use a per-item limit instead.

## Set a limit on one service

The **By service line item** table lists the billable services separately, with
what you have spent, the plan's limit, and your own.

1. Find the row for the service you want to cap.
2. Type a dollar amount in its **Your limit** cell.
3. Click **Save limits**.

When that row's limit is reached, only that service is refused — everything
else carries on. The row shows:

> *Limit reached — these actions are being refused.*

### Why some rows say a limit can't take effect

Most of the billable catalog is priced at **$0** today. Those rows are hidden
behind **Show all items (N more)**, and when shown they carry the note *"Bills
at $0 today — a limit here can't take effect yet."*

That is accurate rather than dismissive: a dollar limit on a service that
costs nothing can never bind. A row that already carries a limit is never
hidden, so you can always see and edit a limit you have set.

## Remove a limit

Clear the field and click **Save limits**. An empty field means **no limit**,
and the figure line changes to `… · no limit in force`.

Note the difference between an empty field and a limit of `0`: **`0` is a real
limit that refuses everything.** If you want to remove a cap, empty the field
rather than zeroing it.

## What a limit does not do

- It does not cap **fixed subscription fees** — only usage charges.
- It does not apply retroactively to a closed period.
- It does not raise your plan's ceiling. If the plan is tighter, the plan wins.

## Troubleshooting

**I set a limit but spending continued past it.**
Check the attribution line beside the usage bar. If it reads *"The plan's $X is
tighter — it applies instead"*, your figure is not the one in force. Also
confirm you clicked **Save limits** — the button is disabled until something
changes, and enabled again as soon as it does.

**I can see the limits but the fields are greyed out.**
You have `billing:read` but not `billing:manage`. The card says so directly:
*"You can view these limits but not change them. Managing billing is a
per-role permission an admin can grant."* Ask a tenant admin to grant
`billing:manage`, or to assign the **Billing Admin** role.

**The Spend limits card isn't on the page.**
You are probably viewing an earlier billing period — the card edits the
current period only. Return to the current period and it reappears.

**A limit I set on one service seems to have stopped everything.**
Check the **Account-wide limit** block as well. The account-wide cap is
evaluated first and refuses every billable action, so if both are set, that is
the one to look at.

## Alerts before the stop

You are not left to watch the bar yourself. Karmaflow.ai raises an alert at
**80%** and again at **100%** of a limit — separately for the account-wide cap
and for each service line item that has one — so a limit about to bite is
something you hear about rather than discover when work starts being refused.

Each alert fires once per limit per billing period.

## Related

- [Notifications](/help/integrations/notifications) — the sender identities
  used for transactional and notification email, including these alerts.

[Sign in to Karmaflow.ai](https://omni.karmaflow.ai/auth/login)
