# Comparez le mode de facturation classique et le mode de facturation flexible Comprendre les différences entre les divers modes de facturation Nous vous recommandons d’utiliser le [mode de facturation flexible](https://docs.stripe.com/billing/subscriptions/billing-mode.md), car il permet d’améliorer le comportement de facturation et d’accéder à de nouvelles fonctionnalités. Cependant, le passage à ce mode peut modifier le comportement de votre intégration. Vérifiez les différences suivantes pour comprendre l’impact sur votre intégration et prendre une décision réfléchie. > Ce n’est pas possible de migrer un abonnement du mode de facturation flexible vers le mode de facturation classique. ## Crédits et calculs au prorata Les prorata de crédit sont émis lorsque les clients passent à un abonnement inférieur ou annulent des postes d’abonnement avant la fin de leur période de facturation. Le mode de facturation flexible calcule les prorata de crédit en fonction du montant initial précédemment débité d’un client. Pour obtenir un aperçu complet du calcul au prorata du crédit, consultez la page [Prorata du crédit](https://docs.stripe.com/billing/Subscriptions/prorations.md#credit-prorations). | **Classique** | **Flexible** | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Lorsqu’une mise à jour d’un abonnement génère un crédit au prorata, les montants du crédit au prorata sont calculés en fonction de la valeur du prix actuel du poste d’abonnement, des taxes, de la quantité et des dernières remises utilisées. | Lorsqu’une mise à jour d’un abonnement génère un prorata créditeur, ces proratas utilisent le montant initialement débité au lieu des valeurs actuelles de l’abonnement. Si la période créditée a été facturée à l’origine en plusieurs débits, Stripe génère plusieurs proratas créditeurs, un pour chaque débit d’origine correspondant. | ### Application proportionnelle des réductions pour les calculs au prorata Nous appliquons des réductions proportionnellement à chaque poste d’abonnement lors du [calcul au prorata](https://docs.stripe.com/billing/Subscriptions/prorations.md#prorations-and-discounts) au lieu de les répartir uniformément. Il en résulte davantage de prorata, en particulier lors de la facturation par poste ou de l’annulation de postes avec des réductions inégalement réparties. | **Classique** | **Flexible** | | -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | | Nous répartissons les remises de manière égale sur tous les postes d’abonnement. | Nous appliquons les remises de manière proportionnelle à chaque poste d’abonnement lors des calculs au prorata. | ## Tarification à la consommation ### Supprimez les postes à montant nul lors de l’ajout de postes à l’usage. Le mode de facturation flexible ne crée pas de postes à montant nul lorsque vous ajoutez des postes à l’usage à un abonnement. Si la facture est vide en conséquence, nous n’en générons pas. Par exemple, au moment de l’ajout d’un poste mensuel à l’usage lors de la création ou de la mise à jour d’un abonnement : | **Classique** | **Flexible** | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | | Un poste 0 USD est généré sur la facture pour le poste à l’usage. Cela s’applique également lors de la mise à jour d’un abonnement sans cycle pour ajouter un poste à l’usage lors de l’utilisation de `proration_behavior=always_invoice`. | Aucun poste 0 USD n’est ajouté à la facture pour le poste à l’usage. Si la facture qui en résulte ne contient aucun poste, nous n’en générons pas. | Cependant, cela ne s’applique pas aux factures générées lors du cycle de facturation. La facture contient tous les éléments facturés à l’usage, y compris les postes à 0 USD. ### Facturez les postes à l’usage en fonction du prix au moment du rapport Le mode de facturation flexible facture l’usage en fonction du tarif en vigueur au moment de la consommation, plutôt que du tarif le plus récent. Par exemple : 1. Initialement, le prix est de pour 100 appels à l’API (Prix A). 1. Utilisation le 5 janvier : 1000 appels à l’API 1. Le 15 janvier, le prix passe à pour 100 options d’achat (prix B). 1. Utilisation le 20 janvier : 500 appels à l’API | **Classique** | **Flexible** | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Stripe facture uniquement l’utilisation déclarée depuis le passage au tarif actuel. - 500 appels à l’API au tarif B (0.15 USD per 100 calls) = 0.75 USD Montant total de la facture = . | Stripe facture toutes les utilisations de la période en cours au tarif en vigueur au moment de la déclaration. - 1 000 appels à l’API au tarif A ( pour 100 appels) = - 500 appels à l’API au tarif B (0.15 USD per 100 calls) = 0.75 USD Montant total de la facture = . | ### Facturez l’utilisation non facturée lors de la suppression de postes à l’usage En fonction de la valeur de `proration_behavior`, le mode de facturation flexible peut générer un poste de facture pour une utilisation non facturée lors de la suppression d’un élément d’abonnement à établi. Cela s’applique aux suppressions à l’aide de l’API ou lors des transitions de phase de planification qui se produisent en milieu de période. Pour les transitions de phase qui coïncident avec n’importe quel élément d’abonnement `current_period_end`, une facture est créée avec un sous-poste de facture pour le élément d’abonnement à établi supprimé. | **Scénario** | **Classique** | **Flexible** | | ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Mettre à jour l’abonnement ou la planification à l’aide de l’API | Aucun poste de facture ni aucune facture n’est généré pour l’utilisation non facturée lors de la suppression d’un élément d’abonnement établi sur l’utilisation. | Un poste de facture est généré pour une utilisation non facturée lors de la suppression d’un poste d’abonnement à l’usage. | | Planifier la transition de phase | Une facture (mais aucun poste de facture) est générée pour l’utilisation non facturée lors de la suppression d’un élément d’abonnement établi sur l’utilisation. | En fonction du `proration_behavior` de la phase entrante : - `create_prorations` : Un poste de facture est créé pour l’utilisation non facturée lors de la suppression d’un élément d’abonnement établi sur l’utilisation. - `always_invoice` : un poste de facture pour une utilisation non facturée est créé et immédiatement facturé. - `none` : aucun poste de facture n’est créé. | ### Réinitialiser la date de début du cycle de facturation Le mode de facturation flexible réinitialise uniquement la date de [début du cycle de facturation](https://docs.stripe.com/billing/subscriptions/billing-cycle.md) lors des modifications d’abonnement si vous définissez explicitement `billing_cycle_anchor` sur une valeur autre que `unchanged`. | Classic | Flexibilité | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | | L’ancrage `billing_cycle_anchor` est automatiquement réinitialisé à la date actuelle lorsqu’un abonnement passe à un prix différent avec un intervalle récurrent différent, passe d’un prix à montant nul à un prix non nul, ou déplace [cancel_at](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-cancel_at) à une date précédant la prochaine fois que l’abonnement sera renouvelé. | La date `billing_cycle_anchor` n’est jamais réinitialisée automatiquement. | ### Facturation consolidée pour les transitions de phase de planification d’abonnement avec des postes à l’usage. Le mode de facturation flexible génère systématiquement une seule facture lors du renouvellement d’un abonnement. Ce changement élimine les factures séparées pour les éléments basés sur l’utilisation supprimés et améliore la cohérence de la facturation. Lorsque votre abonnement avec des postes à l’usage passe d’une phase à l’autre : | **Classique** | **Flexible** | | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Deux factures sont générées. | Une facture consolidée unique est générée. Cette facture inclut à la fois les postes à l’usage et sous licence, applique les réductions de la phase précédente à la facturation à l’usage et utilise les taux de taxe de la phase suivante. | ## Annulation d’un abonnement planifié ### Éviter les annulations depuis le portail client Lorsqu’un client planifie une annulation via le [portail client](https://docs.stripe.com/customer-management/cancellation-page.md), le mode de facturation flexible utilise directement `cancel_at` plutôt que `cancel_at_period_end`. Pour en savoir plus sur les différences entre `cancel_at` et `cancel_at_period_end`, consultez [le journal des modifications](https://docs.stripe.com/changelog/basil/2025-07-30/cancel-at-enums.md). | **Classique** | **Flexible** | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `cancel_at_period_end` est défini sur `true` et `cancel_at` sur l’horodatage `current_period_end`. Étant donné que `cancel_at_period_end` est défini sur `true`, `cancel_at` est mis à jour chaque fois que `current_period_end` change. | `cancel_at_period_end` est défini sur `false` et `cancel_at` sur la valeur maximale de `current_period_end` pour tous les postes d’abonnement. Lorsque le `current_period_end` d’un élément change, la date d’annulation (`cancel_at`) n’est pas mise à jour. | ### Hors prorata pour la première période de facturation tronquée Le mode de facturation flexible vous permet de désactiver les prorata pour une première période de facturation tronquée (lors de l’activation du paramètre `cancel_at` lors de la création) à l’aide du paramètre `proration_behavior` défini sur `none`. | **Classique** | **Flexible** | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | | Les calculs au prorata sont appliqués à la première période de facturation. | Les calculs au prorata ne sont pas appliqués à la première période de facturation. | ## Antidater des abonnements Lorsque l’[antidatation](https://docs.stripe.com/billing/Subscriptions/backdating.md) est compatible avec la facturation normale, le mode de facturation flexible crée des postes de facture distincts pour chaque période de facturation dans la plage antidatée. Il aligne également automatiquement la date de début du cycle de facturation sur la `backdate_start_date` lorsqu’elle n’est pas explicitement définie. L’antidatation n’est pas prise en charge si la facture résultante comporte plus de 250 postes. Par exemple, un abonnement doit être antidaté en raison d’une facture manquée pour les deux dernières périodes de facturation. Le client a été facturé pour 2 périodes antidatées différentes : - Période de facturation 1 (1er mars - 31 mars) : - Utilisation enregistrée : 100 Go de stockage utilisé. - Tarif : 10 USD pour 10 Go. Période de facturation 2 (du 1er avril au 30 avril) : - Utilisation enregistrée : 150 Go de stockage utilisé. - Tarif : 10 USD pour 10 Go. Le prestataire de services décide d’antidater la facture pour couvrir les deux périodes de facturation : Du 1er mars au 30 avril. | Classic | Flexibilité | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Les paiements pour l’ensemble de la période antidatée sont calculés collectivement sous la forme d’un poste unique. Total facturé : - 250 Go = 25 x 10 USD = 250 USD - Ce montant apparaît sous la forme d’un poste unique sur la facture. | Les plages de temps antidatées sont divisées en sous-poste de facture en fonction des limites de la période de facturation.Total débiter : - Période de facturation 1 (mars) : - 100 Go = 10 x 10 USD = 100 USD (en tant que poste distinct). - Période de facturation 2 (avril) : - 150 Go = 15 x 10 USD = 150 USD (en tant que poste distinct). | ## Périodes d’essai ### Modifier la date de début des périodes d’essai en cas d’essais ultérieurs Le mode de facturation flexible utilise la date de début de période d’essai la plus récente pour les abonnements présentant plusieurs périodes d’essai. Par exemple, lorsque vous avez : - Période d’essai du 1er janvier au 1er février - Période de facturation normale du 1er février au 1er mars - Période d’essai du 1er mars au 1er avril | **Classique** | **Flexible** | | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | | Le paramètre `subscription.trial_start` fait toujours référence à la première période d’essai d’un abonnement. | Le paramètre `subscription.trial_start` désigne la date de début de période d’essai la plus récente d’un abonnement. | ### Conserver la date de fin de l’essai initial lors de l’annulation de l’abonnement Le mode de facturation flexible préserve la valeur `trial_end` si vous modifiez la date `cancel_at`. | Classic | Flexibilité | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Le fait de paramétrer `cancel_at` à une date antérieure à la date `trial_end` modifie automatiquement le `trial_end` pour qu’il corresponde à `cancel_at`. Toutefois, la suppression de `cancel_at` ou sa modification à une date postérieure à la date `trial_end` ne modifie pas automatiquement le `trial_end`, même si le `trial_end` était à l’origine une date postérieure. | La planification d’une résiliation d’abonnement à l’aide de `cancel_at` ne modifie plus la date `trial_end`. Cela permet de s’assurer que les essais conservent la durée prévue, quelles que soient les modifications apportées à la date d’annulation. | ### Standardiser la description des postes à période d’essai Le mode de facturation flexible utilise un format de description cohérent pour les postes à l’usage et sous licence pendant les périodes d’essai. Par exemple, lorsque vous disposez d’un abonnement mensuel au café (sous licence) et d’un abonnement `hypernian_tokens` (à l’usage), la description de l’abonnement s’affiche comme suit : | **Classique** | **Flexible** | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Les postes sous licence utilisent le modèle `Trial period for {product name}`, tandis que les postes à l’usage utilisent `{quantity} x {product name} (Free trial)`. - Pour les articles à quantité prédéterminée : - `Trial period for monthly coffee subscription` - Pour les postes facturés à l’usage : - `10 x hypernian_tokens mensuels (essai gratuit)` | Le même format, `Free trial for {quantity} x {product name}`, s’applique à tous les types de postes, ce qui permet une présentation plus uniforme des informations relatives aux périodes d’essai. Ces descriptions sont également localisées. - Pour les articles à quantité prédéterminée : - `Free trial for 1 x monthly coffee subscription` - Pour les postes facturés à l’usage : - `Essai gratuit pour l’abonnement à 10 x hypernian_tokens mensuel` | ### Refacturation des postes d’essai Le mode de facturation flexible ne génère des postes que pour les modifications apportées au cours d’une période d’essai. Les postes existants non modifiés ne sont pas refacturés. Par exemple, lorsque vous effectuez une mise à jour pour ajouter un nouveau poste d’essai `price_b` à un abonnement en période d’essai au tarif `price_a` : | Classic | Flexibilité | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Les modifications apportées au cours d’une période d’essai soit ne génèrent aucune facture, soit génèrent une facture qui reprend l’intégralité de l’état de l’abonnement. | Les modifications apportées au cours d’une période d’essai se traduisent systématiquement par des éléments de poste comparables à ceux apportés en dehors de cette période. Par exemple, si un nouveau prix est ajouté à un abonnement, un poste correspondant est également créé. | ## Postes de facture en attente ### Inclure systématiquement les postes de facture en attente Le mode de facturation flexible inclut tous les postes de facture en attente disponibles dans les factures générées par une réinitialisation du début du cycle de facturation, où `proration_behavior = always_invoice`. | **Classique** | **Flexible** | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | | L’ancrage du cycle de facturation réinitialise les factures en y incluant les éléments en suspens uniquement lorsque `proration behavior` n’est pas `always_invoice`. | Les postes de facture en attente sont toujours inclus dans toutes les factures générées par un abonnement. | ## Intervalles mixtes sur le même abonnement Le mode de facturation flexible vous permet de créer [des abonnements à intervalles mixtes](https://docs.stripe.com/billing/subscriptions/mixed-interval.md), qui peuvent être facturés pour plusieurs prix récurrents avec des intervalles différents. Vous pouvez ainsi combiner différentes structures de prix au sein d’un même abonnement. | **Classique** | **Flexible** | | -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Non pris en charge. Tous les postes d’un abonnement doivent présenter des tarifs avec la même période et le même nombre d’intervalles. | Les éléments d’un [abonnement à intervalle mixte](https://docs.stripe.com/billing/subscriptions/mixed-interval.md) peuvent avoir des prix récurrents avec des intervalles ou des nombres d’intervalles différents. Par exemple, un abonnement peut comprendre un prix mensuel et un prix annuel. |