Editorial note. Slack figures are US list prices from slack.com/pricing and its fair-billing policy; Figma figures are from figma.com/pricing. Both as of September 2026; neither company is affiliated with Sonic AI. The seat mechanics have been stable for years even as prices moved.
Slack is the product people mean when they say "per-seat pricing", and it is worth studying because it does the two things most per-seat billing systems skip: it prorates seats added mid-period, and it credits seats that stop being used. Slack calls this fair billing. Behind the friendly name is a precise set of rules — and further down, the other per-seat model most B2B contracts grow into, which Figma runs with seat types, annual terms and quarterly true-ups.
What Slack charges
Per active user per month:
| Plan | Annual | Monthly |
|---|---|---|
| Pro | $7.25 | $8.75 |
| Business+ | $15 | $18 |
| Enterprise+ | Contact sales | — |
Fair billing, quoted from Slack: members "who take an action in Slack at any time within a 28-day period will be considered active for billing purposes"; new members are charged "a prorated amount … for the remainder of the current billing period"; and if a paid member becomes inactive, "we'll add a prorated credit to your account for the unused time."
The model underneath — and the annual-term variant
| Slack | Figma (Org / Enterprise) | |
|---|---|---|
| Seat meters | One | Three — Full, Dev, Collab, each its own rate |
| Quantity | Derived from activity snapshots | Approved seats from the admin roster |
| Timing | In advance per period | In advance for the annual term |
| Proration policy | Added and removed — charge adds, credit removals | Added seats only — charge adds to term end; removals settle at renewal |
| Proration grain | Daily on monthly plans, monthly on annual | Monthly, invoiced as a quarterly true-up |
That second row is the one people miss on Slack: the count is not what the admin provisioned, it is who acted in the last 28 days, evaluated continuously. A quiet user silently drops off the bill; a returning one silently comes back. That is only billable from daily snapshots of activity.
What a month looks like
Pro, monthly ($8.75), 40 active seats on Sept 1; three join Sept 11; two go quiet from Sept 21:
| Line | Qty | Rate | Amount |
|---|---|---|---|
| Pro — Sept 1–30, in advance | 40 | $8.75 | $350.00 |
| Seats added Sept 11 — 20 of 30 days | 3 | $8.75 × 20/30 | $17.50 |
| Seats inactive from Sept 21 — credit, 10 of 30 days | 2 | −$8.75 × 10/30 | −$5.83 |
| September | $361.67 |
Who else prices per seat — Figma, and the annual-term version
Slack is the simple version. Figma is the version most B2B contracts grow into: several seat types at different prices, an annual term paid up front, and new seats trued up on a quarterly invoice. Same model, opposite answers to "what happens mid-term" — Figma prorates adds to the end of the annual term, invoices them quarterly, and settles removals only at renewal. If your order forms mention "admin seats" and "viewer seats", you are billing Figma. Notion, Zoom, Asana and Linear sit between the two: flat per-seat rates, monthly or annual, usually with Slack-style proration on adds and Figma-style settlement of removals at renewal.
Figma — per seat per month, by seat type:
| Plan | Full | Dev | Collab | Term |
|---|---|---|---|---|
| Professional | $16 | $12 | $3 | Monthly or annual |
| Organization | $55 | $25 | $5 | Annual |
| Enterprise | $90 | $35 | $5 | Annual |
On Organization and Enterprise, new seats are "prorated based on the date they were approved until the end of the annual subscription term" and invoiced quarterly; on Professional they are prorated through the current term and invoiced monthly.
Figma — Organization, annual term Jan 1–Dec 31; 4 Full seats added Feb 10 and 6 Dev seats added Mar 3. The Q1 true-up, issued end of March:
| Line | Qty | Remaining term | Rate | Amount |
|---|---|---|---|---|
| Full seat — added Feb 10, to Dec 31 | 4 | 10 months 19 days | $55 / mo | $2,349.29 |
| Dev seat — added Mar 3, to Dec 31 | 6 | 9 months 29 days | $25 / mo | $1,490.32 |
| Q1 seat true-up | $3,839.61 |
The Figma lines walk calendar months of the price basis (ten full months plus 19/28 of February), not days over 365 — and each seat event stays its own row, because the customer's admin will reconcile it against the approval log.
Where per-seat billing goes wrong
- Provisioned versus active. If the contract says "active users", the count must come from activity snapshots with a defined window, and a seat that returns after 30 quiet days must re-add cleanly.
- Credits need a home. Slack's prorated credit is real money against the next invoice or a credit note. Many systems can prorate a charge and have no path to prorate a refund.
- Seat-type moves look like churn. Downgrading a Full seat to Dev is
−1 Full, +1 Devon the same day. Under added-seats-only that credits nothing and charges a prorated Dev seat — which is what Figma does, but your contract may say otherwise. - Basis versus cadence. Figma prorates to the annual term end but invoices quarterly. A system with one "billing frequency" cannot express that.
- The last-day add. A seat added on the 30th belongs on this period's invoice as a one-day stub, not on next month's as a full period.
- Renewal resets the base. Next year's advance invoice must use the roster at term end, not last year's contracted number.
Billing this shape on Sonic AI
Both are seat-based linear list prices on Sonic; the difference is configuration. Slack is one seat meter with the proration policy added and removed seats, fed by daily activity snapshots that become seat events only when the count changes, with a confirmation window so a three-day trial user never bills. Figma is one product with three seat meters (one per seat type, each its own rate) on an annual in-advance schedule, proration policy added seats only, and a quarterly grain for the remaining-term charge — snapshots keyed by customer and seat type, so a Full→Dev move is two events on two meters, both visible on the true-up. In both cases proration walks calendar units of the price basis, the advance invoice, the true-ups and the renewal come from the same billing schedule, and removals under Slack's policy land as credits.
See usage & seats, seat-based billing, explained, and seats are snapshots.
If you price like Slack
- Is the count provisioned or active? If active, define the window and derive it from snapshots.
- How many seat types, and can a person move between them?
- Do removals credit (Slack) or settle at renewal (Figma)? It is a proration-policy setting — write it in the contract.
- What is the proration basis and the true-up cadence? They are two settings.
Bring a seat export or an annual seat contract to a demo — we will run it through the snapshot import and show the invoice.
Similar pricing models
Slack's active-user rule is the strictest form of per-seat pricing; the same family includes Figma (seat types, annual term — above), Zoom and Notion (flat per-seat, monthly or annual), Jira (per-seat with tiered rates and a high-water-mark quantity) and Salesforce (per-user editions on annual terms with a renewal uplift). If your product adds a usage pool on top of the seat, see Cursor.
Related terms: seat-based billing, seat proration policy, renewal clause, credit note.