Modéliser une tarification à la consommation
Note
Nous avons mis à jour notre processus de facturation à la consommation. Pour en savoir plus sur les anciennes instructions, consultez notre ancienne documentation sur la facturation à la consommation.
Il existe différents modèles tarifaires pour la facturation à la consommation : le paiement à l’utilisation, les frais fixes et le dépassement (recommandé pour la plupart des utilisateurs) et l’épuisement de crédits.
Paiement à l’utilisation
Communément appelé « facturation à terme échu », le modèle de « paiement à l’utilisation » vous permet de suivre l’utilisation sur une période déterminée, puis de facturer le client à la fin de la période. Il existe quatre stratégies de tarification différentes :
- Par unité : facturez le même montant pour chaque unité.
- Par lot : facturez un forfait ou un lot d’unités d’utilisation. Il s’agit du modèle utilisé par l’entreprise fictive Alpaca AI.
- Tarification échelonnée et au volume : le poste d’abonnement est facturé au niveau correspondant à l’utilisation à la fin de la période. En savoir plus sur la tarification établie sur le volume.
- Tarification échelonnée et progressive : comme la tarification au volume, la tarification progressive facture l’utilisation de chaque niveau au lieu d’appliquer un tarif unique pour toute l’utilisation.
Ce modèle n’est peut-être pas la solution la plus adaptée si votre entreprise compte des clients peu fiables, car ces derniers peuvent atteindre un volume de consommation important pour qu’ensuite leur paiement échoue à la fin du mois.
Modèle à frais fixes et dépassement
Dans ce modèle, vous facturez des frais mensuels fixes pour votre service au début de la période. Ces frais fixes prévoient une certaine quantité d’utilisation, et toute utilisation supplémentaire (dépassement) est facturée à la fin de la période.
Vous pouvez le modéliser en définissant deux tarifs pour le même produit. Par exemple, Alpaca AI lance un nouveau modèle avancé appelé Llama AI. Au tarif de 200 USD par mois, ce modèle inclut 100 000 tokens. Toute utilisation supplémentaire sera facturée au taux de 0,001 USD par token.
Modèle d’épuisement de crédits
Dans ce modèle de paiement, les utilisateurs paient un montant initial et utilisent progressivement des crédits correspondant à leur consommation. Stripe ne prend pas en charge ce modèle à l’heure actuelle, mais nous travaillons à sa future prise en charge. Click here si vous souhaitez accéder à une future version bêta.
Seuils de facturation
Définissez des seuils de facturation pour émettre une facture et, si vous le souhaitez, de réinitialiser le cycle de facturation d’un abonnement, lorsque l’utilisation cumulée d’un client au cours d’un cycle d’abonnement atteint un seuil monétaire spécifique. Vous pouvez définir des seuils de facturation pour limiter le montant dû cumulé ou la consommation de votre produit entre chaque facture ou paiement.
Ajouter un seuil monétaire à un abonnement
En règle générale, la valeur d’un seuil doit correspondre à un multiple du coût unitaire du produit vendu.
Si vous définissez un montant plus faible, vos clients recevront une facture pour chaque unité d’utilisation, ce qui peut être source de confusion.
La valeur est un entier positif exprimé dans l’unité monétaire la plus faible (par exemple, 100 centimes pour facturer 1 USD, ou 100 pour facturer 100 JPY, le JPY étant une devise sans décimale). Elle ne peut pas être inférieure à 50 unités monétaires.
Vous pouvez aussi définir des seuils monétaires dans le Dashboard lorsque vous créez ou modifiez un abonnement.
Ajouter un seuil d’utilisation à un poste d’abonnement
Définissez des seuils monétaires supérieurs à une unité d’utilisation afin d’éviter une facturation trop fréquente. Stripe ne prend pas en charge la définition de seuils d’utilisation dans le Dashboard.
Seuils et début du cycle de facturation
Par défaut, la date de début du cycle de facturation d’un abonnement reste inchangée lorsque l’utilisation d’un client atteint un seuil. Par exemple, si un seuil est atteint au milieu d’un abonnement d’un mois, l’abonnement sera réinitialisé à la fin du mois, comme pour un abonnement sans seuil.
Vous pouvez modifier ce comportement de façon à ce que la date de début du cycle de facturation soit réinitialisée quand un seuil est atteint. De cette façon, le déclenchement du seuil sera traité comme si l’abonnement avait atteint son point de reconduction naturel à la fin du mois.
Seuils et tarification échelonnée
Stripe applique également les niveaux aux factures à seuils. Comme pour les abonnements sans seuil, les niveaux sont réinitialisés à la fin de la période de facturation par défaut, ou si vous configurez l’abonnement de manière à réinitialiser la date de début du cycle de facturation lorsqu’un seuil est atteint.
Par exemple, imaginons que vous gérez une plateforme publicitaire qui utilise la grille tarifaire progressive (graduated
) suivante pour ses impressions publicitaires :
Niveau | Montant (coût unitaire) |
---|---|
1 à 10 000 (up_to=10000) | 0,50 USD (unit_amount=50 ) |
up_to=inf ) | 0,40 USD (unit_amount=40 ) |
Étant donné que Stripe facture l’utilisation après coup, vous pouvez définir un seuil de 100 USD comme mesure temporaire pour les nouveaux clients. Dans cet exemple, votre client est facturé toutes les 200 impressions pour les 10 000 premières impressions (200 × 0,50 USD = 100 USD). Lorsque le client dépasse les 10 000 impressions, il est facturé toutes les 250 impressions (250 × 0,40 USD = 100 USD). Cela continue jusqu’à la fin de la période de facturation, stade auquel toute utilisation non facturée fait l’objet d’une nouvelle facturation. L’abonnement et les niveaux sont également réinitialisés.
Pour activer la réinitialisation des niveaux après avoir atteint un seuil, vous devez configurer l’abonnement de façon à réinitialiser la date de début du cycle de facturation lorsque l’utilisation atteint le seuil défini.
Tarification échelonnée au volume
La tarification échelonnée au volume assigne un même tarif à toutes les unités utilisées, contrairement à la tarification progressive qui assigne un tarif supplémentaire à chaque niveau de quantité franchi. Certains modèles tarifaires utilisent une tarification au volume afin de diminuer le tarif à l’unité au fur et à mesure que le nombre d’unités vendues augmente. Vous pouvez utiliser ces modèles pour encourager les clients à consommer vos produits (impressions publicitaires, Go de stockage, etc.) en plus grande quantité.
Associés à des seuils, ces modèles de tarification peuvent se traduire par des factures comportant des postes au montant négatif, dans les conditions suivantes :
- Une facture à seuils a déjà été émise.
- Les unités suivantes sont facturées à un coût unitaire plus faible.
Prenons l’exemple de la tarification échelonnée suivante :
Niveau | Montant (coût unitaire) |
---|---|
1 à 10 000 (up_to=10000 ) | 0,50 USD (unit_amount=50 ) |
up_to=inf ) | 0,40 USD (unit_amount=40 ) |
Si un client utilise 10 000 unités, le total de la facture sera de 5 000 USD (10 000 × 0,50 USD = 5 000 USD). Quand l’utilisation dépasse 10 000 unités, toutes les unités utilisées sont alors facturées à un coût unitaire plus faible de 0,40 USD. Donc, si le client utilise une unité supplémentaire, le montant facturé diminue, pour atteindre seulement 4 000,40 USD (10 001 × 0,40 USD = 4 000,40 USD).
Si aucun seuil n’avait été défini, Stripe émettrait une facture d’un montant de 4 000,40 USD à la fin de la période de facturation.
Cependant, pour vous montrer comment cela peut aboutir à une facture négative, imaginons que nous ayons défini un seuil monétaire de 5 000 USD. Dans ce scénario, Stripe émet une facture dès le client atteint 10 000 unités utilisées.
Si le client utilise une unité supplémentaire, le total de la facture passe à 4 000,40 USD (10 001 * 0,40 USD = 4 000,40 USD). Toutefois, si le client ne consomme pas d’autres unités, il doit recevoir 999,60 USD (5 000 USD - 4 000,40 USD = 999,60 USD). En fin de période de facturation, Stripe crédite ce montant sur le solde du client, qui est utilisé pour le règlement des prochaines factures.
Imaginons que le client continue de cumuler de l’utilisation. Le coût de cette utilisation atteint 5 000 USD à nouveau lorsque le client a utilisé 12 500 unités (5 000 USD/0,40 USD = 12 500). Cependant, puisque le paiement précédent de 5 000 USD couvre déjà toutes ces utilisations, nous n’émettons pas de facture.
Stripe n’émettra pas de facture tant que l’utilisation totale n’aura pas atteint 25 000 unités (pour un coût total de 10 000 USD), ou tant que la période de facturation ne sera pas arrivée à son terme (selon la première de ces éventualités à survenir). Les tableaux ci-dessous montrent les postes affichés pour les deux factures émises dans le cas où l’utilisation atteindrait 25 000 unités.
Facture 1 :
Poste de facture | Quantité | Montant |
---|---|---|
Utilisation (0,50 USD par unité) | 10 000 | 5 000 USD |
Total | 5 000 USD |
Facture 2 :
Poste de facture | Quantité | Montant |
---|---|---|
Utilisation (0,40 USD par unité) | 25 000 | 10 000 USD |
Montant facturé précédemment (à 0,50 USD par unité) | - 5 000 USD | |
Total | 5 000 USD |
Limites
- Les seuils ne s’appliquent pas aux abonnements avec période d’essai.
- Les seuils monétaires doivent être supérieurs à la somme de tous les frais fixes sur les abonnements facturés à la consommation.
- Les seuils de facturation ne sont pas évalués durant les 24 heures précédant la fin d’un abonnement. Cela permet d’éviter toute confusion chez un client qui reçoit plusieurs factures à la même date.
- Vous ne pouvez définir qu’un seuil monétaire par abonnement.
- Vous ne pouvez définir qu’un seuil d’utilisation par poste d’abonnement.
- L’utilisation étant communiquée en temps réel, les factures peuvent ne pas être émises au moment exact où le seuil est atteint. L’utilisation ou les montants facturés peuvent être légèrement supérieurs aux seuils spécifiés.
- La valeur utilisée pour déterminer si un seuil monétaire a été atteint inclut les réductions, mais ne tient pas compte des taxes.
- La tarification forfaitaire et échelonnée n’est pas prise en charge actuellement
Périodes d'essai gratuites
Vous pouvez utiliser des périodes d’essai pour les abonnements avec facturation à la consommation. Pendant la période d’essai, l’utilisation n’est pas comptabilisée dans le total facturé au client à la fin du cycle de facturation. Après la fin de la période d’essai, l’utilisation est comptabilisée et facturée à la fin du cycle de facturation suivant.
En savoir plus sur les périodes d’essai et les abonnements.
Webhooks et essais
Vérifiez que votre intégration surveille et gère correctement les événements Web relatifs aux modifications d’état des périodes d’essai.
Quelques jours avant la fin de la période d’essai et le passage de l’abonnement de trialing
à active
, vous recevez un événement customer.subscription.trial_will_end
. À réception de cet événement, assurez-vous qu’un moyen de paiement est défini pour le client afin de pouvoir le facturer. Si vous le souhaitez, informez le client à l’avance du paiement à venir.
État | Description |
---|---|
trialing | L’abonnement est actuellement en période d’essai et vous pouvez fournir l’accès à votre produit sans risque. L’état de l’abonnement basculera sur active une fois le premier paiement effectué. |
active | L’abonnement est en règle et le paiement le plus récent a abouti. Vous pouvez fournir l’accès à votre produit sans risque. |
incomplete | Un paiement doit aboutir dans les 23 heures suivant la création de l’abonnement pour que ce dernier soit activé. Dans le cas contraire, une action est requise, comme une authentification du client. Les abonnements peuvent aussi être incomplete si un paiement est en attente et que l’état du PaymentIntent est processing . |
incomplete_expired | Le paiement initial de l’abonnement a échoué et aucun paiement n’a abouti dans les 23 heures suivant la création de l’abonnement. Ces abonnements ne facturent pas les clients. Cet état vous permet d’assurer le suivi des clients qui ne sont pas parvenus à activer leur abonnement. |
past_due | Le paiement de la dernière facture finalisée a échoué ou n’a pas été tenté. L’abonnement continue de créer des factures. Vos paramètres d’abonnement déterminent l’état suivant de l’abonnement. Si la facture reste impayée après toutes les tentatives de relance Smart Retries, vous pouvez configurer l’abonnement pour qu’il bascule sur canceled , unpaid , ou le laisser sur past_due . Assurez-vous de payer la facture la plus récente avant sa date d’échéance pour faire basculer l’état de l’abonnement sur active . |
canceled | L’abonnement a été annulé. Lors de l’annulation, l’encaissement automatique de toutes les factures impayées est désactivé (auto_advance=false ). Cet état est définitif et ne peut pas être mis à jour. |
unpaid | La dernière facture n’a pas été payée, mais l’abonnement reste valide. La dernière facture reste ouverte et des factures continuent à être générées, mais aucune tentative de paiement n’est effectuée. Vous devez révoquer l’accès à votre produit quand l’abonnement est unpaid puisque des tentatives de paiement ont déjà été effectuées et relancées lorsqu’il était à l’état past_due . Assurez-vous de payer la facture la plus récente avant sa date d’échéance pour faire basculer l’état de l’abonnement sur active . |
paused | L’abonnement est arrivé au terme de sa période d’essai sans avoir configuré de moyen de paiement par défaut et la trial_settings.end_behavior.missing_payment_method est définie sur pause . Plus aucune facture ne sera créée pour l’abonnement. Une fois qu’un moyen de paiement par défaut a été associé au client, vous pouvez reprendre l’abonnement. |
En savoir plus sur les abonnements et les webhooks.
Annulations
Avec la facturation à l’utilisation, le montant que le client paie varie en fonction de la quantité consommée durant le cycle de facturation. Si la modification du cycle de facturation provoque la fin anticipée d’un intervalle d’abonnement, vous facturez le client pour l’utilisation cumulée au cours du cycle de facturation écourté. Nous ne prenons pas en charge le calcul au prorata avec la facturation à l’utilisation.
Une fois un abonnement annulé, il ne peut plus être réactivé. Vous pouvez collecter les informations de facturation actualisées de votre client, mettre à jour son moyen de paiement par défaut et créer un nouvel abonnement à partir du dossier client existant.
Après avoir planifié l’annulation d’un abonnement à l’aide de cancel_at_period_end
, vous pouvez le réactiver à tout moment jusqu’à la fin de la période en attribuant au paramètre cancel_at_period_end
la valeur false
. Toute utilisation calculée est indiquée dans une facture finale après l’annulation de l’abonnement, à la fin de la période de facturation.
Transformer les quantités
Utilisez l’option transform_quantity pour transformer l’utilisation avant d’appliquer le tarif. Cela vous permet de diviser l’utilisation mesurée par un nombre spécifique et d’arrondir le résultat à l’entier supérieur ou inférieur. Cette option est couramment utilisée pour définir le tarif d’un lot de produits plutôt que celui d’unités individuelles. La modification de la quantité n’est pas compatible avec la tarification échelonnée.
Supposons par exemple que vous ayez un service de location de voitures. Vous déclarez l’utilisation sous la forme d’un nombre de minutes et vous souhaitez facturer les clients pour chaque heure de location de la voiture.
Créez ensuite un tarif pour le service de location de voitures à hauteur de 10 USD par heure, arrondis au chiffre supérieur (de manière à facturer une heure complète même si elle n’est que commencée) :
Si une voiture est louée pendant 150 minutes, le client est facturé 30 USD pour 3 heures de location (2 heures et 30 minutes, arrondies à l’unité supérieure).
Montants avec décimale
La tarification avec décimale est utile si vous souhaitez fixer des tarifs qui ne sont pas des nombres entiers. Par exemple, si vous dirigez une entreprise SaaS de stockage dans le cloud, vous pouvez créer un tarif qui facture 0,05 centime pour chaque Mo consommé par mois. En fonction de l’utilisation, la quantité de Mo est alors multipliée par 0,05 centime et arrondie au centime le plus proche.
Pour créer des tarifs avec décimale, spécifiez unit_amount_decimal
à la place de unit_amount
. unit_amount_decimal
vous permet de définir un montant dans la sous-unité de la devise utilisée pour la facturation. Par exemple, vous pouvez définir unit_amount_decimal = 105.5
en USD pour représenter 105,5 centimes, soit 1,055 USD. unit_amount_decimal
accepte jusqu’à 12 décimales.
Si vous prévoyez d’utiliser des niveaux de tarification, vous pouvez spécifier l’attribut unit_amount_decimal
à la place de unit_amount
. Vous pouvez aussi créer des postes de facture avec unit_amount_decimal
à la place de unit_amount
.
Dans les réponses de l’API, le champ unit_amount
, qui doit correspondre à un nombre entier, n’est pas renseigné si vous créez l’objet avec une valeur décimale. Par exemple, si vous créez un tarif avec unit_amount_decimal = 0.05
, la réponse contient unit_amount = null
et unit_amount_decimal = 0.05
. Vous pouvez toujours transférer les valeurs entières dans unit_amount_decimal
, auquel cas unit_amount
est renseigné dans la réponse. Par exemple, si vous créez un tarif avec unit_amount_decimal = 5
, la réponse contient unit_amount = 5
et unit_amount_decimal = 5.0
.
Note
Si votre intégration gère les événements à l’aide de valeurs unit_amount
et que vous utilisez des montants avec décimale, vous devez utiliser unit_amount_decimal
à la place. Cette précision est importante, car unit_amount
renverra la valeur null
si les montants avec décimale ne peuvent pas être convertis en montants entiers, ce qui pourrait entraîner des erreurs dans votre intégration.
Périodes de grâce
Par défaut, Stripe finalise les factures d’abonnement une heure après leur génération. Pendant ce délai de grâce d’une heure, vous pouvez continuer à mesurer l’utilisation pour la période précédente. Lorsque la facture est finalisée, nous la mettons à jour de façon à refléter l’utilisation effective pour sa période de facturation.
L’utilisation mesurée après la finalisation de la facture n’est pas prise en compte dans les factures ultérieures.
Si vous souhaitez allonger la période de grâce, contactez-nous à l’adresse usage-based-billing@stripe.com.
Modifications en cours de cycle
Vous pouvez mettre à jour le tarif d’un poste d’abonnement au cours d’un cycle de facturation. Cependant, nous tenons uniquement compte de l’utilisation après la mise à jour sur la facture. L’utilisation antérieure à la modification n’est pas facturée.
Après la mise à jour, nous facturons toute nouvelle utilisation au nouveau tarif.
Pour supprimer un poste d’abonnement :
L’utilisation de ce poste n’apparaît pas sur la facture.
Créer un abonnement rétroactif
Vous pouvez créer des abonnements rétroactifs pour commencer à mesurer l’utilisation avant de créer un abonnement.