# Set up billing

<video controls playsinline preload="none" poster="/videos/billing-setup.jpg" aria-label="Setting up billing in sumwerk, a two-minute walkthrough"><source src="/videos/billing-setup.mp4" type="video/mp4"><a href="/videos/billing-setup.mp4">Download the video</a></video>

*The two-minute walkthrough, on invented example data. The steps, in words, below.*

## 1. How do you sell today?

**Billing** starts with one question. Pick the way that fits; you can change everything later.

- **I already sell with Stripe:** sumwerk reads your products and prices and suggests what
  each one is (next step). Nothing changes in Stripe.
- **Start fresh:** pick a pricing model (per seat, tiers with limits, plan plus credits,
  flat plus add-ons) or describe your app. sumwerk drafts plans, limits and prices; nothing
  goes to Stripe until you publish.
- **Only entitlements, no payments yet:** plans without Stripe, given by default, by a
  trial or by hand.

## 2. Tell sumwerk what your app limits

Under **Billing → Settings → Features**, add what your plans differ in: features that are
on or off (API access, SSO) and limits (seats, projects, exports per month). The **key** is
what your app's code asks for, so it stays once created.

## 3. Sort your Stripe prices

**Billing → Settings → Stripe prices** lists every product with its prices and how many
customers pay each, and a suggestion for every price:

- the **main item** of a subscription is a **plan's** price; the plan is named after the
  product (a brand most of your product names start with is left out);
- an item **beside a plan** is an **add-on** for the feature its product is named after,
  **sold with the plan** it rides along with. Several plans may share one product, a price
  per plan;
- a **one-off** price is a **credit bundle**.

**Accept** one, **Change** it in its row, or **Accept all** suggestions that come from running
subscriptions. Prices nobody pays yet stay a guess for you to check.

## 4. The pricing

**Billing → Settings → Pricing** has two views of the same thing.

**Table:** plans across; down, each plan's prices per period, its rules (who can get it,
trial, after a cancellation), what it gives, and its extras. Every cell is its own form:
click, change, save. Nothing else on the page moves.

**What customers can buy:** every plan per billing period, with the extras its customers are
offered:

- **bold** is the price new customers get. Where a plan has two prices for the same
  period, choose one: **For new customers**. Checkout, upgrades and the pricing page then
  always take it; customers on the other keep theirs;
- **gray** is an older price customers keep, or a price for any plan;
- **orange** is a price on the plan's subscriptions that the plan does not offer (another
  plan's): mark it a **known deal**, or move those customers;
- **Missing** is a gap: the plan sells an extra monthly but not yearly, or lacks a monthly
  or yearly price the other plans have. Add a price, or mark it **Not offered**.

**Needs a look** lists all of these, most customers first.

## 5. Publish

A new price is a **draft** until you **publish**: then sumwerk creates it in Stripe (on the
product the plan's or the extra's other prices are on), and a new amount archives the old
price while its customers keep it. Publishing needs billing management switched on
(Account → Stripe and sync). A price published by mistake is archived again.

To try things on test data first, switch to a [sandbox](/docs/sandbox) at the top: there,
publishing goes to the sandbox's own Stripe sandbox, never to live.

## 6. The rest

The checklist on **Billing** shows what is left until your app's first customers arrive:
trials and what happens after a cancellation, your customers' pages (plan selection,
checkout, invoices, in your colors), and connecting your app
([Connect your product](/docs/connect-your-product); every call in the
[API reference](/docs/api#billing-what-each-customer-may-do)). A [sandbox](/docs/sandbox) gets a copy of
your app with its features, plans and limits, so your app's staging asks it the same questions as live. How plans group Stripe products for
revenue reports: [Plans](/docs/plans).
