mrkeyoor.com_
Thu 13 Aug 15:40 UTC
Self-Hostedevaluationupdated 13 Aug 2026

flexprice

Flexprice is an open-core billing system for products that charge by usage, credits, subscriptions, or a mixture of all three. It receives product events, turns them into metered usage and invoices, and keeps pricing rules and feature access out of application code.

Verdict

Flexprice is a strong shortlist candidate when pricing complexity has already outgrown a payment provider's subscription objects. Its metering, credits, plan versioning, entitlements, and invoicing form a coherent system, and development is moving quickly. Adopt it only if your team can own the operational stack, accept the license split, and test every money-moving path against your own contracts before going live.

Setup3/5One command starts a large stateful development stack
Docs4/5Clear concepts, SDK links, setup steps, and API references
Community4/5Frequent releases and active issue and pull-request work
Maturity3/5Broad billing scope, with important fixes still in progress

Who it’s for

SaaS and AI product teams whose pricing includes usage, prepaid credits, overages, or customer-specific terms.
Developers who want billing APIs and SDKs while retaining control of billing data and deployment.
Finance and engineering teams that need metering, entitlements, invoices, and payment-provider sync in one system.
Platform teams already equipped to operate PostgreSQL, Kafka, ClickHouse, Redis, and Temporal.

Who it’s NOT for

Small SaaS products with only a fixed monthly subscription: the README positions Flexprice as a layer around providers such as Stripe or Chargebee, so it adds machinery that basic billing may not need.
Teams that require a permissive license across the whole product: the core is AGPLv3, while the ee and internal/ee areas require a commercial license.
Operators seeking a lightweight single-service deployment: the documented development stack starts PostgreSQL, Kafka, ClickHouse, Redis, Temporal, an API, a consumer, and a worker.
Businesses that cannot run billing-specific acceptance tests before launch: open reports cover Stripe coupon discounts not reaching invoice line items and subscription metadata being discarded.
Teams expecting application-level rate limiting out of the box: an open security tracking issue says authenticated endpoints currently have no general rate-limiter middleware.

Setup reality

make dev-setup is a credible one-command developer start, but the command hides a substantial system. It builds Flexprice, starts PostgreSQL, Kafka, ClickHouse, Redis, and Temporal, runs migrations, initializes Kafka, then starts separate API, consumer, and worker services. A local evaluation is reasonable for an experienced backend developer with Docker and Go; production means capacity planning, backups, migrations, secrets, observability, payment-provider reconciliation, and careful upgrades across several stateful dependencies.

Billing logic you can own

Flexprice sits between a product and the systems that collect money. An application sends events such as API calls, compute time, or database queries. Flexprice aggregates that usage, applies the customer's plan and credits, checks entitlements, and produces invoice line items. A payment processor can then collect the money, while Flexprice remains the source for the pricing calculation.

That distinction matters. Stripe can sell a straightforward subscription very well, but unusual pricing often pushes developers into custom counters, credit ledgers, feature flags, and reconciliation jobs. Flexprice pulls those related jobs into one data model. It supports pay-as-you-go rates, tiers, seats, prepaid and promotional credits, free allowances, overages, and customer-level overrides. Plan versioning is particularly useful because a pricing change should not silently rewrite an existing customer's contract.

Flexprice is aimed at AI and SaaS companies, but any service billed from product events can fit. Go, Python, and JavaScript SDKs lead into the API. It can also sit above Stripe or Chargebee instead of replacing an existing payment flow.

The strongest parts are connected

Many open-source projects stop at event metering. Flexprice connects meters to pricing, wallets, subscriptions, invoices, and feature access. That reduces a dangerous class of disagreement where the usage dashboard says one number, the entitlement service enforces another, and the invoice contains a third. Every charge is intended to trace back to measured usage or a defined price.

Credits are more than a cosmetic balance. The README describes prepaid and promotional grants, expiration, and automatic top-ups. Those pieces suit products that sell token bundles or include monthly credits before charging overage. Entitlements can be boolean features, metered limits, or configuration values, so the same plan that determines price can also tell the application what a customer may use.

A central API is easier to audit than copying billing calculations into checkout, product access, support, and reporting surfaces. The dashboard lets non-developers edit the catalog while applications keep an explicit integration point.

This breadth is Flexprice's reason to exist, but it also raises the cost of a mistake. Meter aggregation, credit ordering, proration, invoice timing, and external payment sync all become financially significant behavior. Treat the product as part of the money path, not as an analytics add-on.

One setup command hides a real platform

The local quick start is refreshingly direct: clone the repository and run make dev-setup. It builds the application image, runs database migrations, initializes Kafka, and starts the API, consumer, and worker. The setup guide includes service addresses, development credentials, useful Make targets, direct Go execution, an OpenAPI file, and troubleshooting commands. An experienced backend developer should be able to evaluate the API without reverse-engineering the repository.

The resulting environment is not small. PostgreSQL stores transactional data, Kafka carries events, ClickHouse handles analytical usage data, Redis supports the stack, and Temporal runs workflows. Kafka, Temporal, and ClickHouse each introduce their own failure modes, upgrade rules, storage needs, and monitoring vocabulary. The direct go run route still asks Docker Compose to start those dependencies, so bypassing the application container does not remove the architecture.

Production work therefore includes backups for two databases, broker retention, workflow health, migrations, secret management, and capacity tests that resemble real event traffic. Payment and accounting integrations also need reconciliation procedures. A successful health check proves that services started; it does not prove that rounding, discounts, credits, taxes, and retries match your contracts.

Open core, active fixes, and billing risk

The repository describes itself as commercial open source. Its core is under AGPLv3, while code in ee and internal/ee is commercially licensed. That is transparent, but procurement and legal review should happen before an implementation grows around enterprise-only behavior. Teams that need a permissive license should stop here.

Open issue activity gives a useful view of current edges. One report says coupon discounts calculated in Flexprice were not reflected in Stripe invoice line items. Another says metadata sent while creating a subscription is discarded. An August security tracking issue says the authenticated API lacks a general application-level rate limiter, although it notes that the highlighted webhook retry path is tenant-scoped and requires a valid key. These are not reasons to dismiss the project, but they are reasons to build contract tests and place rate controls at the ingress.

The infrastructure is also being tuned under real load. Open reports track Kafka 4.x offset-commit compatibility, Temporal startup retries, and excessive one-row ClickHouse parts, with implementation pull requests linked from those reports. That is encouraging evidence of operational attention. It also shows why adopting Flexprice means following upgrades and fixes rather than installing it once and forgetting it.

Healthy momentum, with a careful recommendation

The last push was August 13, 2026, and the latest tagged release was v2.1.23 on August 5. The repository had 210 open issues and pull requests combined, including 78 actual open issues, with work updated throughout August. More than 4,300 stars and frequent release tags indicate meaningful interest, while the active queue shows a product still changing quickly.

Documentation is good enough to understand both the product model and local architecture before installation. The README explains why Flexprice exists, how events flow through billing, which pricing patterns it covers, and what the development command starts. The separate setup guide and API specification add practical depth. Operational guidance is less complete than the local path, so production teams will still design their own reliability playbook.

Flexprice is best for a company that already knows basic subscriptions are insufficient. It can replace a surprising amount of fragile internal billing code, and its connected treatment of usage, credits, entitlements, and invoices is compelling. For a simple SaaS plan, stay with the payment provider. For complex usage pricing, run a proof of concept with real contract fixtures, audit the license boundary, and make reconciliation a release gate.

Alternatives

ProjectWhat it isPick it when
LagoAn open-source metering and billing platform with a strong invoice and customer-management focus.pick this instead when you want another full billing platform and prefer Lago's product model or integration set.
OpenMeterA usage metering and entitlement system built around ingesting and aggregating product events.pick this instead when metering is the central problem and you want a narrower boundary around billing data.
Kill BillA long-running subscription billing and payments platform designed for extensive customization.pick this instead when operating history and traditional subscription workflows matter more than Flexprice's developer-first usage model.

What people are saying

  1. [github-trending] flexprice/flexprice

Sources

  1. Flexprice GitHub repository
  2. Flexprice website
  3. Flexprice README
  4. Flexprice setup guide
  5. Flexprice v2.1.23 release
  6. Open Stripe coupon discount issue
  7. Open API rate-limiting issue
  8. Open subscription metadata issue