Flexprice
Mesure d'usage, crédits et facturation open source pour les produits dont servir un client coûte réellement de l'argent — auto-hébergeable et conçu pour se placer à côté de votre prestataire de paiement, pas à sa place
Flexprice est une couche de facturation open source pour les tarifications à l'usage, à crédits et hybrides, écrite en Go et publiée sous AGPL-3.0 avec une partie entreprise plus réduite sous licence commerciale. Elle mesure les événements d'usage en temps réel, applique les crédits prépayés ou promotionnels, fait respecter les limites de fonctionnalités par offre et génère des factures à partir de ce qui a réellement été consommé. Elle est conçue pour se poser sur un prestataire de paiement plutôt que pour le remplacer, ce qui en fait une couche de mesure et de logique tarifaire, pas un tunnel de paiement.
Ce qu'est Flexprice
Flexprice (github.com/flexprice/flexprice) est un service en Go que vous pouvez auto-héberger ou utiliser comme produit hébergé par ses mainteneurs. Votre application envoie des événements d'usage via les SDK Go, Python ou JavaScript — ou vous les diffusez depuis un entrepôt de données ou un pipeline analytique — et Flexprice se charge de l'agrégation, applique les règles tarifaires et les crédits du client, puis produit la facture. Le dépôt est en développement depuis novembre 2024 et paraît sous AGPL-3.0, avec un copyright détenu par une société privée qui vend aussi la version hébergée.
L'argument que le projet avance sur lui-même est que la facturation est devenue en silence un problème de développement : les outils d'abonnement traitent bien les offres simples, et tout ce qui va au-delà — mesure, soldes de crédits, contrôle d'accès aux fonctionnalités, logique de facture sur mesure — finit en code applicatif que quelqu'un maintient indéfiniment. L'ensemble de fonctionnalités documenté en découle. Mesure d'usage à la granularité de l'événement, octroi de crédits prépayés et promotionnels avec recharges automatiques par seuil et règles d'expiration, offres tarifaires couvrant le par-siège, le paiement à l'usage, les paliers de volume et les modèles hybrides, avec dérogations par client et gestion des versions d'offre, droits d'accès aux fonctionnalités assortis de limites d'usage, et facturation qui gère le prorata et les dépassements. Vers l'extérieur, il se connecte aux outils de paiement, de CRM et de comptabilité sans en être un.
Ce qu'il faut enregistrer avant de pouvoir le facturer
Chaque forme de tarification suppose une mesure, et c'est la mesure que les fondateurs sautent. Il vaut la peine d'être concret sur ce que chaque modèle exige de vos données, car le coût d'une erreur n'est pas une facture bancale : c'est un mois que vous ne pouvez plus reconstituer.
| Forme de tarification | Ce que la mesure doit enregistrer | Ce qui casse sans elle |
|---|---|---|
| Abonnement forfaitaire | Qui est sur quelle offre, et quand il en a changé | Très peu de choses. La seule forme qui survit presque sans mesure |
| Par siège | Le nombre de sièges dans le temps, pas seulement celui d'aujourd'hui | Les changements en cours de cycle sont mal facturés, et les litiges coûtent plus d'heures d'équipe que le revenu |
| Paiement à l'usage | Chaque événement facturable, rattaché à un client et horodaté | Impossible de répondre à « pourquoi ma facture est-elle si élevée », ni de recalculer un mois après un correctif |
| Crédits prépayés | Un solde par client, plus chaque débit et son motif | Les soldes s'écartent de la réalité et le support doit croire la version du client |
| Forfait puis dépassement | Le forfait consommé et le dépassement comme deux chiffres distincts | La limite est invisible, personne ne peut prévenir avant de la franchir et chaque franchissement devient une surprise |
En lisant la colonne du milieu de haut en bas, l'argument pour regarder tôt un tel outil devient plus clair. La raison n'est pas que facturer soit difficile : c'est que la mesure est la seule partie que vous ne pouvez pas ajouter rétroactivement. Un prix se change au trimestre suivant. Les événements du trimestre passé existent ou n'existent pas.
Licence et hébergement, avant de déployer
Le fichier LICENSE du dépôt est en AGPL-3.0, et le README décrit un modèle open core : le cœur est sous AGPLv3, et une partie entreprise plus réduite, dans les répertoires ee et internal/ee, porte une licence commerciale distincte. Ces répertoires existent bien dans l'arborescence ; si votre projet dépend d'une capacité précise, vérifiez donc de quel côté de la ligne elle tombe avant de construire dessus. Pour l'exécuter vous-même et facturer vos propres clients, l'AGPL n'a rien de remarquable. La clause à comprendre est celle du réseau, qui atteint les personnes utilisant le logiciel à travers un réseau sans jamais le télécharger. Proposer un Flexprice modifié comme service à des tiers est donc un cas à porter devant un avocat plutôt qu'à trancher soi-même.
Côté exploitation, ce n'est pas un petit conteneur. Les sujets déclarés par le dépôt citent PostgreSQL, ClickHouse, Kafka et Temporal, et l'installation locale se monte comme une pile compose : proportionné pour un système qui doit agréger de gros volumes d'événements de façon fiable, et disproportionné pour un produit avec quarante clients sur une offre forfaitaire. Le projet est aussi en développement actif plutôt que terminé : la v2.1.23 est sortie le 2026-08-05 et des commits fonctionnels arrivaient encore le 2026-08-14, notamment sur la facturation et l'intégration CRM. C'est bon signe pour le projet et un engagement réel pour vous, car un système de facturation auto-hébergé se met à jour en continu et ne se déploie pas une fois pour toutes.
Construisez la mesure avant d'en avoir besoin
Nous mesurons la dépense de modèle par client sur notre propre plateforme, et ce qui mérite d'être transmis, c'est le silence avec lequel une mesure échoue. La nôtre a connu trois défauts distincts pendant ses premières semaines et aucun n'a levé d'erreur. Le collecteur lisait un cache que l'environnement d'exécution n'actualisait que sur demande explicite : le registre était donc simplement vide. Une fois cela corrigé, il ne récoltait que l'usage de l'agent principal, si bien que la dépense de chaque rôle spécialisé était enregistrée à zéro, ce qui sous-estimait précisément les comptes les plus lourds, ceux où le chiffre comptait le plus. Et comme les lignes étaient identifiées par le seul couple jour et modèle, la vue partielle d'un conteneur redémarré pouvait écraser le total stocké, et a une fois fait reculer une ligne de plusieurs dizaines de milliers de jetons.
Le motif est la leçon. Chacun de ces défauts produisait un chiffre plus petit, et un chiffre plus petit ressemble à une bonne nouvelle : rien ne poussait donc personne à vérifier. Une mesure a besoin d'un test qui échoue lorsqu'elle sous-déclare, pas seulement lorsqu'elle plante. Notre correction a consisté à inclure dans l'identité d'une ligne la session qui l'a produite, afin qu'une vue partielle ne puisse plus écraser une vue complète. Si vous fixez le prix d'un produit dont le coût par client est réel — ce qui est le cas de la plupart des produits d'IA — l'ordre est le même que vous adoptiez Flexprice ou que vous écriviez vingt lignes maison : mesurez d'abord, tarifez ensuite. Un prix trop élevé se baisse le mois suivant. Un trimestre que vous n'avez jamais mesuré ne revient pas, et vous ne pourrez pas dire quels clients coûtaient cher.
FAQ
- Flexprice remplace-t-il Stripe ?
- Non, et le projet ne se présente pas ainsi. Il se décrit comme composable : une couche de mesure, de crédits et de logique tarifaire qui se pose sur un prestataire de paiement existant et pousse les factures et les données de revenus qui en résultent vers les systèmes que vous utilisez déjà. Il vous faut toujours un prestataire pour encaisser et un moyen de gérer les cartes et les litiges. Ce qui change de place, c'est la partie qui décide du montant à facturer.
- Flexprice est-il gratuit ?
- Le dépôt est sous AGPL-3.0 et auto-hébergeable : vous pouvez donc l'exécuter sans payer de licence. Deux nuances méritent une lecture directe plutôt qu'une supposition : le README décrit un modèle open core avec une partie entreprise plus réduite sous licence commerciale dans les répertoires ee et internal/ee, et les mainteneurs vendent aussi une version hébergée. L'auto-hébergement est gratuit en licences et ne l'est ni en infrastructure ni en travail de mise à jour.
- Ai-je besoin d'un tel système de facturation dès le début ?
- Le service, probablement pas. Ce dont vous avez presque certainement besoin, c'est du journal d'événements autour duquel il est construit. La version utile la moins chère est une unique table en ajout seul qui enregistre qui a fait quoi, quand, et ce que cela vous a coûté, écrite dès le premier jour, avant qu'il n'existe la moindre question de prix. Adopter plus tard une plateforme de mesure est une migration ordinaire. Reconstituer un usage que vous n'avez jamais enregistré n'est pas possible du tout.
- Que signifie la licence AGPL pour mon SaaS ?
- Exécuter Flexprice sur votre propre infrastructure pour facturer vos propres clients est le cas ordinaire et n'a rien de remarquable. Ce qui distingue l'AGPL de la GPL, c'est la clause réseau : elle étend l'obligation de publier vos modifications aux personnes qui atteignent le logiciel via un réseau, et pas seulement à celles qui en reçoivent une copie. Si vous comptez le modifier et le proposer à des tiers dans le cadre d'un service, c'est une question pour un avocat. Ceci est une description de la licence, pas un conseil juridique.
- Combien coûte réellement l'auto-hébergement de Flexprice ?
- Plus qu'un seul conteneur. Les sujets déclarés par le projet listent PostgreSQL, ClickHouse, Kafka et Temporal, et le dépôt fournit un fichier compose pour le développement local : la forme réaliste est donc une base de données infogérée plus quelques services à état. Ajoutez des publications fréquentes — le dépôt livrait encore des commits fonctionnels à la mi-août 2026 — ce qui implique une habitude de mise à jour continue pour un système que vous ne pouvez pas laisser prendre du retard.
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.