Glossary
What are entitlements in SaaS?
In SaaS, entitlements are what a customer's subscription gives them the right to use: which features are on, and how much of each limited thing they have left. The subscription records what the customer bought; the entitlements turn that purchase into answers the product can check.
How it works
From a plan to a ruling
- Grants. The capabilities a plan includes, each on or off.
- Allowances. For limited capabilities, the amount included per period.
- Balance. What is left of each allowance right now, given the usage so far.
- Rulings. The answer to one question: may this customer do this, in this amount, now?
Example
A Team plan grants API access and 10,000 report exports a month. Late in the month the customer has used 9,990 exports. A request to export 5 more is allowed; a request for 20 is refused, or charged as overage, depending on the plan.
Compared
Terms next to it
- Subscription
- The commercial agreement: plan, price and billing period. Entitlements are what the subscription grants.
- Feature gating
- The check made against entitlements before a feature runs.
- Feature flags vs entitlements
- Flags decide whether code is released to a user; entitlements decide what a customer's plan includes.
Building it yourself
What you handle if you build it
- Turn plans into grants. Every plan, and every version of it, needs a record of what it grants.
- Rebuild grants when the subscription changes. Upgrades, downgrades and cancellations all change what the customer may do.
- Keep balances with usage. What is left depends on the usage counted so far in the period.
- Answer on the request path. The check has to be cheap enough to make before each piece of gated work.
- Know when the answer is a fallback. If the source of truth is unreachable, decide what to allow from the last known state.
In ShipRev
Where entitlements sit in ShipRev
Entitlements are one of the four states ShipRev keeps on each customer record, next to identity, the subscription and usage. A plan version grants capabilities, each either a feature that is on or off or a quantity with a limit, and each capability carries one of three overage policies: allow and bill, block, or prompt to upgrade. Your backend asks the Server SDK for a ruling on the request path and gets back whether to go ahead, the remaining balance, and whether the ruling is live or degraded.
EntitlementsIn the docs