# Allocations (Preview)

> Source: https://parallelworks.com/docs/organization-admin/billing/allocations

# Allocations (Preview)

Allocations are named budgets — denominated in U.S. dollars or in a custom unit such as core-hours, GPU-hours, or a pool of service credits — that let organization admins track and cap usage independently of groups. Custom units are the typical use case: awarded HPC compute, grant-funded resources, and other non-dollar accounting that the Cost Dashboard alone cannot represent. You can share an allocation with one or more groups, nest it under a parent allocation, and feed it usage from the platform or from external sources like HPC clusters.

:::info Feature Preview

Allocations is currently in **Feature Preview**. To use it, enable **both** of the following features for your own account:

- `allocations` — exposes the Allocations UI and APIs.
- `cost` — enables the updated cost dashboard that allocation usage feeds into.

Click your username, select **Feature Preview**, then click **Enable** next to each feature. See [Feature Preview](/docs/navigating-activate#feature-preview) for the full walkthrough. Until both are enabled on your account, the **Allocations** page will not appear in your sidebar.

:::

## Concepts

### Allocations

An allocation is a named budget owned by your organization. Each allocation tracks three values:

- **Total** — the budgeted amount.
- **Used** — confirmed spend recorded against the allocation.
- **Estimated used** — pending or in-flight spend that has not yet been finalized.

Allocations can optionally be nested one level under a parent allocation, which is useful when you want to carve a department-level budget into project-level sub-budgets.

### Units

A **unit** is the dimension an allocation is measured in. By default, allocations are denominated in U.S. dollars. Organizations can also define custom units — for example, `core-hours` or `gpu-hours` — and attach time-varying rate rules so that pricing can change over time without rewriting historical usage.

### SKUs

A **SKU** (Stock Keeping Unit) is a billable resource type attached to a custom unit. When you set up a custom unit, you define the SKUs that describe what it charges for — for example, `SLURM_NODE_HOUR` for a per-node-hour HPC rate, or distinct codes for individual license tiers. Each usage event references a SKU code so the platform can rate it correctly against the unit's rules.

### Usage events

A **usage event** is a record of consumption against an allocation. Each event carries a quantity, a start/end time, and a SKU code. The platform rates the event using the SKU's unit rules and rolls the result into the allocation's **Used** and **Estimated used** totals. Usage events can be deleted if a charge needs to be reversed.

## Creating an allocation

From the **Organizations** list, select your organization. In the sidebar, under **Billing**, click **Allocations**, then click **New Allocation**.

#### Name

A unique name for the allocation within your organization. This name is shown in the dashboard and is used by integrations that record usage against the allocation.

#### Total

The budgeted amount, expressed in the allocation's unit.

#### Unit

The billing dimension. Leave this set to **USD** for a dollar-denominated budget, or select a custom unit your organization has defined.

#### Parent allocation

Optional. Select an existing allocation to nest this one beneath. Child allocations consume from the parent's pool. Only one level of nesting is supported.

Click **Save** when you're done.

## Sharing an allocation

By default, only organization admins can see or use a new allocation. To let other users record or consume against it, find the allocation in the table and click the **permissions** icon in the **Actions** column to open its permissions panel.

You can grant three permission levels, either to specific groups or organization-wide:

- **Read** — view the allocation and its usage.
- **Use** — call the usage-event API to record consumption against the allocation.
- **Admin** — edit the allocation's total and manage its permissions.

## Recording usage

:::info API only

In this preview, usage events can only be recorded through the platform's REST API — there is no in-platform UI for adding usage, and launching a cluster does not yet automatically bill to an allocation. To populate an allocation, call the usage-event endpoint directly or run an integration that does so on your behalf.

:::

The endpoint accepts a quantity, a start and end time, and a SKU code. The platform rates the event using the SKU's unit rules and updates the allocation's totals.

## Viewing usage

The allocations table shows each allocation's **Total**, **Used**, **Estimated**, **Remaining**, and **% Used** at a glance. To drill into the individual usage events recorded against an allocation, click the **usage** ($) icon in the **Actions** column. As with the Cost Dashboard:

- **Used** reflects confirmed, finalized spend (for cloud usage, this is the true-cost data imported from your cloud service provider, which may lag by 24-48 hours).
- **Estimated used** reflects real-time, in-flight consumption that has not yet been confirmed.

The sum of the two gives you a near real-time view of how much of the allocation remains available.

## Editing and deleting

To change an allocation's total, click the **edit** icon in the **Actions** column and update the **Total** field. Other fields (name, unit, parent) are fixed at creation time.

To delete an allocation, click the **trash** icon in the **Actions** column. Deletion removes the allocation along with all of its recorded usage events, so make sure you have exported any data you need first.

## Tracking Slurm usage

If your organization runs Slurm-managed HPC clusters, the [`slurm-tracker`](https://github.com/parallelworks/slurm-tracker) CLI can post usage from those clusters directly into the allocations system. It runs on a Slurm login or controller node (typically as a cron job every few minutes), maps each Slurm account to an allocation and each Slurm partition to a SKU, and records core-hour consumption as usage events.

See the [slurm-tracker README](https://github.com/parallelworks/slurm-tracker) for installation, configuration, and the account-to-allocation mapping format.
