How-tos
Add or remove team seats
This page covers the Adjust seats form at /admin/billing/ — adding seats so you can invite more teammates, or removing seats you no longer need. Tier-mix changes for an existing member are a different workflow; see Change a member’s tier.
Before you start
You must be owner or admin of the team. The Billing page returns “Not authorized” otherwise.
The form
Each tier (Operator, Pro, Max) has a numeric input showing the seat count and a helper line below it:
Operator [ 2 ] 1 assigned · 1 remaining
Pro [ 3 ] 3 assigned · 0 remaining
Max [ 0 ] Not purchased
Edit any input and the summary line at the bottom of the form tells you the net effect:
- Adding N seats — applies immediately, prorates on your next invoice for the unused portion of the current period.
- Removing N seats — scheduled for the start of your next billing period. Your current seats and member entitlements stay live until then.
- Swapping seats across tiers (e.g. -1 Operator +1 Pro) — treated as a combined upgrade. The net cost difference is prorated; the swap takes effect immediately.
The Apply changes button stays disabled until your inputs differ from the current counts AND total seats stays ≥ 1.
Steps — add seats
- Go to /admin/billing/.
- Bump the input for the tier you want more of. Example: Operator was 2, set to 3.
- Confirm the summary line — “Adding 1 seat”.
- Click Apply changes. You’ll see a green confirmation: “Seats updated — change applies immediately. Prorated charge will appear on your next invoice.”
- The new seat is now in your unassigned pool. Either send an invite at that tier, or reassign an existing member onto it.
The proration charge appears on whatever invoice closes the current billing period — same way Stripe handles every other seat-quantity change.
Steps — remove seats
- Go to /admin/billing/.
- Decrease the input for the tier with the unused seat(s). Example: Pro was 3, set to 2.
- Confirm the summary line — “Removing 1 seat”.
- Click Apply changes. You’ll see: “Scheduled to take effect on <next-period date> (the start of your next billing period). Your seats and entitlement stay the same until then. To reverse the downgrade, simply set the seats back up — the schedule will be released.”
- Until the next period starts, the seat count visible in the UI stays at the higher value. At renewal, it drops to the target.
To cancel a scheduled removal — say you changed your mind — go back to the form and set the seat count back up. The scheduled change is released.
Why removals defer
Without deferral, a customer could subscribe at a high seat count on day 1, immediately drop the count on day 28, receive a prorated credit for ~27 days of unused capacity, and effectively get a discount on capacity they already used. Deferring to the next billing period closes that loop: you keep what you paid for through the end of the period, the new (smaller) bill starts at renewal.
Why you can’t drop a seat below its current assignment
Try setting Pro from 2 to 0 with one member still on Pro and the form returns:
You have 1 pro member, but you’re reducing pro to 0. Remove/re-tier members on the Members tab or cancel pending invites on the Invites tab first.
The system also counts open invites as committed seats —
an outstanding invite for a Pro role reserves a Pro seat, so
you can’t reduce Pro count below assigned members + open invites at that tier.
Two fixes:
- Re-tier the member to a tier you DO want to keep paying for.
- Remove the member from the team or cancel their open invite first, then re-apply the seat decrease.
You can’t drop your own tier
If you’re on Pro and try to set Pro to 0 (intending to keep Operator and Max, say), the form blocks with:
You can’t drop your own tier (pro) below 1 — you’d lose access immediately and couldn’t fix it from this page.
Reasoning: dropping your own tier would kill your own entitlement, including the right to call the billing API to fix the mistake. The system requires you to keep at least 1 seat at your current tier. If you really want to move yourself to a different tier, do it via Change a member’s tier (which lets you re-tier yourself the same way you’d re-tier any other member).
Common flows
| Goal | Action |
|---|---|
| Hire a new Pro engineer | +1 Pro seat → invite them |
| Promote an Operator to Pro | +1 Pro, re-tier the member on Members tab, -1 Operator |
| Someone leaves the team | Remove them from Members → reduce their tier’s seat count by 1 |
| Trial-team going permanent | Often no change needed; seats stay as-is |
| Renegotiating seat mix at renewal | Apply changes now; decreases land at renewal automatically |
Related
- Billing scenarios — the worked example for going 1 → 3 Max seats mid-period, with exact invoice line items
- Change a member’s tier — the cross-tier re-assignment flow
- Invite a teammate — consume an added seat
- Billing & usage — what each tier includes