Skip to main content

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 count updates 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 count refreshes 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 an active or archived (or what you want) boolean: Use a boolean flag to mark the seat as inactive:
{
  "customer_id": "<customer_id>",
  "timestamp": "2024-03-15T10:00:00.000Z",
  "event_type": "users",
  "record": {
    "id": 258,
    "email": "[email protected]",
    "created_at": "2024-01-01T00:00:00.000Z",
    "archived": true
  }
}
Then, configure the product’s metering aggregator to filter out archived seats:
  • For a boolean field: add a filter where archived equals false

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.
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.
ItemCalculationAmount
Base charge10€ × 100 seats1,000€
Update adjustment (Jan 1–15)-40 × 10€ × 15d/30d-200€
Total800€
The adjustment credits back the 40 seats for the first half of the month when they weren’t in use.
Removing seats (100 → 60 seats)You start the month with 100 seats and remove 40 seats on the 15th.
ItemCalculationAmount
Base charge10€ × 60 seats600€
Update adjustment (Jan 1–15)40 × 10€ × 15d/30d+200€
Total800€
The adjustment charges for the 40 seats that were used during the first half of the month.
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.
ItemCalculationAmount
Base charge10€ × 100 seats1,000€
Update adjustment0€
Total1,000€
New seats are charged at full price for the entire period, regardless of when they were added.
Removing seats (100 → 60 seats)You start the month with 100 seats and remove 40 seats on the 15th.
ItemCalculationAmount
Base charge10€ × 60 seats600€
Update adjustment40 × 10€+400€
Total1,000€
Removed seats are still charged at full price for the period they were active.
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.
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):
ItemCalculationAmount
Base charge10€ × 60 seats600€
Total600€
Invoice on 1st February (for February period):
ItemCalculationAmount
Base charge10€ × 100 seats1,000€
Update adjustment (Jan 15–30)40 × 10€ × 15d/30d+200€
Total1,200€
Total for January + February: 1,800€
The February invoice includes the pro-rated charge for the 40 seats added mid-January.
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):
ItemCalculationAmount
Base charge10€ × 100 seats1,000€
Total1,000€
Invoice on 1st February (for February period):
ItemCalculationAmount
Base charge10€ × 60 seats600€
Update adjustment (Jan 15–30)-40 × 10€ × 15d/30d-200€
Total400€
Total for January + February: 1,400€ The February invoice includes a credit for the 40 seats removed mid-January.
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):
ItemCalculationAmount
Base charge10€ × 60 seats600€
Total600€
Invoice on 1st February (for February period):
ItemCalculationAmount
Base charge10€ × 100 seats1,000€
Update adjustment (full Jan)40 × 10€+400€
Total1,400€
Total for January + February: 2,000€ The added seats are charged at full price for the previous 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):
ItemCalculationAmount
Base charge10€ × 100 seats1,000€
Total1,000€
Invoice on 1st February (for February period):
ItemCalculationAmount
Base charge10€ × 60 seats600€
Total600€
Total for January + February: 1,600€ A refund is applied for the removed seats from the previous period.
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.
More detailed information can be found in the Explore usage consumption section.