Sequence provides native support for businesses with seat-based pricing, including seat types, a simple API to submit seat updates and a dashboard to track seat balances and changes.

Concepts

Seat types

Seat types represent the types of seats that exist in your product, such as Admin Seats, Viewer seats, Editor seats, etc.

Model seat types from your product in Sequence

Seat balances

The seat balance reflects the latest number of seats in use for a customer, per seat type. For example, a customer may have a seat balance of 120 admin seats. The next day 5 new admin seats are added, 1 is removed. The new seat balance is 124 admin seats. Learn more about seat balances here.

Model seat types from your product in Sequence

Seat updates

The seat updates view shows a log of all seat update events you have sent to Sequence. Each seat update event includes a granular view of the number of seats that were added and removed as well as the balance at the time the seat update was submitted. Learn more about seat updates here.

View a historical log of added and removed seats, per customer

To submit a seat update via the dashboard (typically for testing), select a customer and seat type and define how many seats are added and/or removed.

Submit a seat update

Getting started with seat-based billing

1

Configure seat types

Start by configuring your seat types in Sequence. Seat types reflect the different types of seats available via your app that your customers are billed for. You can optionally also include free seats (e.g. Viewer seats).

2

Submit a seat update

You can submit a seat update for a customer via the Sequence dashboard to test seat-based pricing. Actual seat updates are submitted via API.

3

View seat balance

On the balances view, you can now see the new balance for the customer.

4

Create billing schedule with seat-based pricing

Create a billing schedule for the customer and configure a seat-based price, using the seat type you’ve configured.

5

View invoice

Once you start the billing schedule, you should see an in-progress invoice including any seat-based charges for the customer.

6

Integrate via API

Submit seat updates to Sequence whenever a user adds or removes seats.

7

Automate seat-based billing

You can now create add seat-based prices to your billing schedule. Sequence will automatically calculate seat balances and calculate billing based on your seat-based pricing configuration.


Seat-based pricing: Industry examples

  • Miro and Figma have per-seat pricing with self-serve flows to add/remove users. Charges are prorated in both cases. Figma does not refund downgrades for annual seats.

  • Loom and Asana have per-seat pricing, but only prorate upgrades – downgrades are effective from the next billing cycle.

  • Grafana and Kadence charge a fixed amount per “active user”: there is no set limit to how many users a customer can have, and they will get charged based on how many seats were active in a given billing period, where “active” means having used the product at least once in that period. With this definition, seats are either fully active or fully inactive each period, so there is no proration.

  • Slack price based on “active seats” and seats can be partially active in a billing period, in which case proration applies.

  • With Github, customers are charged in-advance based on the latest number of seats. If a customer adds seats mid-month, they are immediately charged a prorated amount. Downgrades are still charged for in the current billing period (no refund/credit).

  • HubSpot bills monthly in-arrears based on number of seats. If customer adds a user, the next bill will include a prorated charge based on when the user was added. Removing a user does not remove the paid seat.

(Examples: Last updated in early 2024)