Blogmark
You should separate your billing from entitlements
via jbranchaud@gmail.com
https://arnon.dk/why-you-should-separate-your-billing-from-entitlement/
System Design
Domain Modeling
The last two products I worked on benefited greatly from adding a separate concept of entitlements so that access to features could be mediated with more flexibility than a billing_status == 'active' check.
So herein lies the problem: if you ever want to make any change to your company’s offering, or if you find yourself expanding to new territories, you really should have a separate mechanism to handle entitlements.
In blunt terms:
- If you will change what features are included in a plan, you should have a separate entitlement system.
- If you think you won’t want to force customers onto new plans, you should have a separate entitlement system.
- If some features are optional add-ons, you should have a separate entitlement system.
- If you ever hope to expand to new countries and markets, you should have a separate entitlement system.
- If you want to let customers experience features separately from their billing status, you guessed it… You should have a separate entitlement system!