Skip to main content
Unprice is built on the core principle of PriceOps. Unlike traditional billing systems that treat pricing as a static configuration, Unprice treats pricing as a dynamic, iterative growth lever that should be decoupled from your application code.

The PriceOps Methodology

Unprice follows the PriceOps methodology—the practice of treating pricing as an agile product surface rather than a backend detail. It allows for:
  • Rapid Iteration: Change pricing models, tiers, and limits without touching a single line of application code.
  • Safety: Immutable plan versions ensure that existing customers are never accidentally affected by pricing changes.
  • Organizational Alignment: Marketing and Growth teams can own the pricing strategy, while Engineering focuses on building features.

Core Concepts

To understand how Unprice handles pricing, you need to be familiar with three main components:

1. Features

Features are the building blocks of your product. A feature could be anything from “API Requests” to “SSO Support” or “Project Storage”. Each feature has a specific type that defines how it’s priced.

2. Plans

A Plan is a collection of features offered together as a package. A plan itself doesn’t have a price; instead, the pricing is defined in its Versions.

3. Plan Versions

Plan Versions are immutable snapshots of a plan at a specific point in time. They define the specific costs, limits, and configurations for each feature. When you want to change your pricing, you create a new Plan Version and publish it.

How Calculation Works

Unprice automatically calculates the total price for a customer based on their subscribed Plan Version and their current usage. It handles:
  • Proration: Automatically calculating partial costs when a customer upgrades, downgrades, or changes their plan mid-cycle.
  • Multi-currency: Native support for different currencies and rounding rules.
  • Complex Models: Seamlessly mixing flat fees, tiered consumption, and package-based bundles.