Flexprice
Medición de uso, créditos y facturación de código abierto para productos en los que servir a un cliente cuesta dinero de verdad — autoalojable y pensado para convivir con tu pasarela de pago, no para sustituirla
Flexprice es una capa de facturación de código abierto para precios por uso, por créditos e híbridos, escrita en Go y con licencia AGPL-3.0 más una porción empresarial menor bajo licencia comercial. Mide eventos de uso en tiempo real, aplica créditos prepagados o promocionales, impone límites de funciones por plan y genera facturas a partir de lo que realmente se consumió. Está diseñada para apoyarse sobre una pasarela de pago en lugar de ocupar su lugar, lo que la convierte en una capa de medición y lógica de precios, no en un checkout.
Qué es Flexprice
Flexprice (github.com/flexprice/flexprice) es un servicio en Go que puedes autoalojar o usar como el producto gestionado de sus responsables. Tu aplicación envía eventos de uso a través de los SDK de Go, Python o JavaScript — o los transmites desde un almacén de datos o un pipeline de analítica — y Flexprice hace la agregación, aplica las reglas de precio y los créditos del cliente y produce la factura. El repositorio está en desarrollo desde noviembre de 2024 y se publica bajo AGPL-3.0, con copyright de una empresa privada que además vende la versión alojada.
El argumento que el proyecto hace sobre sí mismo es que la facturación se convirtió en silencio en un problema de desarrollo: las herramientas de suscripción resuelven bien los planes simples y todo lo que va más allá — medición, saldos de crédito, control de funciones, lógica de facturas a medida — acaba siendo código de aplicación que alguien mantiene para siempre. El conjunto de funciones documentado sigue esa lógica. Medición de uso a nivel de evento, concesión de créditos prepagados y promocionales con recargas automáticas por umbral y reglas de caducidad, planes de precios que abarcan modelos por asiento, de pago por uso, por tramos de volumen e híbridos con excepciones por cliente y versionado de planes, control de acceso a funciones con límites de uso, y facturación que gestiona prorrateos y excesos. Se conecta hacia fuera con herramientas de pago, CRM y contabilidad sin ser ninguna de ellas.
Lo que hay que registrar antes de poder cobrarlo
Cada forma de cobrar implica una medición, y la medición es la parte que los fundadores se saltan. Merece la pena ser concretos sobre lo que cada modelo exige de tus datos, porque el coste de equivocarse no es una factura mal hecha: es un mes que ya no puedes reconstruir.
| Modelo de precio | Lo que la medición debe registrar | Qué se rompe sin ello |
|---|---|---|
| Suscripción plana | Quién está en qué plan y cuándo se cambió | Muy poco. Es el único modelo que sobrevive casi sin medición |
| Por asiento | El número de asientos a lo largo del tiempo, no solo el de hoy | Los cambios a mitad de ciclo se facturan mal, y las disputas cuestan más horas de equipo que los ingresos |
| Pago por uso | Cada evento facturable, atribuido a un cliente y con la hora en que ocurrió | No puedes responder "¿por qué mi factura es de este tamaño?" ni recalcular un mes tras corregir un fallo |
| Créditos prepagados | Un saldo por cliente más cada cargo y su motivo | Los saldos se separan de la realidad y soporte tiene que fiarse de la versión del cliente |
| Franquicia y exceso | Lo consumido de la franquicia y el exceso como números separados | El límite es invisible, así que nadie puede avisar antes de cruzarlo y cada cruce es una sorpresa |
Al leer la columna del medio, el argumento para mirar pronto una herramienta así queda más claro. La razón no es que facturar sea difícil: es que la medición es la única parte que no puedes añadir con efecto retroactivo. El precio se puede cambiar el trimestre que viene. Los eventos del trimestre pasado existen o no existen.
Licencia y alojamiento, antes de desplegar
El archivo LICENSE del repositorio es AGPL-3.0, y el README describe un modelo de núcleo abierto: el núcleo es AGPLv3 y una porción empresarial más pequeña, bajo los directorios ee e internal/ee, lleva una licencia comercial aparte. Esos directorios existen en el árbol, así que si tu plan depende de una capacidad concreta conviene comprobar de qué lado de la línea cae antes de construir sobre ella. Para ejecutarlo tú mismo y facturar a tus propios clientes, la AGPL no tiene nada de particular. La cláusula que hay que entender es la de red, que alcanza a quienes usan el software a través de una red sin descargarlo nunca, así que ofrecer un Flexprice modificado como servicio a terceros es un caso para llevar a un abogado en lugar de razonarlo por tu cuenta.
En lo operativo no es un contenedor pequeño. Los propios temas del repositorio nombran PostgreSQL, ClickHouse, Kafka y Temporal, y la instalación local se levanta como un stack de compose: proporcionado para algo que tiene que agregar eventos de alto volumen de forma fiable, y desproporcionado para un producto con cuarenta clientes en un plan plano. También está en desarrollo activo y no terminado: la v2.1.23 se publicó el 2026-08-05 y el 2026-08-14 seguían entrando commits funcionales, incluidos trabajos de facturación e integración con CRM. Eso es buena señal para el proyecto y un compromiso real para ti, porque un sistema de facturación autoalojado es algo que se sigue actualizando, no algo que se despliega una vez.
Construye la medición antes de necesitarla
Nosotros medimos el gasto de modelo por cliente en nuestra propia plataforma, y lo que merece la pena transmitir es lo silenciosamente que falla una medición. La nuestra tuvo tres fallos distintos en sus primeras semanas y ninguno provocó un error. El recolector leía una caché que el runtime solo refrescaba cuando se le pedía explícitamente, así que el registro estaba sencillamente vacío. Una vez corregido eso, recogía solo el uso del agente principal, así que el gasto de cada especialista quedaba registrado como cero, lo que infravaloraba justo las cuentas más intensas, donde el número más importaba. Y como las filas se identificaban solo por día y modelo, la vista parcial de un contenedor reiniciado podía sobrescribir el total guardado, y una vez hizo retroceder una fila en decenas de miles de tokens.
El patrón es la lección. Cada uno de esos fallos producía un número más pequeño, y un número más pequeño parece una buena noticia, así que nada empujaba a nadie a comprobarlo. Una medición necesita una prueba que falle cuando informa de menos, no solo cuando da error. La solución en nuestro caso fue que la identidad de una fila incluyera la sesión que la produjo, para que una vista parcial ya no pueda sobrescribir una completa. Si estás poniendo precio a un producto cuyo coste por cliente es real — que es la mayoría de los productos de IA — el orden es el mismo tanto si adoptas Flexprice como si escribes veinte líneas propias: mide primero, pon precio después. Un precio demasiado alto se puede bajar el mes que viene. Un trimestre que nunca mediste no se recupera, y no podrás decir qué clientes salían caros.
FAQ
- ¿Flexprice sustituye a Stripe?
- No, y el proyecto no se presenta así. Se describe como componible: una capa de medición, créditos y lógica de precios que se apoya sobre un proveedor de pagos existente y empuja las facturas y los datos de ingresos resultantes hacia los sistemas que ya usas. Sigues necesitando una pasarela para cobrar y una forma de gestionar tarjetas y reclamaciones. Lo que se mueve es la parte que decide cuánto cobrar.
- ¿Flexprice es gratis?
- El repositorio es AGPL-3.0 y autoalojable, así que puedes ejecutarlo sin pagar licencia. Merece la pena leer directamente dos matices en lugar de darlos por hechos: el README describe un modelo de núcleo abierto con una porción empresarial menor bajo licencia comercial en los directorios ee e internal/ee, y sus responsables venden además una versión alojada. Autoalojar es gratis en licencias y no es gratis en infraestructura ni en trabajo de actualización.
- ¿Necesito un sistema de facturación así desde el principio?
- Probablemente no el servicio. Lo que casi seguro necesitas es el registro de eventos sobre el que está construido. La versión útil más barata es una única tabla de solo-añadir que registre quién hizo qué, cuándo y cuánto te costó, escrita desde el primer día, antes de que haya ninguna pregunta de precio que responder. Adoptar una plataforma de medición más tarde es una migración normal. Reconstruir un uso que nunca registraste no es posible en absoluto.
- ¿Qué implica la licencia AGPL para mi SaaS?
- Ejecutar Flexprice en tu propia infraestructura para facturar a tus clientes es el caso corriente y no tiene nada de particular. La cláusula que diferencia la AGPL de la GPL es la de red: extiende la obligación de publicar tus modificaciones a quienes llegan al software a través de una red y no solo a quienes reciben una copia. Si piensas modificarlo y ofrecerlo a terceros como parte de un servicio, eso es una pregunta para un abogado. Esto es una descripción de la licencia, no asesoramiento legal.
- ¿Cuánto cuesta realmente autoalojar Flexprice?
- Más que un solo contenedor. Los temas del propio proyecto listan PostgreSQL, ClickHouse, Kafka y Temporal, y el repositorio incluye un archivo de compose para desarrollo local, así que la forma realista es una base de datos gestionada más un par de servicios con estado. Súmale publicaciones frecuentes — el repositorio seguía enviando commits funcionales a mediados de agosto de 2026 — lo que implica un hábito continuo de actualización para un sistema que no te puedes permitir dejar desfasado.
You built it. Now grow it.
AgentCeres is a managed AI marketing team — specialists draft the SEO, social, and outreach that fill your links, you approve what ships. 14-day free trial, from $39/month.