Industry
Use Case
Favorite Feature
A team collaboration platform (similar to Slack, Asana, or Microsoft Teams) manages seat licenses for mid-market and enterprise organizations with complex structures. Enterprise customers have multiple departments, subsidiaries, and temporary contractors—all requiring flexible seat allocation. The platform’s billing was initially tied directly to seat subscriptions in Stripe, which meant every seat transfer required a billing change. This created friction: customers couldn’t move seats between teams without opening support tickets and triggering billing updates.
NetLicensing’s Subscription + Multi-Feature + Floating licensing decoupled seat entitlements from billing, enabling team administrators to provision, transfer, and share seats autonomously while the platform enforces seat caps and the billing system tracks usage for final reconciliation.
Before NetLicensing, the platform’s seat management was tightly coupled to Stripe subscriptions:
Subscription (organization-level seat pool) + Multi-Feature (per-team premium tiers) + Floating (guest/contractor sharing):
This architecture lets organizations manage internal seat distribution freely while billing remains a simple monthly subscription.
Product/Module/Licensee hierarchy:
Product: Organization Account (Acme Corp)
├── Module: Team A (Sales)
│ └── Template: Subscription Seats (10 seats allocated, $60/mo)
├── Module: Team B (Engineering)
│ └── Template: Subscription Seats (30 seats allocated, $180/mo)
└── Module: Contractors
└── Template: Floating Seats (5 guest slots, shared pool)
Each Licensee = one user account. Users are created on-demand and assigned to teams via the admin panel.
Key parameters:
timeVolume=1, timeVolumePeriod=MONTH, price=$400 (fixed 50-seat pool)quantity=10–30 (seats assigned to this team; sum across teams ≤ 50)maxSessions=5 (concurrent guest users)PROFESSIONAL tier includes advanced analytics, SSO, audit logsSample configuration:
{
"productNumber": "ACME-CORP",
"name": "Acme Corp - 50 Seat Subscription",
"moduleNumber": "SALES-TEAM",
"templateNumber": "TEAM-SEATS-STARTER",
"licenseType": "TIMEVOLUME",
"timeVolume": 1,
"timeVolumePeriod": "MONTH",
"price": 400.00,
"currency": "USD",
"automatic": true
}
Seat provisioning flow:
Organization admin clicks "Add user to Sales Team"
↓
Admin panel calls POST /licensee (create new user in NetLicensing)
↓
Platform checks: Does Sales Team have available seats?
→ GET /module/SALES-TEAM/licenses (count active licenses)
→ If count < allocated (10), POST /license (assign seat)
→ If count == 10, show "Team full" error; prompt upgrade
↓
New user created; Licensee record stored; seat counter incremented
Login validation:
User logs in
↓
Auth middleware calls GET /validate
├─ License valid & not expired → Grant access
├─ License expired → Prompt admin to renew
└─ Seat cap exceeded → Deny access, show "Upgrade required"
Seat transfer (team reassignment):
Admin moves User [ABC] from Sales Team (Team A) to Engineering (Team B)
↓
Admin panel calls PUT /license/{oldTeamLicense} (deactivate in Team A)
↓
Admin panel calls POST /license/{newTeamModule} (activate in Team B)
↓
No Stripe change, no billing event — entitlement updated instantly
↓
User logs out and back in; validation now points to Team B
Guest/floating seat access:
Admin allows contractor@external.com temporary access (30 days)
↓
POST /license (create Floating license, time-bounded)
↓
Contractor logs in; concurrent session counter increments
↓
If 5 concurrent contractors already in, deny access until one logs out
↓
After 30 days, license auto-expires; contractor access revoked
A Licensee = a user account. Users are created either:
Each Licensee has attributes:
licenseeNumber = user ID (synced with platform’s user database)name = user email or display nameactive = whether user can log in (soft delete; reactivate without re-provisioning)Team membership is managed via Module assignment. Moving a user between teams is a license reassignment, not a Licensee deletion.

B2B SaaS: From Stripe-Only to Licensing-as-a-Service
A compliance SaaS eliminated entitlement drift and improved trial conversion by making NetLicensing the entitlement authority alongside Stripe.

Physical Security: Feature-Based Access Control with Time-Limited Permissions
A building management company implemented feature-based access control with time-limited permissions to manage resource gating and dynamic authorization across facilities.