Plans, Billing and Entitlements
How an org pays for Klarum and what each tier is entitled to: a four-tier ladder with Free as the floor, a per-seat Business tier, enforced monthly meters on Free inference spend, and the trial between them.
- Catalogue id
- plans-billing
Description
What it is
How a firm pays for Klarum, and what each tier is entitled to. This module exists because the commercial model is the one part of the product a prospect meets before anything else in this catalogue, and it was previously documented nowhere - which left the marketing site asserting a plan ladder no source of truth carried (issue #1928).
Four tiers, low to high: Free, Basic, Business, Enterprise
(feature_matrix.TIER_ORDER). Prices are SEK, live on Klarum's Stripe
account, and every lookup_key round-trips through one shared table so the
webhook sync and the price resolver cannot disagree about what a price
means.
| Tier | lookup_key | Price | Notes |
|---|---|---|---|
| Free | free | 0 SEK/month | A real 0 SEK Stripe subscription, not the absence of one |
| Basic | basic_month / basic_year | 1 100 SEK/mo, 11 000 SEK/yr | Annual is two months free |
| Business | business_month / business_year | 2 000 SEK/seat/mo, 20 000 SEK/seat/yr | Per seat, metered |
| Enterprise | enterprise | 0 SEK/month in Stripe | Negotiated commercially and invoiced outside Stripe; the subscription carries the agreed seat count and an agreement_ref |
There is no dedicated billing-settings route: plan and seat chrome renders on the organization settings page, and Checkout lives on its own subscribe surface.
What it helps users do
Land in the product rather than at a plan picker (Free is provisioned directly at org creation); try Business for three days without a payment method; add and remove seats with proration handled by Stripe; and, on Free, spend a bounded amount of inference per month with a refusal that does not itself burn quota.
Capabilities
The tier ladder
Generally availableFour tiers low to high, Free, Basic, Business and Enterprise, with every Stripe lookup key round-tripping through one table so the webhook sync and the price resolver cannot disagree.
Capabilities per tier
Generally availableA capability is binary per tier: engine and exports and connectors from Free, doc generation from Basic, team seats and org settings from Business, and the enterprise block from Enterprise.
Meters
Generally availableA monthly ceiling on something a tier already holds, enforced by one atomic statement that row-locks the org, resets lazily on a UTC month roll-over and writes nothing once the cap is reached.
The Business trial
Generally availableA once-per-org trial of Business with a seven-day window to activate and three full days once activated, requiring no payment method and preserving data when it ends.
Seat billing (Business)
Generally availablePer-seat and metered with Stripe authoritative. A seat bills on acceptance, not on invite, with an idempotency key on the invitation id so a retried accept cannot double-bill.
Self-serve plan management
PlannedInterval and plan changes are not self-serve. The Stripe Customer Portal session endpoint exists but no frontend component calls it, so the interval is chosen at Checkout.
Keywords
tiers, stripe, meters, trial, seats, capabilities, checkout, entitlements
Provenance
This page renders a published artifact. Read the same records as JSON if you would rather check the source than the page.