Skip to main content

What is PriceOS?

PriceOS is an entitlement and feature-access system for SaaS products that use Stripe. It answers one core question, reliably and predictably:
Given a customer, what features do they have access to right now?
PriceOS does not replace Stripe. It does not calculate invoices. It does not attempt to be a pricing UI. Instead, PriceOS sits between billing and product logic and gives you a clean, stable way to:
  • Define which features exist
  • Control how access is granted
  • Change pricing and features without breaking existing customers
  • Ask your app a single question:
    What can this customer do?

The problem PriceOS solves

Stripe is excellent at billing, but billing data alone is not enough to determine feature access. Common issues teams run into:
  • Features are hard-coded against Stripe price IDs
  • Old customers accidentally lose access when pricing changes
  • Feature flags become impossible to reason about
  • Credits, limits, and add-ons require custom logic everywhere
  • “What plan is this customer on?” becomes an ambiguous question
PriceOS fixes this by making feature access explicit and versioned, instead of inferred.

What PriceOS deliberately does not do

This is important. PriceOS does not:
  • Calculate usage costs
  • Decide how much something should cost
  • Replace Stripe subscriptions or invoices
  • Hide Stripe concepts from you
Stripe remains the source of truth for billing.
PriceOS becomes the source of truth for access.

Core idea (one sentence)

Customers are subscribed to prices → prices belong to product versions → product versions define feature access
Everything in PriceOS flows from this idea.

Typical flow

  1. A customer subscribes to one or more Stripe prices
  2. Those Stripe prices map to PriceOS prices
  3. Each PriceOS price points to a specific product version
  4. Each product version defines feature access
  5. Your app calls:
const access = await priceos.getFeatureAccess({
  externalCustomerId: "cus_123"
})

// Example response
{
  "ai_generated_images": true,
  "team_members": 7,
  "blogs_per_month": 30
}
And receives a clean, deterministic result — regardless of how complex your pricing model is behind the scenes. Your application never needs to know why a customer has access, only that they do.

Who PriceOS is for

PriceOS is designed for SaaS teams who:
  • Expect pricing and packaging to change over time
  • Want existing customers to remain on their original terms
  • Offer limits, seats, credits, or add-ons
  • Have outgrown simple “plan-based” feature flags
  • Want fewer billing-condition branches in their codebase
If you’ve ever said “we’ll clean this pricing logic up later”
PriceOS is that cleanup.

What you get by using PriceOS

By introducing PriceOS as a layer between billing and your application, you get:
  • Backward-compatible pricing changes
    Modify features or prices without affecting existing customers.
  • Explicit feature access
    No more inferring access from Stripe price IDs.
  • A single access check in your app
    One API call tells you everything you need to know.
  • Stripe stays Stripe
    No re-platforming. No billing abstraction. No lock-in.

How PriceOS fits into your system

Think of PriceOS as:
  • Stripe → Who pays and how much
  • PriceOS → What they are entitled to
  • Your app → Enforces behavior based on access
Each layer does one job — and does it well.

Next steps

To continue, you’ll want to: Once those pieces are in place, your pricing logic becomes predictable — even as your business evolves.