> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vantage.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Budgets

> Create and manage budgets in Vantage to track cloud spending, set cost thresholds, and receive alerts.

You can create and assign a *budget* to a Cost Report. Once a budget is assigned, it's easy to see how costs are trending for a particular service, business unit, or team. A budget can track either cumulative **cost** (dollar spend) or a **usage** quantity, such as tokens consumed, EC2 instance-hours, or GB of data transfer, so you can plan against the same units you're billed or metered in. Each budget runs on a *budget period* that can run anywhere from a single day up to multiple years, so budgets align to how your team actually plans. You can also create *budget alerts* to alert you based on configurable thresholds.

<Tip>
  To get started with budgets, you can also view video demos on [Vantage University](/vantage_university_budgeting) <Icon icon="graduation-cap" iconType="solid" />.
</Tip>

## Budget Types

In Vantage, you can create either *Standard* or *Hierarchical* budgets:

### Standard Budget

This type of budget has one level with a defined budget period and one or more periods of budgeted amounts associated with it. For example, you could use this type of budget to track costs for a single department or project.

### Hierarchical Budget

This type of budget is made up of multiple child budgets that roll up to a parent budget.

* For example, an application team can create individual budgets for AWS, Azure, and Databricks usage and then create a single budget for their application that combines all three of these child budgets. If the AWS budget changes, the parent application budget is automatically updated.
* Similarly, the organization’s FinOps team can consolidate multiple AWS budgets from various teams into a single, comprehensive parent budget to measure all AWS spend.

Hierarchical Budgets have the following characteristics:

* You can create a budget hierarchy with a maximum of 10 levels.
* A Hierarchical Budget does not have its own budget period or amounts. Instead, it aggregates the periods and amounts of its child budgets. If a child budget has no allocated budget for a specific period, that period contributes nothing to the parent’s total.
* Every child budget under the same parent must cover the exact same current period, both the same length and the same dates. For example, you can combine budgets that are all monthly and start on the same day, but you can't mix a monthly budget with a weekly one, and you can't combine two monthly budgets if one starts on the 1st and the other on the 15th (their periods don't line up). If a budget's period doesn't match, Vantage won't let you add it as a child.
* Every budget in a hierarchy must share the same metric (**Cost** or **Usage**), and Usage budgets must also share the same usage unit. You can't mix Cost and Usage budgets, or different usage units, under the same parent. The parent budget inherits its metric and unit from its children.
* A child budget can be used only once within a given hierarchy.
  * *Example: You create a hierarchy with a parent budget for the "Marketing Organization" and child budgets for "Social Media Campaigns," "Event Marketing," and "Content Creation." The child budget for "Social Media Campaigns" cannot also appear under "Event Marketing" within the same hierarchy to avoid duplication in budget calculations.*
* A child budget can belong to multiple separate hierarchies.
  * *Example: Suppose your organization is structured both by departments and projects. A child budget for "Mobile App Redesign" might belong to the "Product Development" department’s hierarchy, while also appearing in a completely separate hierarchy for cross-functional "Q1 Strategic Initiatives." This allows you to manage and report on budgets across different organizational contexts.*

## Cost and Usage Budgets

Every budget tracks one of two metrics, which you choose when you create or edit the budget:

* **Cost**: Tracks cumulative dollar spend against your budgeted amount. This is the default, and all existing budgets remain Cost budgets unless you change them.
* **Usage**: Tracks a usage quantity, such as tokens consumed, EC2 instance-hours, or GB of data transfer, against a budgeted amount expressed in that unit, rather than in dollars. This is useful for monitoring prepaid credits, committed usage, or metered consumption directly in the units you're billed in.

A Usage budget measures a usage quantity that already appears in its attached Cost Report, so the budget must be assigned to a Cost Report that contains usage data. The available units (for example, `Tokens` or `GB`) are sourced from that report, and you choose which unit to budget against. Budgeted amounts, actuals, and variance for a Usage budget are then all shown in that unit instead of dollars.

You can also pair a Cost budget and a Usage budget on the same Cost Report, for example to track AI spend in dollars and token consumption side by side. A report holds at most one budget per metric: one Cost and one Usage.

<Note>
  The metric is selected per budget. Within a Hierarchical Budget, every budget must share the same metric and, for Usage budgets, the same usage unit. You can't mix Cost and Usage budgets, or different usage units, in one hierarchy. See [Budget Types](/budgets#budget-types) for details.
</Note>

## Budget Periods

Every Standard Budget runs on a *budget period*, which is defined by a **start date** and a **period length**. Rather than choosing a named cadence, you enter a number and a unit (**Days**, **Weeks**, **Months**, or **Years**), for example, `1 Week` for a weekly budget, `1 Month` for a monthly budget, `3 Months` for a quarterly budget, or `1 Year` for an annual budget.

Vantage automatically generates the sequence of periods from the start date, and you assign a budgeted amount to each period.

<Note>
  A budget period measured in months or years can't exceed how far back your account retains cost and usage data. This retention window is defined by your Vantage contract. If you choose a period longer than your retention window, Vantage displays an error similar to: *"interval exceeds your account's 6-month cost data retention window."* Period lengths measured in days or weeks are always allowed.
</Note>

## Budgets Screen

To access the main **Budgets** screen in the console:

1. From the top navigation, click **Financial Planning**.
2. On the left navigation, select **Budgets**.

All existing budgets are displayed here. You can also edit or delete budgets from this screen.

<Frame>
  <img src="https://assets.vantage.sh/docs/budget-screen-3.png" alt="The Budgets landing page with several budgets displayed, each showing its metric, current period dates, and current period performance." />
</Frame>

The main **Budgets** screen lists budgets in an expandable tree. Hierarchical budgets are labeled and can be expanded to reveal the child budgets that roll up under them. The following columns are available:

| Column | Description |
| - | - |
| **Name** | Links to each budget's configuration screen. |
| **Metric** | Whether the budget tracks **Cost** or **Usage**. |
| **Current Period** | The date range of the budget's active period (for example, *Aug 1, 2026 – Aug 31, 2026*). |
| **Current Period Performance Summary** | A progress bar comparing actual spend against the budgeted amount for the current period. |
| **Cost Report** | The attached Cost Report. Only terminal child budgets can be associated with a Cost Report. |
| **Status** (optional) | The current-period utilization state (see [Utilization states](/budgets#utilization-states)). Enable it from **Manage Columns**. |
| **Created By** (optional) | Who created the budget. Enable it from **Manage Columns**. |

Use the **Cost Report**, **Budget structure** (**Standard Budgets** or **Hierarchical Budgets**), and **Budget metric** (**Cost Budgets** or **Usage Budgets**) filters to narrow the list, and the **search** field to find a budget by name. Click **Manage Columns** to choose which columns are shown or to reset to the defaults; you can also reorder columns by dragging one up or down in the list (or focusing it and using the arrow keys). Required columns such as **Name** stay in a fixed position. Click **Import** (next to **New budget**) to upload budgets from a CSV.

## Create a Budget - UI Method

<Info>
  The below instructions describe how to manually create a budget in the UI. You can also upload a CSV file to create a budget. See the [section below](/budgets#create-a-budget-csv-import-method) for details.
</Info>

<Steps>
  <Step>
    Begin on the main **Budgets** screen. From the top right of the screen, click **New budget** and choose either **Standard budget** or **Hierarchical budget**. The options that follow differ for each budget type.

    <Tabs>
      <Tab title="Standard Budget">
        The **New Standard Budget** dialog is displayed. Configure the following:

        * **Name your budget**: Enter a descriptive name. You can rename it later.
        * **Select costs to measure your budget against**: Select the Cost Report you want the budget to track and be displayed on. See the [section below](/budgets#view-budgets-on-cost-reports) for details.

          *Note: Budgets are scoped to a report within a specific [workspace](/workspaces/), and access can be controlled via [teams](/rbac).*
        * **Choose what to budget**: Select **Cost** to budget against cumulative spend, or **Usage** to budget against a usage quantity from the selected Cost Report. You must select a Cost Report first. If you choose **Usage**, select the usage unit to track (for example, `Tokens`). When a report has several usage units, the highest-volume unit is selected by default. See [Cost and Usage Budgets](/budgets#cost-and-usage-budgets) for details.

          *Note: A Cost Report can hold one Cost budget and one Usage budget. If the report you select already has a budget for one metric, that option is disabled and the other is selected automatically (for example, "This cost report already has a Cost budget. Create a Usage budget instead."). A report leaves the picker only once both its Cost and Usage slots are filled.*

          *Note: If the selected Cost Report has no usage data, Vantage displays a warning such as "This cost report has no usage unit. Choose a report with usage data." Choose a report that includes usage data, or budget against Cost instead.*
        * **Set a start date**: The first budget period starts on this date, and future periods follow the selected schedule.
        * **Set the period length**: Enter a number and select a unit (**Days**, **Weeks**, **Months**, or **Years**). See [Budget Periods](/budgets#budget-periods) for common cadences and limits.

        Click **Continue** to create the budget and open its detail page.

        <Accordion title="Click to view example image">
          <Frame>
            <img src="https://assets.vantage.sh/docs/create-budget-2.png" alt="A Standard Budget configured." />
          </Frame>
        </Accordion>

        Next, add budget periods and amounts. On the **Manage** tab, in the **Budget Periods** section, click **Add period** to add a period, then enter a **Budget amount** for each period. You can also click **Upload a CSV** to import periods for this budget. Each period row displays a **Start Date**, an **End date**, and a **Budget amount**.

        For a Usage budget, the **Budget amount** column is labeled with the selected unit (for example, **Budget amount (Tokens)**), and you enter each period's budget as a usage quantity rather than a dollar amount.
      </Tab>

      <Tab title="Hierarchical Budget">
        <Tip>
          To create a budget hierarchy, it’s recommended to start by creating all your terminal child budgets as **Standard** budgets. Once the child budgets are in place, you can proceed to create the parent budgets. This ensures that the child budgets are available to select and connect when setting up the parent budget.
        </Tip>

        Selecting **Hierarchical budget** creates a new parent budget and opens its detail page. On the **Manage** tab, use the hierarchy editor to add the immediate child budgets that directly roll up to this parent. Click **Add child budgets** to open the picker and select them. For example, if you have an "Org" budget with a "Department" budget as its child, and the "Department" budget has a "Team" budget as its child, you would only select the "Department" budget as the child when creating the "Org" budget.

        All child budgets in a hierarchy must share the same budget period. Budgets on a different cadence are disabled in the picker with the note *"Child budgets must share the same current period."* Child budgets must also match the hierarchy's metric and usage unit; if they don't, Vantage blocks the addition with a message such as *"Cannot add Usage budgets to a Cost budget hierarchy. Select Cost budgets only."* or *"Cannot mix usage units in a hierarchy. Select budgets that share the same usage unit."* See [Budget Types](/budgets#budget-types) for details.

        <Accordion title="Click to view example image">
          <Frame>
            <img src="https://assets.vantage.sh/docs/create-hierarchical-budget-2.png" alt="The Manage tab of a Hierarchical Budget with child budgets selected." />
          </Frame>
        </Accordion>

        Hierarchical Budgets do not have their own budget period, budget amounts, or Cost Report. These are configured on the terminal child budgets, and the parent aggregates them automatically.
      </Tab>
    </Tabs>
  </Step>

  <Step>
    At the top right, click **Save Changes**.
  </Step>
</Steps>

### Edit Budget Settings

To edit a budget after creation, open it and go to the **Manage** tab. What you can change depends on the budget type.

<Tabs>
  <Tab title="Standard Budget">
    The **Budget Settings** section summarizes the current **Name**, **Cost Report**, **Metric**, **Start Date**, and **Period Length**. The **Metric** row shows whether the budget tracks **Cost** or **Usage** (for a Usage budget, the unit is shown, for example *Usage (Tokens)*). A matching badge appears in the budget's detail page header, showing **Cost** or **Usage · {unit}** (for example, **Usage · Tokens**). Click **Edit settings** to open the **Edit Budget Settings** dialog. You can always update the **Name** and **Cost Report**. The **Start Date** and **budget frequency** (period length) are fixed once the budget has any periods, so those fields are disabled with the tooltip *"Start date and budget frequency can't be edited while budget periods exist."* The **Budget Periods** section below is where you add, edit, or remove individual periods and amounts.

    <Note>
      You can switch a budget's metric (**Cost** or **Usage**) or its usage unit from **Edit settings**, but doing so removes any periods you've already entered, since amounts are denominated in different units. Vantage warns before you save: *"Saving this change will delete all existing budget periods. This action cannot be undone."*
    </Note>

    Use the **Date range** filter above the periods table to control which periods are shown; for a newly created budget it defaults to the last 12 months. Before any periods are added, the section shows the empty state *"You haven't created any budget periods yet."*

    <Note>
      If periods you just added or imported don't appear in the **Budget Periods** table, they're most likely outside the current **Date range** filter rather than missing. Open the **Date range** filter and widen the range.
    </Note>

    <Note>
      A budget's cadence (its start date and period length) can be changed only while the budget has no periods. Once any period exists, the cadence is locked. Attempting to change it returns the error *"Budget cadence cannot be changed after creation."*
    </Note>
  </Tab>

  <Tab title="Hierarchical Budget">
    The **Manage** tab shows the budget hierarchy, where you add or remove the child budgets that roll up to this parent. Rename the budget using the editable title at the top of the page. Hierarchical Budgets have no Cost Report, start date, period length, or amounts of their own. Those are set on the terminal child budgets.
  </Tab>
</Tabs>

## Create a Budget - CSV Import Method

If you have existing budgets in spreadsheets or another tool, you can import them all at once by uploading a CSV file.

### Expected Format

Budget import files must adhere to the following requirements:

* The file must be in a valid CSV format.
* The header row of the CSV must start with a unique string or identifier (e.g., `Budget Name`).
  * The remaining values in the header row are budget period start dates. Use `YYYY-MM` format for monthly periods (e.g., `2026-08` for August 2026), or `YYYY-MM-DD` for any cadence (e.g., `2026-08-01`). Each period column header is the period's start date, and the period ends the day before the next column.
* Each additional row in the CSV must start with the name of the budget. Corresponding values must be expressed as decimals (e.g., `25000.00`) for every period with an associated budget. If there is no budget for a period, the value can be blank.
* If the budget is a Hierarchical Budget, include the `Parent Budget` column.
* To set a budget's [period](/budgets#budget-periods) cadence, include the optional **`Start Date`**, **`Interval Count`**, and **`Interval Unit`** columns. `Interval Unit` must be one of `day`, `week`, `month`, or `year`. If you omit these columns, the budget uses the default monthly cadence.
* To create a Usage budget, include the optional **`Budget metric`** column set to `cost` or `usage`, and the **`Usage unit`** column set to a usage unit available on the budget's Cost Report (for example, `Tokens`). If you omit `Budget metric`, the budget defaults to `cost`. Period values for a Usage budget are entered as usage quantities rather than dollars.

#### Standard Budget Format

The below example of three Standard Budgets shows a readable view, CSV file format, the budget import screen, and the final budgets in Vantage. Team 3 does not have a budget for 2026-10, and therefore, no budget period is added for Team 3 during that timeframe. On the import, the period start and end date are set based on the column headers.

<Tabs>
  <Tab title="Standard Budget">
    | Budget Name | 2026-08 | 2026-09 | 2026-10 |
    | - | - | - | - |
    | Team 1 | 50000 | 51000 | 52000 |
    | Team 2 | 30000 | 30000 | 40000 |
    | Team 3 | 45000 | 50000 | |
  </Tab>

  <Tab title="CSV File">
    ```bash theme={null}
    Budget Name,2026-08,2026-09,2026-10
    Team 1,50000,51000,52000
    Team 2,30000,30000,40000
    Team 3,45000,50000,
    ```
  </Tab>

  <Tab title="Import Screen">
    <Frame caption="Sample of what's displayed on the import screen.">
      <img src="https://assets.vantage.sh/docs/import-budget-2.png" alt="An imported budget for three teams. The first two teams have three budget periods. The last team has only two budget periods imported." />
    </Frame>
  </Tab>

  <Tab title="Imported Budgets">
    <Frame caption="Team 1, 2, and 3 budgets listed on the main Budgets screen after import.">
      <img src="https://assets.vantage.sh/docs/imported-budget-2.png" alt="Team 1, 2, and 3 budgets listed on the main Budgets screen." />
    </Frame>
  </Tab>
</Tabs>

#### Set the Budget Period via CSV

To import a budget on a cadence other than monthly, add the **`Start Date`**, **`Interval Count`**, and **`Interval Unit`** columns and use `YYYY-MM-DD` period column headers that align to the cadence. The example below creates a budget on a two-week cadence starting `2026-08-01`, with \$5,000 budgeted per period.

<Tabs>
  <Tab title="Standard Budget">
    | Budget Name | Start Date | Interval Count | Interval Unit | 2026-08-01 | 2026-08-15 |
    | - | - | - | - | - | - |
    | Platform Weekly | 2026-08-01 | 2 | week | 5000 | 5000 |
  </Tab>

  <Tab title="CSV File">
    ```bash theme={null}
    Budget Name,Start Date,Interval Count,Interval Unit,2026-08-01,2026-08-15
    Platform Weekly,2026-08-01,2,week,5000,5000
    ```
  </Tab>
</Tabs>

#### Usage Budget Format

To import a Usage budget, add the **`Budget metric`** and **`Usage unit`** columns. Set `Budget metric` to `usage` and `Usage unit` to a unit available on the budget's Cost Report. Period values are usage quantities, not dollars. The example below budgets a monthly token allowance.

<Tabs>
  <Tab title="Usage Budget">
    | Budget Name | Budget metric | Usage unit | 2026-08 | 2026-09 | 2026-10 |
    | - | - | - | - | - | - |
    | AI Token Budget | usage | Tokens | 5000000 | 5500000 | 6000000 |
  </Tab>

  <Tab title="CSV File">
    ```bash theme={null}
    Budget Name,Budget metric,Usage unit,2026-08,2026-09,2026-10
    AI Token Budget,usage,Tokens,5000000,5500000,6000000
    ```
  </Tab>
</Tabs>

<Info>
  You can combine the Usage columns with the cadence columns (`Start Date`, `Interval Count`, `Interval Unit`) and the `Parent Budget` column, just like Cost budgets. Remember that every budget in a hierarchy must use the same metric and usage unit.
</Info>

#### Hierarchical Budget Format

The below example of a Hierarchical Budget shows a readable view, CSV file format, the budget import screen, and the final budget in Vantage. Note that the parent budgets—Engineering Org, Development Dept, and Infrastructure Dept—do not have any amounts listed since these budgets are composed of the corresponding child budgets—Frontend Redesign, Backend Refactor, New Cloud Environment, and Cost Optimization Task. The associated next-level parent is listed in the `Parent Budget` column.

<Tabs>
  <Tab title="Hierarchical Budget">
    | Budget Name | Parent Budget | 2026-08 | 2026-09 | 2026-10 |
    | - | - | - | - | - |
    | Engineering Org | | | | |
    | Development Dept | Engineering Org | | | |
    | Infrastructure Dept | Engineering Org | | | |
    | Frontend Redesign | Development Dept | 30000 | 35000 | 35000 |
    | Backend Refactor | Development Dept | 40000 | 45000 | 50000 |
    | New Cloud Environment | Infrastructure Dept | 60000 | 60000 | 60000 |
    | Cost Optimization Task | Infrastructure Dept | 20000 | 30000 | 40000 |
  </Tab>

  <Tab title="CSV File">
    ```bash theme={null}
    Budget Name,Parent Budget,2026-08,2026-09,2026-10
    Engineering Org,,,,
    Development Dept,Engineering Org,,,
    Infrastructure Dept,Engineering Org,,,
    Frontend Redesign,Development Dept,30000,35000,35000
    Backend Refactor,Development Dept,40000,45000,50000
    New Cloud Environment,Infrastructure Dept,60000,60000,60000
    Cost Optimization Task,Infrastructure Dept,20000,30000,40000
    ```
  </Tab>

  <Tab title="Import Screen">
    <Frame caption="Sample of what's displayed on import screen.">
      <img src="https://assets.vantage.sh/docs/import-hierarchical-budget.png" alt="An imported budget for three teams. The first two teams have three budget periods. The last team has only two budget periods imported." />
    </Frame>
  </Tab>

  <Tab title="Imported Budgets">
    <Frame caption="Observe the Hierarchical Budget icon listed next to any parent budget (e.g., Engineering Org) in the list.">
      <img src="https://assets.vantage.sh/docs/imported-hierarchical-budget-2.png" alt="Team 1, 2, and 3 budgets listed on the main Budgets screen." />
    </Frame>
  </Tab>
</Tabs>

You can combine the two formats to import a hierarchy on a non-monthly cadence: add the cadence columns to each child row and keep every child on the same schedule. In the example below, both child budgets are weekly starting `2026-08-01`, so they roll up cleanly under the parent.

<Tabs>
  <Tab title="Hierarchical Budget">
    | Budget Name | Parent Budget | Start Date | Interval Count | Interval Unit | 2026-08-01 | 2026-08-08 |
    | - | - | - | - | - | - | - |
    | Platform Org | | | | | | |
    | Frontend | Platform Org | 2026-08-01 | 1 | week | 2000 | 2000 |
    | Backend | Platform Org | 2026-08-01 | 1 | week | 3000 | 3000 |
  </Tab>

  <Tab title="CSV File">
    ```bash theme={null}
    Budget Name,Parent Budget,Start Date,Interval Count,Interval Unit,2026-08-01,2026-08-08
    Platform Org,,,,,,
    Frontend,Platform Org,2026-08-01,1,week,2000,2000
    Backend,Platform Org,2026-08-01,1,week,3000,3000
    ```
  </Tab>
</Tabs>

### Import Budget

Once your CSV file is prepared, follow the steps below to import any type of budget.

<Steps>
  <Step>
    From the top navigation, click **Financial Planning**.
  </Step>

  <Step>
    On the left navigation, select **Budgets**.
  </Step>

  <Step>
    From the top right of the screen, click **Import**. The **Import Budget Data** modal is displayed.
  </Step>

  <Step>
    Click **Choose File** and select a CSV file.
  </Step>

  <Step>
    Click **Upload**. The **Review Imported Data** screen is displayed. If no errors are present, click **Confirm** > **OK**.
  </Step>
</Steps>

After you confirm, Vantage returns you to the main **Budgets** screen. Your imported budgets appear in the list, which is sorted alphabetically—use the **search** bar at the top to quickly find a budget by name.

<Note>
  When you open an imported budget, its **Manage** tab may not show every period right away because the **Date range** filter defaults to the last 12 months. If periods look missing, open the **Date range** filter and widen the range.
</Note>

### Fix Import Errors

If a formatting error is found in your imported CSV file, the import wizard indicates where the error occurred. To fix the error, correct the issue in your source CSV and re-upload the file. In the below example, an error occurred because the CSV file contained duplicate values in the header row.

<Tabs>
  <Tab title="Error Screen">
    <Frame>
      <img src="https://assets.vantage.sh/docs/budget-error-2.png" alt="Budget import errors" />
    </Frame>
  </Tab>

  <Tab title="Source CSV File">
    ```bash theme={null}
    Budget Name,2026-08,2026-10,2026-10
    Team 1,50000.00,51000.00,52000.00,
    ```
  </Tab>
</Tabs>

When an import can't be completed, the review screen flags the affected budgets and shows the reason. Budget-specific errors are listed with the budget name first, in the format `Budget name: error` (for example, `New Cloud Environment: Child budgets must share the same current period.`). Use the table below to match an error to a fix. Also make sure the file has no extra blank columns and that amounts are plain decimals (e.g., `56000.00`, not `$56,000.00`).

| Error | Cause | Fix |
| - | - | - |
| `The file is unparseable.` | The upload isn't valid CSV. | Re-export as CSV and remove any stray characters or malformed rows. |
| `'202303' has an invalid date format.` | A period column header isn't `YYYY-MM` or `YYYY-MM-DD`. | Use `YYYY-MM` for monthly periods or `YYYY-MM-DD` for any cadence. |
| `'2026-10' appears more than once in the header row.` | A period column header is repeated. | Use each period date only once in the header row. |
| `'Team 1' appears more than once in the file.` | A budget name is duplicated in the file. | Make each budget name unique. |
| `A budget with this name already exists.` | The name matches a budget already in Vantage. | Rename the budget, or select **Overwrite budget periods** to replace the existing one (see the video below). |
| `Child budgets must share the same current period.` | A hierarchy mixes children with different periods. | Give every child under a parent the same cadence and aligned period dates. |
| `Cannot add Usage budgets to a Cost budget hierarchy. Select Cost budgets only.` | A hierarchy mixes Cost and Usage budgets. | Use a single metric per hierarchy, all Cost or all Usage. |
| `Cannot add Cost budgets to a Usage budget hierarchy. Select Usage budgets only.` | A hierarchy mixes Cost and Usage budgets. | Use a single metric per hierarchy, all Cost or all Usage. |
| `Cannot mix usage units in a hierarchy. Select budgets that share the same usage unit.` | Usage child budgets use different units. | Give every child in the hierarchy the same usage unit. |
| `This budget's report does not support usage amounts and cannot be added to a Usage hierarchy.` | A child's Cost Report has no usage data to measure. | Attach the child to a Cost Report that includes usage data, or keep the hierarchy on Cost. |
| `Budget hierarchy is too deep.` | The hierarchy exceeds 10 levels. | Flatten the hierarchy to 10 levels or fewer. |
| `Child budgets already assigned to another hierarchy.` | A child budget is already a child under a different parent. | Use a different budget, or remove it from the other hierarchy first. |
| `Cycle detected in budget hierarchy.` | A budget is set as its own ancestor. | Fix the `Parent Budget` references so the hierarchy doesn't loop. |
| `Period interval unit is not included in the list.` | `Interval Unit` isn't `day`, `week`, `month`, or `year`. | Use one of `day`, `week`, `month`, or `year`. |
| `Period interval count must be greater than 0.` | `Interval Count` is 0, negative, or not a whole number. | Use a whole number greater than 0. |
| `Interval exceeds your account's N-month cost data retention window.` | The cadence is longer than your account's data retention. | Choose a shorter period, or contact Vantage about your retention window. |
| `Start date must match the first budget period start date.` | `Start Date` doesn't match the earliest period column. | Set `Start Date` to the first period column's date. |
| `Budget cadence cannot be changed after creation.` | An overwrite tried to change an existing budget's start date or period length. | Keep the original cadence, or delete and recreate the budget. |

<Accordion title="Watch: overwrite an existing budget on import">
  <Frame>
    <video autoPlay muted playsInline loop className="w-full aspect-video rounded-xl" src="https://assets.vantage.sh/docs/budget-overwrite.mp4" />
  </Frame>
</Accordion>

## View Budget Performance

For any budget, select the **Performance** tab to see how the budget is tracking against its budgeted amounts. The Performance tab has three parts: summary cards, a time-series chart, and a per-period table. The details vary slightly depending on whether you are viewing a Standard Budget or a Hierarchical (parent) budget.

<Note>
  For a Usage budget, the Performance tab is denominated in the budget's usage unit instead of dollars. The summary cards, chart, and per-period table all show budgeted amounts, actuals, and variance in that unit (for example, *Tokens*).
</Note>

### Performance Summary Cards

At the top of the tab, summary cards provide an at-a-glance view of the current period:

| Card | What it shows |
| - | - |
| **Current Period Utilization** (labeled **Rollup Utilization** for Hierarchical Budgets) | The current period's date range, the amount spent versus the budgeted amount (e.g., *\$18,000 spent of \$40,000*), a progress bar, and a footer summarizing how much of the budget has been used and how much of the period has elapsed (e.g., *45% of budget used · 39% of period elapsed*). |
| **Current Performance** | The dollar amount you are currently over or under budget, labeled **Over as of today** or **Remains as of today**. |
| **Projected Performance** | The dollar amount you are projected to be over or under budget by the end of the period, labeled **Over at period end** or **Will remain at period end**. The projection extrapolates your current spend pace across the full period (it is not the Cost Report's forecast). |
| **Child budgets at risk or over** (Hierarchical Budgets only) | The number of child budgets that are over budget or at risk, with a breakdown below the count (e.g., *2 over · 1 at risk*). |

<Tabs>
  <Tab title="Standard Budget">
    <Frame>
      <img src="https://assets.vantage.sh/docs/standard-performance.png" alt="The Performance tab for a Standard Budget, showing Current Period Utilization, Current Performance, and Projected Performance cards above a time-series chart and per-period table." />
    </Frame>
  </Tab>

  <Tab title="Hierarchical Budget">
    <Frame>
      <img src="https://assets.vantage.sh/docs/hierarchical-performance.png" alt="The Performance tab for a Hierarchical Budget, showing Rollup Utilization, Current Performance, Projected Performance, and Child budgets at risk or over cards above a time-series chart and per-period table." />
    </Frame>
  </Tab>

  <Tab title="Usage Budget">
    <Frame>
      <img src="https://assets.vantage.sh/docs/usage-performance.png" alt="The Performance tab for a Usage budget, with the summary cards, chart, and per-period table denominated in the budget's usage unit instead of dollars." />
    </Frame>
  </Tab>
</Tabs>

### Utilization States

A status badge on the utilization card (and in the optional **Status** column on the Budgets screen) reflects one of the following states:

| State | Meaning |
| - | - |
| 🟢 **On Track** | Spending is within budget so far and is projected to stay within budget through the end of the period. |
| 🟡 **At risk** | Spending is not over budget yet, but at the current pace it is projected to exceed the budget before the period ends. |
| 🔴 **Over** | Spend has already exceeded the full budgeted amount for the period. |
| ⚪ **Not Started** | No spend has been recorded for the current period yet. |

### Performance Chart

Below the cards, a time-series chart plots cumulative **Budget** against **Actuals** over time. For a Usage budget, the actuals series is labeled with the unit (for example, **Actuals (Tokens)**). You can:

* Adjust the **date range** with the date range picker.
* Change the chart **granularity** (day, week, month, or year).
* Toggle whether variance is displayed as a dollar amount or a percentage.

### Performance Table

The table below the chart differs depending on the budget type.

<Tabs>
  <Tab title="Standard Budget">
    Each row is a budget period, with the following columns:

    * **Period**: The date range of the period. The in-progress period is tagged with a **Current Period** badge, and future periods are tagged **Forecast**.
    * **Budget**: The budgeted amount for the period. For a Usage budget, this column includes the unit (for example, **Budget (Tokens)**).
    * **Actuals**: Actual cost or usage for the period. For a Usage budget, this column includes the unit (for example, **Actuals (Tokens)**). For the current period, this reflects actuals to date; the value is highlighted red if it exceeds the budget.
    * **Variance (\$)** or **Variance (%)**: How far actuals are over or under the budgeted amount, depending on the variance display you selected. For a Usage budget, currency variance is labeled with the unit (for example, **Variance (Tokens)**).
  </Tab>

  <Tab title="Hierarchical Budget">
    The table is a matrix of budgets by period. Each **row** is a budget in the hierarchy, shown in an expandable tree under the **Budget Name** column. Expand a parent to reveal its child budgets, and click any name to open that budget. Each **column** is grouped by period (the in-progress period is tagged **Current Period** and future periods **Forecast**), and within each period group you'll see **Budget**, **Actuals**, and **Variance (\$)** or **Variance (%)** for every budget in the hierarchy. For a Usage hierarchy, those headers include the shared usage unit.

    If a child has no periods yet, the parent rollup cell shows *"Add periods to child budget"* instead of *"Outside current period."* That message is a reminder to add periods on the Standard child budgets; mismatched child period dates still show *"Outside current period."*
  </Tab>
</Tabs>

For the in-progress period, projected spend and variance extrapolate your current spend pace across the full period, since the period is not yet complete. Budgeted amounts are spread evenly across the days in each period, so a partially elapsed period is compared against the prorated portion of its budget.

If there's nothing to show yet, the Performance tab displays a prompt with a shortcut to the **Manage** tab.

## View Budgets on Cost Reports

Once a budget is assigned to a [Cost Report](/cost_reports/), a budget report with current-period performance is displayed at the top of the Cost Report. The budget reflects amortized costs throughout the period, indicating whether spending is above or below the budget so far. The report's accrued and forecasted budget labels—shown in the top-line metric, chart tooltip, and chart legend—include the budget's name (for example, **Accrued \[Developer Costs] Budget** and **Forecasted \[Developer Costs] Budget**).

<Frame>
  <img src="https://assets.vantage.sh/docs/cost-report-budget.png" alt="A budget is displayed as a trend line on the Cost Report in the console" />
</Frame>

Budgets are displayed as a yellow line on the graph in the cumulative, daily, weekly, and monthly views on a Cost Report. The dotted portion of the line corresponds to the future budget, which you can track against your forecasted costs.

<Info>
  Because budget amounts are spread evenly across the days in each period, aggregated views (such as **Weekly** or **Monthly**) may show the budget line dip for partial periods at the start or end of the budget period.
</Info>

A Usage budget appears on its Cost Report the same way, with accrued and forecasted usage budget lines (for example, **Accrued \[AI Token Budget] Budget**). The usage budget line is shown only when the Cost Report is displaying that same usage unit; if the report isn't displaying matching usage, the budget line won't appear.

<Frame>
  <img src="https://assets.vantage.sh/docs/usage-cost-report-budget.png" alt="A Usage budget displayed as a trend line, denominated in its usage unit, on a Cost Report that is displaying usage." />
</Frame>

### Cost and Usage Budgets on the Same Report

When a Cost Report has both a Cost budget and a Usage budget, the report shows four summary figures at the top: **Accrued Actuals (Costs)**, the Cost budget (for example, **Accrued \[Developer Costs] Budget**), **Accrued Actuals** for the usage unit (for example, **Accrued Actuals (Tokens)**), and the Usage budget (for example, **Accrued \[AI Token Budget] Budget**). This lets finance watch spend while platform teams watch consumption on a single report. The same four figures appear on the report's [dashboard](/dashboards) widget.

The budget line on the chart follows the metric you're viewing: the **Cost budget** is drawn in the dollar (Cost) view, and the **Usage budget** is drawn when the report is in usage view and the table includes that budget's unit, even if other units appear alongside it. Switch the report between Cost and its usage unit to see each budget's line. Count charts show no budget line.

## Budget Alerts

Budget alerts are automated alerts based on configurable budget thresholds. Create a budget alert for any of your existing budgets to notify you when a percentage of a budget is exceeded. You can configure alerts to notify Vantage users via email, Slack, Microsoft Teams, or Jira. You can optionally scope an alert to a window at the beginning or end of the budget period (e.g., within the first 10 days of the period).

You can create budget alerts for any budget: Standard or Hierarchical, Cost or Usage. Because thresholds are percentage-based, they apply the same way whether the budget tracks cost or a usage quantity. For Hierarchical Budgets, the amounts associated with the child budgets are aggregated at the parent budget level to determine if a budget alert should be set off.

You can manage budget alerts in two places:

* From a budget's detail page, using the **Budget Alerts** drawer (the steps below).
* From the standalone **Budget Alerts** screen, which lists every budget alert in the workspace. To open it, click **Financial Planning** in the top navigation, then select **Budget Alerts** in the left navigation.

<Info>
  If you want to send alerts to Slack, Microsoft Teams, or Jira, see the [Slack](/slack), [Microsoft Teams](/microsoft_teams), or [Jira](/jira) integration documentation. Once you've set up an integration, follow the steps below to set up a budget alert.
</Info>

<Steps>
  <Step>
    Open the budget you want to alert on. From the top of the budget's detail page, click **Budget Alerts** to open the **Budget Alerts** drawer, which lists any existing alerts for the budget.

    <Frame>
      <img src="https://assets.vantage.sh/docs/budget-alerts-drawer.png" alt="The Budget Alerts drawer opened from a budget, listing existing alerts with an Add budget alert button." />
    </Frame>
  </Step>

  <Step>
    Click **Add budget alert**. The **New Budget Alert** panel is displayed.
  </Step>

  <Step>
    Configure the following parameters:

    * For **Budget**, select one or more budgets the alert applies to.
    * For **Alert when spend exceeds**, enter a percentage threshold (e.g., 85% of the budget). You'll receive an alert only if the threshold is reached.
    * Optionally, for **Within first**, enter a number of days (between 1 and 31) and choose **beginning of the period** or **end of the period** to scope the alert to a window within the budget period.
    * For **Email recipients**, select the recipients who are members of your team in Vantage that you want to receive the alert.
    * Under **App alerts**, optionally select any Slack channels, Microsoft Teams channels, or Jira projects you want to receive the alert.

    <Accordion title="Click to view example image">
      <Frame>
        <img src="https://assets.vantage.sh/docs/configure-budget-alert-2.png" alt="A budget alert configured to send to one user and a Slack channel within the first 10 days of the period." />
      </Frame>
    </Accordion>
  </Step>

  <Step>
    Click **Save Budget Alert**. Budget alerts will look similar to the below image.

    <Frame>
      <img src="https://assets.vantage.sh/docs/email-budget-alert.png" alt="Email budget alert" />
    </Frame>
  </Step>
</Steps>

Recipients will be notified immediately after a Cost Report is updated with the latest data. Reports are updated with the latest data at least once per day. If your budget exceeds the threshold for multiple alerts, you'll be notified only about the most severe alert (the alert with the highest threshold).

An [annotation](/annotations) is also added to the corresponding Cost Report on the date the alert was triggered.

<Tip>
  You can create multiple budget alerts with the same threshold and window but different recipients. For example, you can create one alert that sends email notifications to a specific team member and another alert with the same threshold that sends notifications to a Slack channel. This allows you to route the same alert to different destinations based on your team's needs.
</Tip>

### Budget Alert Limitations

At this time, only dynamic, percentage-based thresholds are supported. Budget alerts can be configured only to send alerts based on actual, not forecasted costs.

<Note>
  A single cost increase will not typically trigger a budget alert. If you are interested in this feature, see the [Cost Anomaly Alerts](/cost_anomaly_alerts) documentation.
</Note>

By default, a budget alert evaluates spend against the budgeted amount for the entire budget period. If you want to be alerted based on only part of the period, use the **Within first** option (e.g., within the first 10 days of the period) to scope the alerting window.

<Note>
  Keep the **Within first** window shorter than the budget's period. If the number of days is longer than the period length (for example, a 20-day window on a weekly budget), the alert is skipped and won't fire.
</Note>

### Budget Alerts and Cost Reports

If you update a Cost Report that is associated with a budget alert, the following message is displayed: *This report has budget alerts and may trigger a notification. Are you sure you want to save the report?* You must confirm before saving the report.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.