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

# Plans & Versions

> Managing the lifecycle of your product pricing.

Plans and Plan Versions are the primary objects you interact with in Unprice to define your offering.

## Plans: The Identity

A **Plan** represents a specific product offering (e.g., "Startup Plan", "Enterprise Plan"). It acts as a container for your features and their pricing history.

Key properties of a Plan:

* **Name**: The display name of the plan.
* **Slug**: A unique identifier used in the API and SDK.
* **Enterprise**: A flag to indicate if this is a custom enterprise plan.

## Plan Versions: The Logic

Every time you want to change the price of a plan or add/remove a feature, you create a new **Plan Version**. This is the core of the PriceOps workflow.

### Why use Versions?

1. **Immutability**: Once a version is published, it cannot be changed. This guarantees that customers subscribed to that version will always have the same billing logic.
2. **Scheduled Changes**: You can prepare a new version in advance and publish it when ready.
3. **A/B Testing**: You can have multiple versions of the same plan active simultaneously to test different pricing strategies.

### Version Lifecycle

* **Draft**: The version is being configured. It's not visible to customers.
* **Published**: The version is active and can be used for new subscriptions.
* **Archived**: The version is no longer available for new subscriptions, but existing customers on this version remain unaffected.

## Configuration Details

When configuring a Plan Version, you define:

### Billing Configuration

* **Interval**: How often the customer is billed (e.g., monthly, yearly).
* **Currency**: The currency for all prices in this version (e.g., USD, EUR).
* **Trial Period**: Optional number of days for a free trial.

### Feature Assignment

For each feature included in the version, you specify:

* **Price**: The cost based on the feature type (Flat, Tier, etc.).
* **Limit**: Optional hard limit on usage.
* **Reset Logic**: When the usage counter should reset (usually at the start of the billing cycle).

<Note>
  Unprice handles the complexity of "legacy" pricing automatically. If you increase the price of your "Pro" plan by creating a new version, your existing customers remain on the old version until you explicitly choose to migrate them.
</Note>
