# Declare

Source: https://docs.tightly.io/help/commitments/declare
Reviewed: 2026-09-26

## The question this page answers

What is this commitment, what does it cover, which numbers does it promise, and what would declaring it write?

## What you see

::: shot page
:::

Declare is the one wizard, and the only place a commitment is created. Four steps stand in a rail on the left, Basics, Range, Budget & targets and Review, and each is headed on the page: Commitment basics, Select your range, Budget & targets, Review commitment.

Basics names the commitment and asks whether it is a Season or Continuity. A season commitment picks a season from your calendar, or a New season minted in a drawer, and its window fills to the season's span: you can narrow it for a drop, never run past the season. Continuity runs from today with no end and no buy lock. A buy lock is optional; where your organisation has declared a convention the page offers it as a pre-fill you press to use, and left empty it stays undeclared.

Range is a selection viewed by category, product or collection. A category is taken whole with Whole category, or Choose products picks inside it. Only active and draft products are offered. A style another live commitment already holds over this window is shown as held and cannot be added, and pressing it says who holds it and until when. Channels are chosen under their primaries. The line at the top counts the products in, what is excluded, and the budget lines, categories times channels.

Budget & targets sets the numbers. The Buying budget is the [buy envelope](../commitments/buy-envelope) at cost, pre-filled from a Finance suggestion or a baseline proposal where there is one, or typed by you. The Buying reserve is the [chase reserve](../commitments/chase-reserve), a percent held inside the envelope, drawn as available to buy beside reserve. Budget by category divides the envelope where you want it divided. Trading targets are the [sell-through pace](../commitments/sell-through-pace) as Full-price sell-through for a season, or Stock cover in minimum and maximum weeks for continuity, the [availability floor](../commitments/availability-floor) as one Availability target, and the [margin floor](../commitments/margin-floor) as Gross margin. Each target says whether it is Suggested, a Starting point, or Entered by you. The [terminal stock ceiling](../commitments/terminal-stock-ceiling) is not asked here.

Review reads the declaration back: the range with its products, the buying budget with its split, budget by category, the trading targets and the buy lock. Under After you declare it says what pressing does:

> Your range, buying budget and targets are recorded for a second signature.

Where the season has a predecessor, a door opens last season's hindsight.

## What to do

1. Under **Basics**, name the commitment and choose **Season** or **Continuity**, then set its window (and, for continuity, an optional buy lock).
2. Under **Range**, choose **Whole category** or **Choose products**, and pick the channels.
3. Under **Budget & targets**, set the Buying budget, the Buying reserve, budget by category, and the trading targets.
4. Reach **Review** to run the compile, a dry run that writes nothing:

   > Checking the declaration against your book.

5. Read the declaration back, then press **Declare commitment**. A refused compile holds the button back with the engine's reasons above it:

   > Refused, and nothing was written.

6. Read the receipt, **The record**: the commitment's version, scope, window, buying budget and who declared it, with doors to [All commitments](../commitments/the-book), [Sign off](../commitments/sign-off) and the commitment itself.

The declaration lands at version one, Awaiting a second signature; nobody arms anything here, [two signatures](../commitments/two-signatures) is the rule. The old address for the commit step redirects here, so a bookmark still lands on the one wizard.

Declaring takes the Commitments door, an admin or a member given it. A seat without it reads, above the steps:

> Declaring a commitment requires commitment approval access.

## When it is empty or failed

While a step's reads are still answering, the page draws placeholders and offers nothing. A read that failed says so with Try again:

> Could not load this step.

With no products to declare against, and where the catalogue did not answer:

> No active or draft products are available for this range. Add or activate products in Products.

> Product availability could not be loaded.

A season minted in the drawer that the calendar has not yet returned cannot be picked, and the drawer says so rather than guessing. The drawer refuses a season whose end falls before its start:

> The end has to fall after the start.

A declaration the engine refuses at the press says so, and a write the server refuses reads The commitment was not created, then the server's own reason:

> The engine refuses this declaration, so nothing was written.
