Concept
Connected seats are an improvement over the existing seat product. Instead of manually entering the number of units when initiating a subscription, this data is fetched directly from your database. This is especially useful if:- You want your billing system to reflect any changes made to your product (e.g. a user adds a new license)
- You want to keep track of which seat was added or removed, and when
- You want to bill prorated amounts (e.g. a customer starts with 5 licenses but adds another one mid-year)
Practical Application
How to create an automated seat-based product?
1
Create a seat-based product
Navigate to the Products Section for this.

2
Activate Metering configuration
Ensure to choose the event you wish to count, as connected seats products are centered around an entity called an aggregator.The aggregator plays a crucial role in gathering data received by Hyperline.It determines whether the incoming data should be factored into the billing calculations, providing a more streamlined and accurate billing process.

3
Click on Create Product
That’s it! Your seat-based product should now be marked as “Connected seat”.

How to configure connected seats product in subscriptions?
There are two main parameter groups: Refresh and Invoicing.Refresh schedule
- Realtime: The
countupdates immediately when a change is detected, instantly if you’re using the API, or based on the dataloader interval if you’re using loaders. - Periodic: The
countrefreshes based on the interval entered by the user in the Refresh interval field. It’s independent of the subscription billing interval but can be matched to it. - Manual: Users must trigger the refresh using the endpoint for a more customized experience.

Invoicing schedule
- Immediately: Hyperline charges (or refunds) the update as soon as it detects it, even in the middle of the period. If selected alongside the “periodic” option, it will simply invoice the customer at every “end” of period.
- With next invoice: Hyperline adds the update amounts to the next invoice as additional lines (so if the update is realtime but invoicing is at the end of the month, we’ll update the subscription count in realtime but will then add the charge to the next invoice).
- Custom: Allows the user to set an invoicing period, for instance, if they have an annual subscription they want to update in realtime but want to charge the update every month.

Other parameters
- Charging method: If prorata is selected, we’ll charge the units at the pro-rated rate given the product payment interval. Full amount means we’ll charge the entire price regardless of when the change is detected.
- Charge the highest detected value for the period: Instructs Hyperline to use the highest value it has counted regardless of the current one. Useful to always commit the maximum number of seats.
- Refund when a decrease in unit count is detected: Instructs Hyperline to count negative updates as refunds if they’ve already been paid.
Managing seat decreases
When a seat is removed (e.g., a user is deleted or a license is revoked), you need to signal this change to Hyperline. Since the API is append-only, you don’t delete events directly—instead, you update them with a flag and configure the aggregator to filter them out. Using anactive or archived (or what you want) boolean:
Use a boolean flag to mark the seat as inactive:
- For a boolean field: add a filter where
archivedequalsfalse
Billing calculation examples
Understanding how Hyperline calculates billing adjustments when seat counts change is essential for predicting your invoices. This section walks through concrete examples using a base price of 10€ per seat with a monthly subscription running from the 1st to the 30th. Those examples do not take into account the settings:Refund when a decrease in unit count is detected and Charge the highest detected value for the period
End of period billing
When your subscription is configured to bill at the end of the period, Hyperline calculates the final seat count and applies adjustments for any mid-period changes.Pro-rata calculation
Pro-rata calculation
With pro-rata billing, adjustments are calculated proportionally based on when the change occurred during the billing period.Adding seats (60 → 100 seats)You start the month with 60 seats and add 40 seats on the 15th.
Removing seats (100 → 60 seats)You start the month with 100 seats and remove 40 seats on the 15th.
| Item | Calculation | Amount |
|---|---|---|
| Base charge | 10€ × 100 seats | 1,000€ |
| Update adjustment (Jan 1–15) | -40 × 10€ × 15d/30d | -200€ |
| Total | 800€ |
The adjustment credits back the 40 seats for the first half of the month when they weren’t in use.
| Item | Calculation | Amount |
|---|---|---|
| Base charge | 10€ × 60 seats | 600€ |
| Update adjustment (Jan 1–15) | 40 × 10€ × 15d/30d | +200€ |
| Total | 800€ |
The adjustment charges for the 40 seats that were used during the first half of the month.
Pay in full calculation
Pay in full calculation
With pay in full billing, seat additions are charged at full price regardless of when they were added, while removals still account for usage during the period.Adding seats (60 → 100 seats)You start the month with 60 seats and add 40 seats on the 15th.
Removing seats (100 → 60 seats)You start the month with 100 seats and remove 40 seats on the 15th.
| Item | Calculation | Amount |
|---|---|---|
| Base charge | 10€ × 100 seats | 1,000€ |
| Update adjustment | — | 0€ |
| Total | 1,000€ |
New seats are charged at full price for the entire period, regardless of when they were added.
| Item | Calculation | Amount |
|---|---|---|
| Base charge | 10€ × 60 seats | 600€ |
| Update adjustment | 40 × 10€ | +400€ |
| Total | 1,000€ |
Removed seats are still charged at full price for the period they were active.
Do not charge
Do not charge
When configured to not charge for updates, no adjustment line items are generated.
- Adding seats: No additional charge (0€)
- Removing seats: No refund or adjustment (0€)
Start of period billing
When your subscription is configured to bill at the start of the period, you pay upfront based on your current seat count. Adjustments for mid-period changes are applied on the following invoice.Pro-rata calculation
Pro-rata calculation
With pro-rata billing, adjustments are calculated proportionally and applied to the next invoice.Adding seats (60 → 100 seats)You start January with 60 seats and add 40 seats on the 15th.Invoice on 1st January (for January period):
Invoice on 1st February (for February period):
Removing seats (100 → 60 seats)You start January with 100 seats and remove 40 seats on the 15th.Invoice on 1st January (for January period):
Invoice on 1st February (for February period):
| Item | Calculation | Amount |
|---|---|---|
| Base charge | 10€ × 60 seats | 600€ |
| Total | 600€ |
| Item | Calculation | Amount |
|---|---|---|
| Base charge | 10€ × 100 seats | 1,000€ |
| Update adjustment (Jan 15–30) | 40 × 10€ × 15d/30d | +200€ |
| Total | 1,200€ |
Total for January + February: 1,800€
The February invoice includes the pro-rated charge for the 40 seats added mid-January.
The February invoice includes the pro-rated charge for the 40 seats added mid-January.
| Item | Calculation | Amount |
|---|---|---|
| Base charge | 10€ × 100 seats | 1,000€ |
| Total | 1,000€ |
| Item | Calculation | Amount |
|---|---|---|
| Base charge | 10€ × 60 seats | 600€ |
| Update adjustment (Jan 15–30) | -40 × 10€ × 15d/30d | -200€ |
| Total | 400€ |
Total for January + February: 1,400€
The February invoice includes a credit for the 40 seats removed mid-January.
Pay in full calculation
Pay in full calculation
With pay in full billing, seat changes trigger full-price adjustments on the next invoice.Adding seats (60 → 100 seats)You start January with 60 seats and add 40 seats on the 15th.Invoice on 1st January (for January period):
Invoice on 1st February (for February period):
Removing seats (100 → 60 seats)You start January with 100 seats and remove 40 seats on the 15th.Invoice on 1st January (for January period):
Invoice on 1st February (for February period):
| Item | Calculation | Amount |
|---|---|---|
| Base charge | 10€ × 60 seats | 600€ |
| Total | 600€ |
| Item | Calculation | Amount |
|---|---|---|
| Base charge | 10€ × 100 seats | 1,000€ |
| Update adjustment (full Jan) | 40 × 10€ | +400€ |
| Total | 1,400€ |
Total for January + February: 2,000€
The added seats are charged at full price for the previous period.
| Item | Calculation | Amount |
|---|---|---|
| Base charge | 10€ × 100 seats | 1,000€ |
| Total | 1,000€ |
| Item | Calculation | Amount |
|---|---|---|
| Base charge | 10€ × 60 seats | 600€ |
| Total | 600€ |
Total for January + February: 1,600€
A refund is applied for the removed seats from the previous period.
Do not charge
Do not charge
When configured to not charge for updates, no adjustment line items are generated.
- Adding seats: No additional charge (0€)
- Removing seats: No refund or adjustment (0€)
Explore consumption
In the context of connected seats, consumption refers to the usage of the seat-based product. You can review this consumption in the dedicated section within the Hyperline platform. This view provides a comprehensive look at the usage of each seat-based product, allowing for better understanding and management of your billing process. You can as well review the consumption of a subscription in the subscription timeline.

