Skip to main content

Per-Seat Billing

Per-seat billing charges a fixed price per user, team member, or “seat.” The total bill scales proportionally with the number of active seats. This is common in B2B SaaS where customers invite team members and each member incurs cost.

Plan configuration

Use the per_unit pricing rule:

Creating a subscription with an initial quantity

Pass the initial seat count in plan_items:

Updating quantity when membership changes

Use the UpdateQuantity action whenever a seat is added or removed:

Automating quantity sync with a resolver

Register a quantity resolver in AppServiceProvider::boot() to let Subscribd keep the quantity in sync automatically:
With a resolver registered, Subscribd calls it before every billing cycle to ensure the quantity is current.

PlanItems and caps

For plans with a hard cap on seats, configure the PlanItem directly:
Attempting to add a seat beyond the ceiling throws Pixelworxio\Subscribd\Exceptions\SubscriptionItemCapExceededException.

Checking seat entitlements

Next steps