> For the complete documentation index, see [llms.txt](https://docs.amply.tools/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.amply.tools/price-management/creating-a-price-change.md).

# Creating a price change

Build a price change in the three-step form, review the computed territory-by-territory prices, apply the draft to the store, and monitor the result.

**Use this when** you're ready to push a new base price, percentage change, or matrix to the store for a specific product. **Don't use this when** you're still deciding on the target numbers — inspect current prices in [Compare](/price-management/comparing-prices.md) first, or shape the index in [Price indexes](/price-management/price-indexes.md).

## Prerequisites

* The application is connected to App Store Connect or Google Play Console and its products are visible in Amply.
* The product already has a current price in the base country (for Base-price method) or in every country you want to change (for Percentage method).
* For iOS subscriptions: a decision about whether existing subscribers move to the new price or keep the current one.
* For Android subscriptions: a product with a single base plan — multi-base-plan subscriptions are not supported.

## Step-by-step

{% stepper %}
{% step %}

### Open the form

From **Price Management**, click **New Price Change** in the top right. If the project has more than one application, the active one is preselected — you can switch it at the top of the form.
{% endstep %}

{% step %}

### 1. Product

Pick the product. The list shows subscriptions and in-app purchases for the selected application. For iOS, when the same product identifier exists as both a subscription and an in-app purchase, Amply picks the subscription.

Click **Continue**.
{% endstep %}

{% step %}

### 2. Price details

Fields depend on the pricing method you pick first.

**Pricing method**

* **Base price** — set one price in one country; Amply computes every other territory using a price index.
* **Percentage** — set one ± number; Amply applies it to every territory's current store price.

**If Base price:**

* **Base Country** — the anchor country. Currency is inferred from it.
* **Base Price** — on iOS, the field autocompletes the valid **Apple price points** (tier prices Apple accepts) for the selected country. On Android, any positive number is accepted. If the product already has a store price in the chosen base country, the field pre-fills it.
* **Price Index** — the matrix of multipliers applied for every other territory. In-app purchases default to **Apple Store Matrix (IAP)**; subscriptions default to **App Store**. Change to any system or custom index. See [Price indexes](/price-management/price-indexes.md).

**If Percentage:**

* **Percentage change** — a signed number (e.g. `-10` for a 10% cut, `+15` for a 15% bump) applied to every current store price.

**Start Date**

When the new prices go live. On iOS, the earliest is tomorrow — Apple rejects same-day updates. On Google Play, the change is accepted immediately but can take several hours to appear on the listing.

**Price change audience** (iOS subscriptions only)

* **New subscribers only** — existing subscribers keep their current price. New subscribers get the new price.
* **All subscribers** — existing subscribers move to the new price on the start date.

Price decreases apply to everyone regardless of this setting.

**Rounding Strategy**

* **No Rounding** — raw computed price is used.
* **Decimal Rounding** — round each price. Pick:
  * **Rounding Direction** — Round to nearest / Round up / Round down
  * **Rounding Profile** — Sharp (`.99`/`99`/`999`), Soft (`.95`/`95`/`950`), Round (`.00`/`00`/`000`), Half (`.50`/`50`/`500`)

Click **Continue**.
{% endstep %}

{% step %}

### 3. Adjust

Review the full per-territory table. Amply computes a new price for every territory the product is available in. Rows are grouped by continent; use **Expand all** / **Collapse all** to navigate.

For each row you can:

* Edit the **new price** inline to override the computed value.
* Untick the row's checkbox to skip that territory.
* Untick a continent header to skip every territory in that region.

A banner at the top lists any territories where the store doesn't support pricing for this product; those are excluded automatically.

Click **Create** at the bottom. The batch saves as a **Draft** and you land on the edit screen.
{% endstep %}
{% endstepper %}

## Drafts

A draft is never sent to the store. You can leave it as long as you like; return to **Price Management**, filter by **Draft**, and open the row to resume editing.

On the **Edit Draft** screen:

* Change individual territory prices and skip flags.
* **Delete** — remove the draft.
* **Apply** — submit the batch to the store. The batch moves to **Pending** and you're taken to the detail view.

Drafts with an expiration date show a reminder in the header; after that date they're cleared automatically.

## Monitoring a batch

Open any non-draft batch from the history. The detail screen shows:

* A status chip in the header: Pending, Sending, Completed, Incomplete, Failed, Cancelled, or Deferred.
* Six counters: Total, Completed, Unchanged, Failed, Deferred, Pending.
* A stacked progress bar colored by entry status.
* A per-territory table: Territory, Original price, New price, Diff (%), Status, Attempts.

While the batch is in flight, the page auto-refreshes every two seconds. Territories move through their own states: Pending → Sending → Completed, Failed, Skipped, Deferred, or Unchanged. An **Unchanged** entry means the computed price equalled the store's current price — no write was made.

### Recovering from failures

When the batch is terminal (Completed, Incomplete, Failed, or Cancelled), two recovery actions may appear in the header:

* **Retry failed (N)** — re-submit every Failed entry. Use this after transient store errors. The batch re-enters Sending.
* **Resume now (N)** — push every Deferred entry immediately. Deferred usually means the store throttled the original attempt; this retries it right away.

While the batch is still in flight (Pending or Sending), the header offers **Cancel batch** instead. Cancelling stops further submissions; already-synced prices stay live.

A fourth action, **Save as custom index**, is shown for any Base-price batch that has entries — it doesn't depend on the batch being terminal. Use it to turn the per-territory matrix into a reusable index. See [Price indexes](/price-management/price-indexes.md#save-a-batch-as-an-index).

## Common mistakes

* **Base price that isn't a valid Apple tier.** On iOS, the base price must match an Apple price point — use the autocomplete dropdown.
* **Start date set to today.** Apple rejects same-day updates. Set tomorrow or later.
* **All prices Unchanged.** The batch submitted fine but the computed prices matched current store prices exactly. Adjust your base price, percentage, or index.
* **Started the batch before checking availability.** If a product isn't published in a country, that territory is skipped automatically and listed in the banner. Publish it in the store first if you want to include it.

## Related

* [Price management overview](/price-management/price-management.md) — feature overview and status reference
* [Price indexes](/price-management/price-indexes.md) — how the matrix used in "Base price" is defined
* [Comparing prices](/price-management/comparing-prices.md) — preview current prices across products


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.amply.tools/price-management/creating-a-price-change.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
