Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
Outils de développement
Démarrer
Paiements
Automatisation des opérations financières
Démarrer
Paiements
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
Aperçu
Billing
    Présentation
    À propos des API Billing
    Abonnements
      Présentation
      Démarrage rapide
      Cas d'usage
      Développer votre intégration
      Fonctionnalités d'abonnement
        Factures d'abonnements
        Planifications d'abonnements
        Tarification des abonnements
        Modèles tarifaires récurrents
        Intégrez une grille tarifaire
        Démarrer des abonnements
        Définir des quantités
        Définir des cycles de facturation
        Antidater des abonnements
        Abonnement à plusieurs articles
        Définir des périodes d'essai
        Appliquer des bons de réduction
        Migrer des abonnements vers Stripe
        Mode de calcul des crédits au prorata
        Paiements d'abonnement
        Moyens de paiement pour les abonnements
        Intégrer le traitement des paiements par des tiers
        Méthodes d'encaissement
        Partager un lien de modification des informations de paiement
        Authentification forte du client (SCA)
        Gérer les abonnements
        Modifier des abonnements
          Modifier les tarifs
          Annuler les abonnements
          Suspendre l'encaissement des paiements
          Gérer des calculs au prorata
        Gérer des mises à jour en attente
      Analyses
    Invoicing
    Facturation à la consommation
    Connect et Billing
    Tax et Billing
    Devis
    Recouvrement de revenus
    Automatisations
    Scripts
    Comptabilisation des revenus
    Gestion des clients
    Droits d'accès
    Tester votre intégration
Tax
Rapports
Données
Constitution de start-up
AccueilAutomatisation des opérations financièresBillingSubscriptionsSubscription featuresModify subscriptions

Calculs au prorata

Comment gérer les calculs au prorata pour les abonnements modifiés.

Copier la page

L’aspect le plus complexe dans la modification des abonnements existants est le calcul au prorata, où le client est débité d’un pourcentage du coût de l’abonnement correspondant à son utilisation partielle. Cette page explique comment les calculs au prorata fonctionnent avec les abonnements et comment gérer les calculs au prorata pour vos clients.

Fonctionnement des calculs au prorata

Par exemple, le passage à un abonnement supérieur ou inférieur peut générer des calculs au prorata. Si un client passe d’un abonnement à 10 USD par mois à un abonnement à 20 USD par mois, un montant au prorata correspondant au temps passé sur chaque option sera facturé. Si la modification s’est produite au milieu du cycle de facturation, le client est facturé 5 USD supplémentaires : -5 USD pour la période non consommée facturée au tarif initial et 10 USD pour la période restante facturée au nouveau tarif.

Si le calcul au prorata permet de facturer les clients de manière précise, il peut aussi entraîner des montants de paiement différents de ceux attendus. Les résultats négatifs ne sont pas automatiquement remboursés et les résultats positifs ne sont pas facturés immédiatement, bien qu’il soit possible d’effectuer ces deux actions manuellement.

Vous pouvez prévisualiser un calcul au prorata pour afficher le montant avant d’appliquer les modifications. Pour en savoir plus sur le fonctionnement des crédits au prorata, consultez notre guide.

Calculs au prorata et réductions

Tout réajustement lié à des réductions est répercuté sur le montant du poste de facture au prorata. Les réductions supplémentaires au niveau du poste de facture ou du sous-poste de facture ne s’appliquent pas aux calculs au prorata, car elles ont l’état discountable=false.

Ce comportement est différent de celui des autres types de calculs, qui affichent les réajustements des réductions dans discount_amounts.

Déclencheurs de calculs au prorata

Les scénarios suivants entraînent par défaut un calcul au prorata :

  • Remplacement du prix par un autre avec un coût de base différent
  • Remplacement du prix par un autre avec un intervalle de facturation différent
  • Ajout d’une période d’essai à un abonnement actif
  • Modification de la quantité
  • Les abonnements sous licence (par utilisateur) (car ils sont facturés au début de chaque période de facturation)

Création manuelle de vos calculs au prorata

Pour effectuer vos propres calculs au prorata en dehors de Stripe et les ajouter à l’abonnement, transmettez add_invoice_items avec des unit_amount négatifs (égaux au montant calculé au prorata) aux endpoints suivants :

  • CreateSubscription
  • UpdateSubscription
  • CreateSubscriptionSchedule
  • UpdateSubscriptionSchedule

Application des calculs au prorata

Les calculs au prorata s’appliquent uniquement aux paiements qui ont lieu en amont du cycle de facturation. La facturation à l’usage n’est pas soumise au calcul au prorata.

Le montant au prorata est calculé dès que l’API met à jour l’abonnement. Le début et la fin de la période de facturation en cours sont utilisés pour calculer le coût de l’abonnement avant et après la modification.

Taxes et calculs au prorata

Pour en savoir plus sur le fonctionnement des taxes avec les calculs au prorata, veuillez consulter la page Collecter des taxes pour les paiements récurrents.

Prévisualiser un calcul au prorata

Vous pouvez créer un aperçu de facture pour prévisualiser les modifications apportées à un abonnement. Cet appel à l’API ne modifie pas l’abonnement. Il renvoie la facture à venir uniquement en fonction des paramètres que vous transmettez. La modification du price ou de la quantity entraîne un calcul au prorata. Cet exemple modifie le price et définit une date pour le paiement au prorata.

Ruby
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
# Set proration date to this moment: proration_date = Time.now.to_i subscription = Stripe::Subscription.retrieve('sub_49ty4767H20z6a') # See what the next invoice would look like with a price switch # and proration set: items = [{ id: subscription.items.data[0].id, price: 'price_CBb6IXqvTLXp3f', # Switch to new price }] invoice = Stripe::Invoice.create_preview({ customer: 'cus_4fdAW5ftNQow1a', subscription: 'sub_49ty4767H20z6a', subscription_details: { items: items, proration_date: proration_date, } })

Vous pouvez développer l’exemple de réponse ci-dessous pour afficher :

  • Le crédit pour la période non consommée facturée au tarif précédent aux lignes 36-38.
  • Le coût pour la période écoulée au nouveau tarif aux lignes 107-109.
  • Le nouveau sous-total et total de la facture aux lignes 276-279.
{ "id": "upcoming_in_1OujwkClCIKljWvsq5v2ICAN", "account_country": "US", "account_name": "Test account", "amount_due": 3627, "amount_paid": 0, "amount_remaining": 3627, "application_fee_amount": null, "attempt_count": 0, "attempted": false,

Utilisez ces informations pour confirmer les modifications avec le client avant de modifier l’abonnement. Stripe effectue le calcul au prorata à la seconde près, les montants calculés au prorata peuvent donc varier entre le moment où ils sont prévisualisés et le moment où la mise à jour est effectuée. Pour éviter cette situation, ajoutez subscription_proration_date à la facture lorsque vous prévisualisez une modification. Lorsque vous mettez à jour l’abonnement, transmettez la même date avec le paramètre proration_date dans un abonnement, afin que le montant au prorata soit calculé au même moment.

Ruby
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
subscription = Stripe::Subscription.update( 'sub_49ty4767H20z6a', { items: [ { id: subscription.items.data[0].id, price: 'price_CBb6IXqvTLXp3f', }, ], proration_date: proration_date, } )

Contrôler le comportement des calculs au prorata

Le calcul au prorata est contrôlé par le paramètre proration_behavior, qui propose trois options de paramétrages possibles : create_prorations, always_invoice et none.

Comportement par défaut

Le paramètre par défaut de proration_behavior est create_prorations’, ce qui permet de créer des postes de facture au prorata, le cas échéant. Ces postes au prorata ne sont facturés immédiatement que sous certaines conditions.

Créer des calculs au prorata immédiats

Pour facturer immédiatement un client en cas de modification d’un abonnement au cours du même cycle de facturation, définissez proration_behavior sur always_invoice. Le système effectue le calcul au prorata, puis génère immédiatement une facture.

Désactiver les calculs au prorata

Pour désactiver les calculs au prorata par requête, définissez le paramètre proration_behavior sur none. Il n’existe aucun paramètre qui désactive tous les calculs au prorata futurs pour un abonnement. Pour désactiver les calculs au prorata indéfiniment, définissez proration_behavior sur none pour chaque requête générant des calculs au prorata :

Command Line
curl
curl https://api.stripe.com/v1/subscriptions/sub_49ty4767H20z6a \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "items[0][id]"="si_1AkFf6LlRB0eXbMtRFjYiJ0J" \ -d "items[0][price]"="price_CBb6IXqvTLXp3f" \ -d "proration_behavior"="none"

Lorsque les calculs au prorata sont désactivés, les clients doivent payer le montant total au nouveau tarif lors de la génération de la facture suivante.

Cette page vous a-t-elle été utile ?
OuiNon
Besoin d'aide ? Contactez le service Support.
Rejoignez notre programme d'accès anticipé.
Consultez notre log des modifications.
Des questions ? Contactez l'équipe commerciale.
LLM ? Lire llms.txt.
Propulsé par Markdoc