Skip to main content

Use case · SaaS billing & entitlements

Plan management, feature flags, and metering without rolling your own.

Licentric gives SaaS founders the entitlements engine, Stripe auto-sync, per-event usage metering, and self-service portal you would otherwise build over a quarter — without the 500 lines of Stripe webhook glue, without the feature-flag drift, without the slow-counter-table you find out about at scale.

Free tier is production-ready: 100 active licenses and 5 agent identities, full API. Paid plans start at $5/month. No credit card to start.

Who this is for

  • SaaS founders shipping a multi-tenant web product who want plan management + feature gating without writing it from scratch (VISION.md §5 ICP 3).
  • Products moving from flat subscription to a hybrid model — base subscription plus per-event / per-API-call overage.
  • Teams who currently encode feature flags as if (user.plan === 'pro') hardcoded checks scattered across the codebase, and want a single source of truth.
  • Founders who have one Stripe webhook handler that has grown to 300 lines of branching logic and want it gone (README §Stripe Integration).
  • SaaS-with-usage-models segment from VISION.md §5 — Est. ARPU $29-$199/mo on the Growth tier; primary channel SEO + framework guides.

The problem SaaS founders actually have

Feature gating drifts. Every if (user.plan === 'pro') check sprinkled through your route handlers is a place where the gate can go wrong — and where a refactor will silently break what a customer paid for. Without a single source of truth for entitlements, you find out the Pro feature is exposed to Free users only when a Free user emails you about it.

Stripe webhooks are a tax. The first webhook handler you write is 50 lines. By the time you handle checkout.session.completed, customer.subscription.updated, invoice.payment_failed, invoice.paid, customer.subscription.deleted, charge.refunded, charge.dispute.created, and the grace-period suspend / reinstate dance correctly — with idempotency, with terminal-state guards — you have written 200-500 lines of glue (README §Stripe Integration). Every line is a place a money bug can live.

Usage metering means a counter table you forgot to index. Most SaaS founders eventually need 'count the API calls this customer made this month' — and most ship the first version as a Postgres counter table that becomes the slowest query in the app by month 3. Append-only event tables with the right indexes are not hard but they are easy to get wrong.

How Licentric helps

Entitlements engine — your single source of truth for what a plan can do

Built and shipped (README §Database Schema — entitlements / policy_entitlements / license_entitlements tables; VISION.md §6 Pillar 1). Entitlements are simple string flags (e.g., 'export-4k', 'api-access', 'teams') mapped to policies (your plan tiers) and individually overridable per license. Composite-PK mapping tables make the lookup O(1) on the right side of an index.

Feature flags at the policy level + per-license override

Policy → entitlement mapping defines what every license under that policy gets. Per-license override lets you grant a specific customer a specific feature without minting a new plan tier (README §Database Schema). No more 'just for this one enterprise customer' code branches.

Stripe auto-sync — zero webhook code in your codebase

Connect Stripe in 2 clicks. Map a Stripe product to a Licentric policy in the dashboard. checkout.session.completed → license auto-created. customer.subscription.updated → license policy switched to match the new plan. invoice.payment_failed → license suspended after grace period. invoice.paid → license reinstated. customer.subscription.deleted → license suspended. Every one of these handlers ships in Licentric; none ship in your codebase (README §Stripe Integration).

Per-event usage metering — production today, billing orchestration on roadmap

metering_events table ships today (README §Database Schema). It is append-only, designed for high-volume ingestion, and feeds per-agent / per-meter / per-period token-budget enforcement. Today you can ingest events; you can read aggregations; you can enforce budgets server-side. The unified-invoicing surface — sub + usage + outcome in one Stripe invoice — is Phase 2 on the public roadmap (VISION.md §6 Pillar 2, marked Phase 2). Marked here so you do not plan around it landing today.

Cursor-based pagination + Postgres RLS multi-tenancy

Every list endpoint is cursor-paginated (no offset, no slow scans as your tables grow). Every row in lic.* is scoped to an account_id via Postgres Row Level Security — enforced at the database layer, not in application code (README §Multi-Tenant Isolation + CLAUDE.md §Database). This is the boring foundation work you would otherwise rebuild from scratch.

Outbound webhooks — your systems get notified when state changes

HMAC-SHA256 signed (Stripe-compatible signature format), with retry-with-backoff delivery and a delivery log for replay (README §Tech Stack + §Database Schema — webhook_endpoints + webhook_deliveries tables). When a license activates, suspends, or upgrades, your downstream systems (analytics, CRM, ops) get the event.

End-user self-service portal — magic-link, no SSO required

Your customers see their plan, swap their payment method via Stripe Customer Portal, transfer machines, manage their team — without contacting you. Built and shipped (README §Roadmap). Magic-link auth means no password store, no SSO wiring; your customers click an email link and they are in.

Honest about what is NOT shipped

Billing orchestration unifying subscription + usage + outcome invoicing is Phase 2 roadmap. Outcome metering (tasks completed, meetings booked, issues resolved) is Phase 2 roadmap. Multi-model cost attribution across OpenAI / Anthropic / Google is Phase 3 roadmap. None of these are in production today (VISION.md §6 Pillar 2). If usage-based billing with ASC 606 revenue-recognition rigor is your product surface, see the /compare/orb honest comparison — Orb is a more specialized tool for that lane.

Capability claims sourced from README.md (Stripe Integration, Database Schema, Multi-Tenant Isolation, Tech Stack, Roadmap) and VISION.md §5–§6. Phase 2 + Phase 3 items (billing orchestration, outcome metering, multi-model cost attribution) are explicitly labeled as not-yet-shipped.

Which tier fits a SaaS team

TierPriceBest for
Free$0Solo SaaS founder shipping an MVP. 100 active licenses + 5 agent identities — plenty for early validation.
Starter$5/mo1,000 active licenses, 50 agent identities, custom branding. Right tier for a paid product with a few hundred customers.
Growth$29/mo10,000 active licenses, 500 agent identities, embeddable analytics. Primary tier for the SaaS-with-usage segment (VISION.md §5).

An Enterprise plan (custom pricing, sales-assisted) is available for SaaS products that have outgrown Growth or that need custom analytics + multi-provider billing orchestration. See the full pricing table for every feature gate. Pricing tiers verbatim from VISION.md §7.

Stop rolling your own

Free tier is production-ready: 100 active licenses, 5 agent identities, full API, every SDK feature. Paid plans start at $5/month when you outgrow the free limits. Cancel any time — no contract, no minimum.