# Pricing

> Plans, each with its own trial, device count and seats, and coupons, as set under a tool's Pricing.

A tool's **Pricing** page holds everything a buyer can be charged for. The **Access** card at the top says who may use it and what they get before paying — including *Nothing free*, for a paid extension, which then has no Free plan at all; see [Access and features](https://toolaby.app/docs/free-plan.md). The plans follow, each a Price under the tool's Product on your Stripe account. Changes take effect at the popup's and the checkout page's next open; no release is needed.

## Plans

The plans are cards: the Free plan first when there is one, then every paid plan — its price, what it comes with as tags (*7-day trial*, *2 devices*, *Per seat*) and who holds it — with **Edit** and **Retire**. **New plan**, the dashed card at the end, adds one.

| Field            | Values                                             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ---------------- | -------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Billing          | once, subscription                                 | Once makes a lifetime licence. A subscription is billed by Stripe with the buyer's card on file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Interval         | monthly, yearly                                    | Subscriptions only.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Amount, currency | at least 0.50; `50` in a currency without decimals | What Stripe charges, in a currency your Stripe account can charge in: the sheet lists them as Stripe does for your account's country, your account's own and your plans' first, and any other is refused, from the command line too. The amount is typed in the currency's own unit: `10.50` for €10.50, `500` for ¥500. A fraction the currency does not have is refused: none in JPY, KRW and Stripe's other zero-decimal currencies, whole krónur in ISK, and a third decimal of `0` in KWD, BHD, JOD, OMR and TND.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Name             | optional, e.g. *Pro*                               | What buyers read before the billing: *Pro* shows as *Pro · Monthly*. Empty: Lifetime, Monthly or Yearly alone, by its billing. **Edit** on the plan changes it later. Two plans with one name unlock the same features. Without features named, every plan unlocks the whole tool.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Free trial       | subscriptions, `0` to `365` days                   | Stripe's trial on that plan, shown at checkout as &#x2A;7 days free, then €3.00 per month starting …*, and on the plan's card in the line under the price. The card is taken and charged when the trial ends; the buyer can cancel before that. One trial per inbox per tool: a second subscription to the tool, on any plan and from any account on the same inbox, pays from the first day, as does a buyer whose address is unverified or disposable. During the trial `gate()` allows and `user.subscription.status` is `trialing`. **Edit** changes it for the next checkouts. Your website can also start a trial with no card: as long as the longest a plan offers, with that plan's features ([Website components](https://toolaby.app/docs/web-components.md#buttons)).                                                                                                                                                                                                                                                                                                                                                                         |
| Devices          | `1` to `10`; on a subscription, empty for any      | How many devices one buyer may use it on at once. On a lifetime plan, every device holding the licence counts once, by its key or by signing in. A further device is refused, with the reason, until the buyer signs one out or removes one on their account page. The limit is checked again each time a device renews its access, so devices signed in before the purchase cannot pass it: devices unlocked by the key keep their places, signed-in ones fill the rest in the order they signed in, and a device past the limit keeps its sign-in with the Free plan until another is signed out. Two licences for one tool allow their devices together. A live grant or subscription beside a licence lifts its limit. Licences already sold keep the number they were sold with. On a subscription it is the extensions signed in to the account for the tool: a further sign-in is refused, with the reason, until the buyer signs one out on their account page. Left empty, or where nothing sets a limit (the Free plan, a trial, a grant), an account signs in on 20 devices per tool, and the 21st signs the oldest out. |
| Sold per seat    | on or off                                          | The checkout page asks *For me* or *For a team* and, for a team, how many seats — 2 to 100 — and the button reads *Buy 5 seats · €95* or *Subscribe · 5 seats · €40 / month*. See [Seats](https://toolaby.app/docs/seats.md). A lifetime plan starts with it on; a subscription off.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

The plan's id is `lifetime`, `monthly` or `yearly` by kind; a second plan of the same kind gets a suffix, such as `monthly-k3x`. A tool's first plan has the id `default` whatever its kind; it is the plan the popup preselects, and once it is retired, the first plan still on sale is. Each plan's card shows its id beside who holds it. The id is what `openPaymentPage(id)`, `data-toolaby-plan` and `Toolaby.checkout({ plan })` take, and what webhooks report as `plan`.

The checkout page shows plans in the order once, monthly, yearly, and marks the saving of a yearly plan against twelve months of the monthly one.

## Retiring a plan

**Retire** archives the Price on Stripe and removes the plan from the popup and the checkout page. Existing licences stay valid; existing subscriptions keep billing at their price until cancelled or switched. Prices cannot be edited: to change an amount, add a plan and retire the old one. Any plan can be retired. Retire the `default` plan and the first plan still on sale becomes the default: the one the popup preselects, and what a checkout without a plan sells. Retire the last one and nothing can be bought until you add another, so add the new plan first.

On the Hobby plan, a lifetime plan's checkout is refused while its Price on Stripe charges anything other than the plan's amount and currency: other currencies, an amount the buyer chooses, or tiers, added in the Stripe Dashboard. The buyer is told the plan cannot be bought right now. Add the plan again and retire the old one.

## What a change does to people who already bought

Terms of sale reach the next buyer; what the tool does reaches everyone. Each **Edit** sheet says who it reaches, with the count, before you save.

| You change                             | Lifetime licences sold                             | Subscribers                                                                                                               | New buyers                    |
| -------------------------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| Price (retire, then a new plan)        | nothing                                            | keep paying their price until they cancel or switch                                                                       | the new price                 |
| Free trial                             | —                                                  | nothing                                                                                                                   | the next checkout             |
| Devices                                | keep the number they were sold with                | stay signed in; a lower number applies at their next check, and devices past it, newest sign-in first, have the Free plan | the new number                |
| Sold per seat                          | team licences unaffected                           | team subscriptions keep running; off, the buyer can no longer change the count in Stripe's portal                         | *For a team* shown or not     |
| Name                                   | the label, everywhere                              | the same                                                                                                                  | the same                      |
| **Features** (the grid)                | **everyone, at their next check, within the hour** | the same                                                                                                                  | the same                      |
| **Access** (the account, what is free) | —                                                  | —                                                                                                                         | everyone, at their next check |
| Retire a plan                          | keep it                                            | keep paying                                                                                                               | cannot buy it                 |

Features and Access are the two that reach people who already pay: a plan is a name for a set of features, and the set is the tool's. Unticking a feature on a plan with holders, or removing it from the tool, asks first — *This takes Export from 12 people on Pro* — and takes effect at their next check. Adding one back, with the same key, restores it the same way. Nothing is revoked, refunded or emailed by any change on this page; the [customer list](https://toolaby.app/docs/customers.md) and the export are there if you want to write to them.

## Coupons

A coupon is a code typed at checkout: a percentage or an amount off, an amount in a currency your plans are in, since it comes off only a price in its own; once, for a number of months, or forever; with an optional expiry, redemption limit, and *first-time buyers only*. It is a Coupon and a Promotion Code on your Stripe account, restricted to the tool's Product. **Retire** stops new redemptions; a discount already applied to a subscription runs its course.

A coupon that takes the whole price sells nothing: the purchase is a pass, and a workspace on the Hobby plan holds 100 at once. See [Plans](https://toolaby.app/docs/plans.md).

## Changing plans

A subscriber switches between your recurring plans from their account page through Stripe's billing portal. The difference is prorated and invoiced at once. A subscriber who buys a lifetime licence keeps the subscription until the end of the paid period, then it ends — when the lifetime plan unlocks every feature the subscription's plan does, on as many devices. A lesser one leaves the subscription running, and so does any lifetime plan when the subscription's plan has no device count. If that purchase is refunded in full or disputed, the subscription runs on, and your refund or dispute mail says so; if the dispute is won, it ends with its period again. See [Buyer pages](https://toolaby.app/docs/buyer-pages.md).

## Test and Live

Prices are per side. **Copy to Live**, at the foot of the tool's **Set up** page, creates the same plans, with their trial and device count, on Live. See [Test and Live](https://toolaby.app/docs/test-and-live.md).
