Aller au contenu principal

Facturation

fremforge applique un modèle tarifaire forfaitaire de 30 €/utilisateur/mois. Pas de frais de runner à la minute dans le pool inclus, pas de frais de stockage au Go, pas de frais par dépôt. Un seul chiffre.

Modèle tarifaire

Un utilisateur est une adhésion de membre achetée dans votre organisation. Votre nombre d’utilisateurs est le nombre d’utilisateurs que vous avez achetés. La facturation repose sur ce nombre, et non sur l’activité de chaque membre. Tous les membres peuvent utiliser fremforge, quel que soit le volume de push ou de commits sur un mois donné.

Votre organisation commence par un essai gratuit de 30 jours. Un moyen de paiement est autorisé à l’inscription via la page de paiement hébergée par Mollie (0 € : aucun montant n’est prélevé ; certaines banques peuvent pré-autoriser brièvement 0,01 € puis l’annuler immédiatement). L’essai bascule automatiquement sur votre formule mensuelle au 30e jour et votre carte est débitée à ce moment-là ; annulez à tout moment avant le 30e jour dans Administration de l’organisation → Facturation, sans frais, et la carte n’est jamais débitée. Nous envoyons un rappel 3 jours avant le prélèvement automatique.

Limites de la période d’essai

La période d’essai vous permet d’évaluer fremforge de bout en bout sans exposer la plateforme aux abus massifs d’inscriptions éphémères. Quatre limites sont plus strictes que sur la formule payante :

LimiteEssaiPayant
Minutes de runner hébergé500 minutes pour toute la durée de l’essai (pool fixe, pas par utilisateur et par mois), assez pour environ 25 à 50 exécutions CI de durée habituelle1 000 min/utilisateur/mois, mutualisées
Dépôts10Illimités (au-delà de 500 par utilisateur, nous engageons une discussion commerciale)
Jobs CI simultanés22 garantis par utilisateur (au moins 10, au plus 60), et jusqu’à 60 lorsque la plateforme dispose de capacité disponible
Utilisateurs11 à 1000 (vous choisissez lors de la conversion)

Toutes les autres fonctionnalités (SSO, SCIM, analyse des secrets, mises à jour des dépendances, registre de paquets, commits signés, etc.) sont disponibles pendant l’essai avec leur pleine capacité. Les plafonds de l’essai sont volontairement prudents, comme mesure de défense en profondeur contre les inscriptions abusives. L’autorisation de la carte à l’inscription est le contrôle principal, mais des ressources plafonnées pendant l’essai maintiennent le coût maximal à un niveau bas si une inscription vérifiée par carte se révèle frauduleuse. Si vous atteignez un plafond avant d’avoir terminé votre évaluation, la solution consiste à passer à la formule payante (ce qui débloque rétroactivement les pools complets par utilisateur pour le reste du mois) plutôt qu’à attendre la fin de l’essai.

Périodicité de facturation, mensuelle ou annuelle

Vous choisissez une périodicité de facturation à l’inscription (modifiable à tout moment dans Administration de l’organisation → Facturation → Périodicité de facturation) :

  • Périodicité mensuelle, 30 €/utilisateur/mois. Les utilisateurs sont facturés d’avance au début de chaque cycle de 30 jours. Résiliable à tout moment ; l’accès se poursuit jusqu’à la fin du mois payé en cours.
  • Périodicité annuelle, 306 €/utilisateur/an (15 % de remise, soit l’équivalent de 25,50 €/utilisateur/mois). Les utilisateurs sont facturés d’avance en un seul montant annuel au début de chaque période d’un an. Le montant annuel n’est pas remboursable. Si vous résiliez en cours de période, l’accès se poursuit jusqu’à votre date d’engagement et la part non utilisée n’est pas remboursée.

Les frais liés à l’usage (dépassement de minutes de runner et dépassement de stockage) font exception dans les deux cas. Comme le montant final n’est connu qu’à la fin de la période, ils sont facturés mensuellement à terme échu et apparaissent comme une ligne sur la facture suivante.

La première période est calculée au prorata. À la fin de votre essai, le premier prélèvement couvre uniquement les jours restants jusqu’à votre prochaine date de facturation, au tarif journalier (30 € ÷ 30 × jours pour la périodicité mensuelle ; pour la périodicité annuelle, le tarif journalier équivalent × les jours restants du mois en cours, le montant annuel complet démarrant au début du mois suivant). La facturation d’avance par cycle complet commence à partir de cette date.

Ce qui est inclus par utilisateur

FonctionnalitéInclus
Dépôts GitIllimités (en nombre) ; 5 Go/utilisateur de stockage mutualisé
Minutes de runner CI (hébergé)1 000 min/utilisateur/mois, mutualisées sur l’organisation
Stockage du registre de paquets5 Go/utilisateur, mutualisés sur l’organisation
Stockage LFS5 Go/utilisateur, mutualisés sur l’organisation
Artefacts Actions5 Gio/utilisateur, mutualisés sur l’organisation, non facturés (voir ci-dessous)
Pièces jointes des tickets et des releases5 Gio/utilisateur, mutualisés sur l’organisation, non facturés
WebhooksIllimités
Requêtes API600 lectures/min et 60 écritures/min par jeton. Voir la documentation de l’API pour la référence complète des limites de débit.
Membres d’équipeIllimités
SSO (OIDC)Inclus
Analyse des secrets (Gitleaks)Inclus
Analyse des dépendances (Renovate)Inclus
Analyse des conteneurs (Trivy)Inclus
Génération de SBOM (Syft)Inclus
SAST (OpenGrep)Inclus
Provenance SLSAInclus

Les minutes de runner hébergé sont mutualisées : une organisation de 5 utilisateurs dispose de 5 000 min/mois à répartir librement entre tous ses dépôts et workflows. Les minutes sont remises à zéro le 1er de chaque mois ; les minutes non utilisées ne sont pas reportées.

Paiement

Les paiements sont traités par Mollie, un prestataire de paiement basé dans l’UE et conforme à la DSP2. Aucune donnée de paiement ne transite par les serveurs de fremforge.

Moyens de paiement acceptés :

MoyenRemarques
Carte bancaireVisa et Mastercard (crédit et débit)
Prélèvement SEPAComptes bancaires de la zone euro ; mandat requis
Virement SEPAVirement manuel ; référence indiquée sur la facture
Google PayDisponible dans les navigateurs compatibles
Apple PayDisponible dans Safari sur les appareils Apple

Ajouter un moyen de paiement

  1. Allez dans Administration de l’organisation → Facturation → Moyen de paiement (frem.sh/<your-org>/_admin/billing).
  2. Cliquez sur Ajouter un moyen de paiement. Vous êtes redirigé vers une page de paiement hébergée par Mollie.
  3. Terminez l’autorisation de paiement ou la mise en place du mandat.
  4. À votre retour, le moyen de paiement apparaît comme actif.

Factures

Les factures sont générées à votre date de facturation (tous les 30 jours à compter de la fin de l’essai) et envoyées à l’adresse e-mail du contact de facturation. Chaque facture prélève d’avance les utilisateurs pour la période de 30 jours à venir, plus tout dépassement d’usage accumulé pendant la période qui vient de se terminer. Téléchargez à tout moment vos factures passées dans Administration de l’organisation → Facturation → Factures. Chaque facture est un PDF détaillant le nombre d’utilisateurs, le prix unitaire, le sous-total, la TVA et les éventuelles lignes de dépassement.

TVA

fremforge ne vend qu’aux entreprises : chaque organisation indique donc un numéro de TVA ou d’immatriculation à l’inscription. La TVA dépend de votre pays de facturation :

  • Danemark : la TVA danoise (25 %) s’ajoute à chaque facture.
  • Autres États membres de l’UE : l’autoliquidation B2B intra-UE s’applique ; la TVA n’est pas facturée. Votre numéro de TVA est vérifié auprès de VIES à l’inscription, puis régulièrement. Si VIES cesse de le confirmer, nous vous écrivons et la facturation est suspendue jusqu’à 30 jours, le temps de régulariser. Ensuite, les factures portent la TVA danoise jusqu’à ce que le numéro soit de nouveau valide.
  • Hors UE : aucune TVA de l’UE n’est facturée ; vous déclarez la TVA dans votre propre pays.

Pour modifier votre numéro de TVA ou votre pays de facturation, écrivez à support@frem.sh. La modification s’applique à partir de la facture suivante ; les factures déjà émises ne sont pas recalculées.

Ajouter et retirer des utilisateurs

Ajouter des membres

Lorsque vous invitez un nouveau membre et qu’il accepte, le nombre d’utilisateurs augmente d’une unité. L’utilisateur supplémentaire est facturé d’avance à la prochaine date de facturation.

La carte Gérer les utilisateurs — qui sont vos utilisateurs payants aujourd’hui de la page Facturation liste tous les membres actuels et leur attribution.

Retirer des membres

  1. Allez dans Administration de l’organisation → Membres, ouvrez le panneau Gérer du membre et choisissez Retirer.
  2. Confirmez le retrait.

Le retrait d’un membre révoque immédiatement son accès à tous les dépôts de l’organisation et met fin à ses sessions actives. L’utilisateur libéré reste compris dans votre limite contractuelle pour le reste de la période prépayée ; vous pouvez y inviter un remplaçant à tout moment sans frais supplémentaires.

Réduire votre limite d’utilisateurs

La réduction du nombre d’utilisateurs contractuel (distincte du retrait de membres individuels) se fait dans la section Modifier la limite d’utilisateurs de la carte Gérer les utilisateurs de la page Facturation :

  1. Saisissez la nouvelle limite (plus basse).
  2. Confirmez. La modification est planifiée : votre nombre d’utilisateurs contractuel reste à sa valeur actuelle jusqu’à la prochaine échéance de facturation, où il passe à la nouvelle valeur.

Aucun remboursement ni avoir n’est émis pour les utilisateurs retirés : vous gardez la pleine jouissance des utilisateurs payés jusqu’à la fin de la période prépayée (fin du mois pour la périodicité mensuelle ; date d’engagement pour la périodicité annuelle). Le nombre réduit sert de base à la facture suivante. Cette règle s’applique de la même façon aux périodicités mensuelle et annuelle, conformément au §4.3 des conditions.

Si vous changez d’avis avant la date d’application, remonter la limite (à sa valeur actuelle ou au-delà) annule immédiatement la réduction en attente. Revenir à un nombre supérieur à votre limite actuelle déclenche comme d’habitude un supplément calculé au prorata.

Dépassement de minutes de runner

Le pool de l’organisation correspond à la somme de vos utilisateurs × 1 000 min/mois.

Le dépassement est désactivé par défaut. Lorsque le pool est épuisé, les nouveaux jobs CI attendent dans la file jusqu’à ce que des minutes se libèrent (au début de la période de facturation suivante ou lorsque des runners auto-hébergés sont disponibles). Les jobs ne sont pas perdus, ils attendent dans la file.

Activer le dépassement : les propriétaires de l’organisation peuvent activer la facturation au compteur du dépassement dans Administration de l’organisation → Facturation → Consommation de minutes runner — période en cours → Activer la facturation du dépassement. Une fois activé, chaque minute au-delà du pool est facturée 0,01 € la minute. Comme le décompte final n’est connu qu’à la fin de la période, le dépassement est facturé à terme échu : il apparaît comme une ligne sur la facture suivante. Le montant prévisionnel du dépassement pour la période en cours est affiché sur la page Facturation.

Désactiver le dépassement : le bouton Administration de l’organisation → Facturation → Consommation de minutes runner — période en cours → Désactiver la facturation du dépassement empêche tout nouveau dépassement de s’accumuler. Le dépassement déjà consommé pendant la période en cours reste facturé à terme échu sur la facture suivante.

Runners auto-hébergés : les minutes des runners que vous enregistrez vous-même ne sont pas décomptées du pool et ne donnent jamais lieu à des frais de dépassement. L’enregistrement d’un runner auto-hébergé est actuellement géré par l’opérateur : contactez support@frem.sh pour en inscrire un. Voir Runners CI pour le modèle de runners.

Limites et quotas de stockage

Chaque utilisateur ajoute 5 Go à chacun de trois pools de stockage distincts. Chaque pool est partagé sur l’organisation, comme les minutes de runner, mais les trois pools ne partagent pas leur espace entre eux :

PoolInclus par utilisateurPartagé entre
Stockage des dépôts Git5 GoTous les dépôts de l’organisation
Stockage Git LFS5 GoTous les dépôts de l’organisation
Stockage du registre de paquets5 GoTous les paquets de l’organisation

Exemple : une organisation de 5 utilisateurs dispose d’un pool de dépôts de 25 Go, d’un pool LFS de 25 Go et d’un pool de paquets de 25 Go. Un pool LFS plein bloque les envois LFS même s’il reste de la place dans le pool de dépôts.

Pendant l’essai, chaque pool fait 5 Go et le dépassement de stockage ne peut pas être activé.

Consulter l’usage actuel : Administration de l’organisation → Facturation → Stockage. Affiche le total utilisé et restant par type de ressource, avec une ventilation par dépôt.

Limites par dépôt : il n’existe pas de plafond strict par dépôt. Un seul gros dépôt peut consommer tout le pool de l’organisation. Utilisez la ventilation par dépôt pour repérer les cas atypiques.

Taille recommandée des dépôts : gardez chaque dépôt sous 1 Go. Au-delà de 5 Go, les clones et les fetch deviennent plus lents. Utilisez LFS pour les fichiers binaires (images, vidéos, artefacts compilés, jeux de données).

LFS : Git LFS est pris en charge nativement. Suivez les gros fichiers avec git lfs track "*.psd" et poussez normalement. Les objets LFS sont stockés à part de la base d’objets Git et décomptés du quota LFS, pas du quota des dépôts.

Stockage du registre de paquets : chaque version de paquet envoyée (couche d’image Docker, archive npm, JAR Maven, etc.) est décomptée du pool de paquets. Ce que le proxy de dépendances met en cache est décompté du même pool de paquets (pendant l’essai : un forfait de 5 Go de fichiers en cache à la place). Supprimez les anciennes versions de paquets dans Dépôt → Paquets → <package> → Versions → Supprimer pour récupérer de l’espace.

Le propriétaire de l’organisation reçoit un avertissement par e-mail lorsqu’un des trois pools atteint 80 %.

Le dépassement de stockage est désactivé par défaut. Lorsqu’un pool est plein, les nouveaux envois vers ce pool sont bloqués.

Activer le dépassement : les propriétaires de l’organisation peuvent activer la facturation au compteur du dépassement de stockage dans Administration de l’organisation → Facturation → Stockage — période en cours → Activer le dépassement de stockage. Une fois activé, plus aucun pool ne bloque les envois, et les Go utilisés au-delà de la taille incluse de chaque pool sont facturés 0,20 €/Go/mois, à terme échu sur la facture suivante. Chaque pool est mesuré séparément : l’espace restant dans un pool ne compense pas le dépassement d’un autre.

Désactiver le dépassement : le bouton Administration de l’organisation → Facturation → Stockage — période en cours → Désactiver la facturation du dépassement de stockage empêche tout nouveau dépassement de s’accumuler. Le dépassement déjà utilisé pendant la période en cours reste facturé à terme échu sur la facture suivante.

Autres moyens d’augmenter le stockage :

  • Ajouter un utilisateur : chaque utilisateur supplémentaire ajoute 5 Go de dépôts + 5 Go de LFS + 5 Go de registre au pool de l’organisation.
  • Acheter une extension de stockage : contactez support@frem.sh pour acheter des Go supplémentaires sans ajouter d’utilisateurs. L’extension est répartie entre les trois pools par Go entiers, le reste éventuel allant au pool le plus utilisé.
  • Supprimer d’anciennes données : supprimez les anciennes versions de paquets dans Dépôt → Paquets ou faites le ménage dans les gros fichiers inutilisés.

Artefacts Actions et pièces jointes

Deux autres plafonds s’appliquent par organisation, appliqués par Forgejo au moment de l’envoi :

PlafondPar utilisateurEssaiCe qui compte
Artefacts Actions5 Gio5 GioLes artefacts envoyés par les workflows, jusqu’à leur expiration
Pièces jointes des tickets et des releases5 Gio5 GioLes fichiers joints aux tickets, aux pull requests et aux releases

Ce ne sont pas des pools de stockage : ils ne sont pas facturés, n’ont pas de dépassement, et ni le dépassement de stockage ni une extension de stockage ne les augmentent. Seuls les artefacts non expirés comptent ; voir la conservation des artefacts de build pour savoir quand ils expirent.

Lorsque le plafond des artefacts est atteint, Forgejo refuse l’envoi avec un HTTP 413 Quota exceeded. Avec actions/upload-artifact@v3, le client considère le 413 comme une erreur à réessayer : le journal de l’étape affiche donc A 413 status code has been received, will attempt to retry the upload jusqu’à cinq fois avec une attente croissante, puis un bloc comme celui-ci, et l’étape échoue :

##### Begin Diagnostic HTTP information #####
Status Code: 413
Status Message: Request Entity Too Large

Ce 413 signifie que le quota d’artefacts de l’organisation est plein, et non qu’un fichier est trop gros. Libérez de l’espace en faisant expirer plus tôt les anciens artefacts (retention-days lors de l’envoi), ou contactez support@frem.sh si vous avez besoin de davantage.

Lorsque le plafond des pièces jointes est atteint, l’envoi d’une pièce jointe dans l’interface web ou par l’API est refusé avec une erreur de quota dépassé.

Contacts de facturation et accords entreprise

E-mail de facturation : définissez un contact de facturation dédié dans Administration de l’organisation → Facturation → E-mails de facturation (distinct de l’e-mail du propriétaire de l’organisation). Les factures et les notifications d’échec de paiement sont envoyées à cette adresse.

Achats sur bon de commande ou accords entreprise : contactez hello@frem.sh pour discuter de bons de commande, de contrats pluriannuels, de facturation sur facture (au lieu d’un mandat Mollie) ou de tarifs dégressifs.

Cycle de vie de l’abonnement

ÉtatDescription
ActifNormal, payé et dans les limites d’usage
Paiement en retardLe prélèvement d’avance de la nouvelle période a échoué ; Mollie réessaie automatiquement. Mettez à jour le moyen de paiement sous 7 jours.
SuspenduPaiement non recouvré au bout de 7 jours ; les dépôts passent en lecture seule. La CI est en pause.
Résiliation planifiée (périodicité mensuelle)Le propriétaire a demandé la résiliation ; délai de 30 jours avant prise d’effet. Réversible depuis l’interface d’administration ou le lien de l’e-mail de résiliation.
Résiliation planifiée (périodicité annuelle)Le propriétaire a demandé la résiliation en cours de période ; l’accès se poursuit jusqu’à la date d’engagement (c’est-à-dire la fin de l’année prépayée), puis prend fin. Le montant annuel payé d’avance n’est pas remboursable, conformément aux Conditions §4.7. Réversible depuis l’interface d’administration à tout moment avant la date d’engagement.
RésiliéAccès en lecture seule ; délai de conservation de 90 jours avant purge.
SuppriméToutes les données sont purgées conformément au DPA §9.

Dans l’état Résilié, vous pouvez encore télécharger un export complet de vos données dans Administration de l’organisation → Export de données. Faites-le avant la fin du délai de 90 jours.

Dépannage

Le paiement a échoué.

Mollie envoie une notification de nouvelle tentative à l’adresse e-mail de votre contact de facturation. Allez dans Administration de l’organisation → Facturation → Moyen de paiement et mettez à jour ou remplacez le moyen de paiement. Mollie retente automatiquement le prélèvement d’avance une fois le moyen mis à jour. Si l’organisation passe à l’état Suspendu, la CI et l’accès en push reprennent quelques minutes après un paiement réussi.

Montant de TVA erroné sur une facture.

Saisissez ou corrigez votre numéro d’identification TVA sur la page Facturation avant la prochaine date de facturation (le 1er du mois suivant). Si la facture actuelle est erronée, contactez support@frem.sh en indiquant votre numéro de TVA et le numéro de facture. Un avoir est émis et une facture corrigée est générée.

Le nombre d’utilisateurs est plus élevé que prévu.

Ouvrez la carte Gérer les utilisateurs dans Administration de l’organisation → Facturation pour voir tous les membres actuels. Votre nombre d’utilisateurs correspond au nombre de membres de votre organisation (1 au minimum). Pour le réduire, retirez des membres dans Administration de l’organisation → Membres (ouvrez le panneau Gérer du membre, puis choisissez Retirer). Le nombre d’utilisateurs est mis à jour au cycle de facturation suivant.

J’ai invité quelqu’un et le nombre d’utilisateurs a augmenté.

Chaque invitation acceptée augmente le nombre d’utilisateurs d’une unité. Si vous avez invité quelqu’un par erreur, retirez-le dans Administration de l’organisation → Membres avant la prochaine date de facturation pour éviter d’être facturé pour cet utilisateur.

Par l’API REST

Les mêmes actions de facturation sont disponibles sur l’API publique. Utilisez-la pour scripter le provisionnement des organisations, intégrer fremforge dans un processus d’achat ou piloter les opérations depuis un agent IA.

  • Lire la configuration GET /_app/api/v1/orgs/:slug/billing/config (portée billing:read)
  • Définir les e-mails de facturation PUT /_app/api/v1/orgs/:slug/billing/emails (portée billing:write)
  • Activer ou désactiver le dépassement (runner / utilisateurs / stockage) PUT /_app/api/v1/orgs/:slug/billing/overage (portée billing:write)
  • Changer de périodicité de facturation (mensuelle ↔ annuelle) PUT /_app/api/v1/orgs/:slug/billing/term (portée billing:write)
  • Démarrer un paiement de mise en place de mandat POST /_app/api/v1/orgs/:slug/billing/setup-mandate (portée billing:write)
  • Planifier la résiliation POST /_app/api/v1/orgs/:slug/billing/cancel / l’annuler POST /_app/api/v1/orgs/:slug/billing/cancel/undo (portée billing:write)

Nécessite un jeton d’accès personnel (PAT) avec la portée correspondante :

curl -X PUT \
  -H "Authorization: Bearer ${FREMFORGE_PAT}" \
  -H "Content-Type: application/json" \
  -d '{"runner": true, "storage": true}' \
  https://frem.sh/_app/api/v1/orgs/acme/billing/overage

Voir la référence de l’API REST publique pour la spécification OpenAPI complète.

Voir aussi