Show HN: Entitlements, metering, and teams for Stripe powered by Planship

marketplace.stripe.com

5 points by LeFever 3 months ago

Hi everyone! I’m Trent. My co-founder, Pawel, and I are currently bootstrapping Planship by way of a previous exit (AppThwack -> AWS Device Farm).

What’s Planship?

Planship [1] provides guardrails and tooling for SaaS plan packaging, dimensions, entitlements, metering, enterprise onboarding/provisioning, upsell logic, experimentation, and other related tasks.

Planship allows for the creation of levers (AKA pricing dimensions) and specific lever values (“Entitlements”), which are then grouped together within plans (AKA packages, tiers, Stripe “products”, etc.) that customers and teams subscribe to. Entitlements can be feature-based, usage-based, seat-based, or any combination of models.

Basically, we separate pricing logic from product code, making it super easy to provision customers and iterate and optimize pricing and packaging within SaaS apps. We’ve built similar, more limited solutions multiple times in our careers and while necessary, they’ve always been an ongoing distraction.

Stripe Integration

Planship is payment-service-provider agnostic, but most of the companies we work with use Stripe, either directly or indirectly.

With the Planship app for Stripe, it’s now possible to use Planship to manage levers and entitlements and view customer entitlements from within the Stripe dashboard. Also, Planship automatically syncs with your Stripe products, customers, and subscriptions so you can easily consume entitlements within your products.

The Planship app for Stripe is available in the Stripe marketplace [2] along with a getting started guide [3].

Product Integration

We offer SDKs [4] for languages like Python, JS, and Java and frameworks like React/Next.js and Vue/Nuxt so entitlements can be checked on the frontend for tasks like visually gating features, displaying upsell prompts, and so on while reporting usage, performing entitlement enforcement, and managing customers and subscriptions on the backend. On the frontend, we keep entitlements up to date automatically with WebSockets.

Wrapping up

Happy to answer any questions about Planship, Stripe integration, pricing optimization, or even the process of publishing an app in the Stripe marketplace. Thanks!

Links

[1] https://planship.io [2] https://marketplace.stripe.com/apps/planship [3] https://docs.planship.io/howtos/use-planship-with-stripe/ [4] https://docs.planship.io/integration/#languages-and-framewor... [5] https://docs.stripe.com/billing/entitlements

rekwah 3 months ago

Congrats on the launch! I can definitely understand the pain point; frequent plan/pricing iteration in the early days always leaves a pile of "grandfathered entitlements" that get carried around.

Two questions.

1) Entitlements seem to permeate systems in few ways (pricing pages & billing systems as you've called out) but also into feature flags systems like LaunchDarkly (my plan offers access to beta feature channel) and authorization systems (RBAC, FGA, etc). Do you see replacing those systems with your SDK or Planship is more of an integrator that helps keep them synchronized?

2) I couldn't tell from glancing through your SDK docs (might have missed it) but do you provide any audit/temporal history? If I store user events in a data warehouse (timestamp, customer_id, action_performed), can I determine a customers plan from that historical timestamp or only their current plan?

  • LeFever 3 months ago

    Thanks! Great questions.

    1. Today, we coexist with entitlement solutions (feature flags, auth systems, etc) by either working alongside them or feeding into entitlement aggregators. Basically, we handle the pricing-related data, logic, and aggregation that eventually reduces down to flags (Or numeric values, lists of items, or other value types). We offer SDKs to make these pricing entitlements easily accessible within a product marketing page, app, etc., but our API can just as easily be used to integrate with other systems.

    2. We store complete subscription renewal history but the API for accessing it isn’t public yet. Audit trails, both for customer behavior like you mentioned, as well as admin tasks (E.g. Entitlement value X was added to plan Y) will be available via our API and in our console.

cursuve 3 months ago

We struggle a lot with this general problem in our current setup...

Doesn't Stripe have their own entitlement system built in? Does this interact with that directly?

  • LeFever 3 months ago

    Sorta!

    Stripe recently launched an entitlements API [1] that is meant to aid in provisioning and deprovisioning customers, but product integration is not provided (You create subscribe/unsubscribe webhooks and update the entitlements in your own data model, after which you need to build the APIs and functionality to use them). As you alluded, this is actually complementary to Planship, and integration between Stripe features/entitlements and Planship levers/entitlements is something we're considering pending customer feedback.

    Thanks for the question!

    [1] https://docs.stripe.com/billing/entitlements