> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Credit-Based Billing

> Issue, manage, and track credit entitlements across subscriptions, one-time products, and usage-based billing with rollover, overage, and expiration controls.

<Frame>
  <iframe className="w-full aspect-video rounded-md" src="https://www.youtube.com/embed/4RR3Yj3Qeuw" title="Credit-Based Billing Tutorial" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />
</Frame>

<Info>
  La facturation basée sur le crédit vous permet d'accorder aux clients un solde de crédits - appels API, jetons, unités de calcul ou toute métrique personnalisée - et de déduire de ce solde à mesure qu'ils consomment votre service. Les crédits fonctionnent pour tous les types de produits : abonnements, achats uniques et facturation basée sur l'utilisation.
</Info>

## Qu'est-ce que la facturation basée sur le crédit ?

La facturation basée sur le crédit vous offre un système flexible pour émettre des droits de crédit aux clients dans le cadre de vos produits. Au lieu de facturer par utilisation ou de limiter l'accès via des drapeaux de fonctionnalité, vous attribuez un pool de crédits dont les clients se servent en utilisant votre service.

Les crédits sont idéaux pour :

* **Plateformes AI et LLM** : Accorder des jetons ou des crédits de génération par niveau de plan
* **Services API** : Allouer des crédits d'appel API avec des tarifs de dépassement
* **Plateformes d'infrastructure** : Émettre des heures de calcul ou des crédits de stockage
* **Services de communication** : Fournir des crédits de message ou de minute par abonnement
* **SaaS avec niveaux de consommation** : Regrouper l'utilisation incluse dans des pools de crédits

<Frame caption="Credits appear as entitlements on your products and show in checkout, customer portal, and subscription details.">
  <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Checkout.png?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=21880df0e4b0b1a3cb8593dbeb8ae343" alt="Caisse montrant les crédits inclus avec l'achat du produit" style={{ maxHeight: '500px', width: 'auto' }} width="1440" height="960" data-path="images/CBB/Checkout.png" />
</Frame>

## Concepts principaux

### Types de crédits

Lors de la création d'un crédit, vous choisissez entre deux types :

<Tabs>
  <Tab title="Custom Unit">
    Définissez les crédits dans votre propre unité - jetons, appels API, heures de calcul ou toute métrique significative pour votre produit. Les unités personnalisées utilisent la précision que vous avez définie (0 à 3 décimales).

    **Idéal pour** : appels API, jetons AI, heures de calcul, unités de stockage, messages
  </Tab>

  <Tab title="Fiat Credits">
    Les crédits représentent une valeur monétaire réelle (par exemple, USD, EUR). Les clients reçoivent un solde de crédit monétaire qui diminue à mesure qu'ils utilisent votre service au tarif que vous avez défini.

    **Idéal pour** : soldes prépayés, crédits promotionnels, compensation de service
  </Tab>
</Tabs>

### Cycle de vie des crédits

Les crédits suivent un cycle de vie clair de leur émission à leur consommation :

<Steps>
  <Step title="Credits Issued">
    Les crédits sont accordés lorsqu'un client achète un produit (abonnement ou achat unique) avec des droits de crédit attachés. Pour les abonnements, les crédits sont réémis à chaque cycle de facturation.
  </Step>

  <Step title="Credits Consumed">
    À mesure que les clients utilisent votre service, les crédits sont déduits. Pour les produits basés sur l'utilisation, des compteurs déduisent automatiquement les crédits en fonction des événements en temps réel. Vous pouvez également déduire les crédits manuellement via le tableau de bord ou l'API.
  </Step>

  <Step title="Credits Expire or Roll Over">
    À la fin du cycle de facturation (ou après la période d'expiration configurée), les crédits inutilisés expirent ou sont reportés à la période suivante en fonction de vos paramètres.
  </Step>

  <Step title="Overage Handling">
    Si les crédits s'épuisent en milieu de cycle, vous pouvez autoriser un dépassement (utilisation continue au-delà du solde) et choisir comment il est traité - le pardonner, le facturer ou reporter le déficit.
  </Step>
</Steps>

### Sources d'octroi

Les crédits peuvent être accordés à partir de plusieurs sources :

| Source           | Description                                                                   |
| ---------------- | ----------------------------------------------------------------------------- |
| **Abonnement**   | Crédits émis avec l'achat d'un abonnement, réémis chaque cycle de facturation |
| **Achat unique** | Crédits émis avec un produit de paiement unique                               |
| **API**          | Crédits accordés manuellement via API ou tableau de bord                      |
| **Report**       | Crédits reportés d'un cycle de facturation précédent                          |

***

## Création de crédits

Créez des droits de crédit dans la section **Produits → Crédits** de votre tableau de bord. Chaque crédit définit l'unité, la précision, les règles d'expiration et le comportement de cycle de vie.

<Frame caption="The Credits tab under Products shows all your credit entitlements.">
  <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Entitlements%20%20-%20Credits.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=f9f30f473d342657d3f0f857e53b2e85" alt="Page de liste des crédits montrant les droits de crédit créés" style={{ maxHeight: '500px', width: 'auto' }} width="3354" height="2004" data-path="images/CBB/Desktop - Entitlements  - Credits.jpg" />
</Frame>

<Steps>
  <Step title="Navigate to Credits">
    Accédez à **Produits** dans votre tableau de bord et sélectionnez l'onglet **Crédits**. Cliquez sur **Créer un crédit** pour commencer.
  </Step>

  <Step title="Configure Basic Information">
    Entrez un **Nom de Crédit** - il s'agit de votre identifiant interne pour le crédit.

    <Frame caption="The credit creation form with all configuration sections.">
      <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Create%20Credit.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=0c59e6b6eb4cfd76a545b39fb1f5c19e" alt="Formulaire de création de crédit montrant les informations de base, les paramètres généraux et les paramètres d'abonnement" style={{ maxHeight: '500px', width: 'auto' }} width="1919" height="954" data-path="images/CBB/Desktop - Create Credit.jpg" />
    </Frame>
  </Step>

  <Step title="Set General Settings">
    Configurez le type de crédit et les propriétés d'affichage :

    <ParamField path="Credit Type" type="string" required>
      Choisissez **Unité Personnalisée** ou **Crédits Fiat**.

      * **Unité Personnalisée** - Définissez votre propre métrique (jetons, appels API, heures de calcul). Nécessite un **Nom d'Unité** (par exemple, "Jetons plateforme") et un réglage de **Précision**.
      * **Crédits Fiat** - Les crédits représentent une valeur monétaire réelle. Nécessite une sélection de **Devise Unitaire** (USD, EUR, GBP, INR, etc.).
    </ParamField>

    <ParamField path="Unit Name" type="string">
      Uniquement pour les crédits d'Unité Personnalisée. L'étiquette que les clients voient pour ce crédit (par exemple, "Jetons AI", "Appels API"). Affiché à la caisse et dans le portail client.
    </ParamField>

    <ParamField path="Precision" type="number">
      Uniquement pour les crédits d'Unité Personnalisée. Nombre de décimales autorisées :

      * `0` - Nombres entiers (idéal pour les éléments comptables comme les appels API)
      * `1` - Une décimale (0,0)
      * `2` - Deux décimales (0,00) - **par défaut**
      * `3` - Trois décimales (0,000)

      <Warning>
        La précision ne peut pas être modifiée après la création du crédit.
      </Warning>
    </ParamField>

    <ParamField path="Credit Expiry" type="string">
      Durée de validité des crédits après émission :

      * **7 jours**, **30 jours** (par défaut), **60 jours**, **90 jours**, **Personnalisé**, ou **Jamais**

      Sélectionnez **Personnalisé** pour spécifier un nombre de jours personnalisé (minimum 1).
    </ParamField>
  </Step>

  <Step title="Configure Subscription Settings (Optional)">
    Ces réglages contrôlent le comportement des crédits dans le cadre des abonnements récurrents :

    <ParamField path="Rollover" type="boolean">
      Permettre aux crédits inutilisés d'être reportés au prochain cycle de facturation. Lorsque activé, configurez :

      * **Pourcentage de Report Max** (0 à 100%) - Limitez combien est reporté
      * **Durée de Validité du Report** - Durée de validité des crédits reportés (par exemple, 1 Mois)
      * **Nombre Max de Reports** - Nombre maximum de reports consécutifs avant que les crédits ne soient perdus
    </ParamField>

    **Lorsque les crédits s'épuisent ou que l'abonnement expire :**

    <ParamField path="Allow Overage" type="boolean">
      Laissez les clients continuer à utiliser votre service après que leur solde de crédit atteigne zéro. Lorsque activé, configurez :

      * **Limite de Dépassement** - Crédits maximum que les clients peuvent consommer au-delà de leur solde
      * **Prix par Unité** - Coût par crédit supplémentaire lorsque le dépassement est activé (avec sélection de devise)
    </ParamField>

    <ParamField path="Overage Behavior" type="string" required>
      Contrôle la façon dont le dépassement est géré à la fin du cycle de facturation :

      * **Pardonner le dépassement à la réinitialisation** (par défaut) - L'utilisation au-delà de la limite de crédit est suivie mais non facturée. Le solde se réinitialise chaque cycle.
      * **Facturer le dépassement à la facturation** - L'utilisation au-delà de la limite de crédit est facturée à la prochaine facture, puis le solde se réinitialise.
      * **Reporter le déficit** - L'utilisation au-delà de la limite de crédit est reportée comme solde négatif dans le cycle suivant.
      * **Reporter le déficit (remboursement automatique)** - Le déficit est reporté et remboursé automatiquement à partir de nouveaux crédits dans le cycle suivant.
    </ParamField>
  </Step>

  <Step title="Create Credit">
    Cliquez sur **Créer un Crédit** pour enregistrer. Le crédit est maintenant disponible pour être attaché à n'importe quel produit.

    <Check>
      Votre droit de crédit est prêt. Attachez-le aux produits pour commencer à émettre des crédits aux clients.
    </Check>
  </Step>
</Steps>

<Tip>
  Commencez avec des paramètres simples - pas de report, pas de dépassement - et ajoutez de la complexité à mesure que vous apprenez comment les clients utilisent les crédits. La plupart des paramètres peuvent être mis à jour à tout moment sans affecter les droits existants. Notez que **la précision ne peut pas être modifiée** après la création d'un crédit.
</Tip>

***

## Attacher des crédits aux produits

Les crédits sont attachés aux produits en tant que **droits** dans le flux de création ou de modification de produit. Vous pouvez attacher jusqu'à **5 crédits par produit**. Les crédits fonctionnent avec les trois types de tarification.

### Produits d'abonnement

Pour les abonnements, les crédits sont émis **par cycle de facturation** et peuvent être configurés avec proration, crédits d'essai et paramètres spécifiques au cycle.

<Steps>
  <Step title="Create or Edit a Subscription Product">
    Accédez à **Produits → Créer Produit** ou modifiez un produit existant. Sélectionnez **Abonnement** comme type de tarification et configurez votre tarif récurrent.
  </Step>

  <Step title="Open Entitlements Section">
    Développez la section **Droits** et cliquez sur le bouton **Attacher** à côté de **Crédits**.

    <Frame caption="The Entitlements section in the product form with Credits, License Key, and Digital Product Delivery options.">
      <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Attach%20Credit%20-%20Subscription.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=fb404b5c706ae200079742965a176605" alt="Section des droits de produit montrant le bouton d'attachement des crédits" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1920" data-path="images/CBB/Desktop - Attach Credit - Subscription.jpg" />
    </Frame>
  </Step>

  <Step title="Select Credits to Attach">
    Un panneau **Ajouter des Crédits** s'ouvre. Vous pouvez sélectionner un crédit existant dans le menu déroulant ou cliquer sur **Créer un nouveau crédit** pour en définir un sur-le-champ.

    <Frame caption="The Add Credits panel lets you select existing credits or create new ones.">
      <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Attach%20Credit%20-%20Subscription-2.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=d67a2a18c7a550c8cf1e8378bd5514dc" alt="Panneau Ajouter des crédits avec menu déroulant de sélection de crédit" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1920" data-path="images/CBB/Desktop - Attach Credit - Subscription-2.jpg" />
    </Frame>

    <Info>
      Vous pouvez attacher jusqu'à 5 crédits par produit. Chaque crédit peut avoir sa propre configuration.
    </Info>
  </Step>

  <Step title="Configure Credit Settings">
    Pour chaque crédit attaché, configurez :

    <ParamField path="Credits issued per billing cycle" type="number" required>
      Le nombre de crédits accordés au client chaque période de facturation.
    </ParamField>

    <ParamField path="Low Balance Threshold" type="number">
      Notifier lorsque les crédits tombent en dessous de ce montant. Utile pour alerter les clients avant qu'ils ne soient à court.
    </ParamField>

    <ParamField path="Credits During Free Trial" type="number">
      Définir un montant de crédit différent pour les périodes d'essai. Activer **Expire les crédits d'essai après la fin de l'essai** pour révoquer les crédits d'essai inutilisés lorsque l'essai se convertit en abonnement payant.
    </ParamField>

    <ParamField path="Allow Proration" type="boolean">
      Prorater les crédits restants lorsqu'un client met à niveau ou rétrograde son plan d'abonnement.
    </ParamField>

    <ParamField path="Import Default Credit Settings" type="boolean">
      Utilisez les paramètres par défaut de report, de dépassement et d'expiration du droit de crédit. Désactivez pour personnaliser les paramètres spécifiquement pour ce produit.
    </ParamField>

    <Frame caption="Credit configuration showing per-cycle amount, trial credits, proration, and custom settings.">
      <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Attach%20Credit%20-%20Subscription-4.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=68e212dddbec73131cf9f75bf5b55408" alt="Formulaire de configuration des crédits avec cycle de facturation, période d'essai et paramètres de proration" style={{ maxHeight: '500px', width: 'auto' }} width="1800" height="1842" data-path="images/CBB/Desktop - Attach Credit - Subscription-4.jpg" />
    </Frame>
  </Step>

  <Step title="Review and Add">
    Passez en revue le crédit attaché affichant le nom, le montant et l'expiration. Cliquez sur **Ajouter à l'abonnement** pour confirmer.

    <Frame caption="Review attached credits before adding them to the subscription.">
      <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Attach%20Credit%20-%20Subscription-5.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=7d8a21560061c15cc8544831a59793e2" alt="Panneau Ajouter des crédits montrant les crédits sélectionnés avec détails" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1920" data-path="images/CBB/Desktop - Attach Credit - Subscription-5.jpg" />
    </Frame>
  </Step>
</Steps>

### Produits de paiement unique

Pour les paiements uniques, les crédits sont émis **une seule fois** au moment de l'achat.

<Steps>
  <Step title="Create a One-Time Product">
    Créez un produit avec un type de tarification **Paiement Unique**.

    <Frame caption="Single Payment pricing selected for a one-time credit product.">
      <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Attach%20Credit%20-%20OTP.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=1743cb3e515952f9d4b1b2782cebac8b" alt="Section des prix du produit avec Paiement unique sélectionné" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1920" data-path="images/CBB/Desktop - Attach Credit - OTP.jpg" />
    </Frame>
  </Step>

  <Step title="Attach Credits">
    Ouvrez la section **Droits** et attachez les crédits. Configurez le **nombre de crédits émis** (octroi total unique) à l'achat.
  </Step>
</Steps>

<Tip>
  Les produits de crédit unique sont idéaux pour les packs de rechargement de crédits, les lots promotionnels, ou les achats de crédits prépayés.
</Tip>

### Produits de facturation basés sur l'utilisation

Pour les produits basés sur l'utilisation, les crédits sont **liés aux compteurs** et automatiquement déduits en fonction des événements de consommation en temps réel.

<Steps>
  <Step title="Create a Usage-Based Product">
    Sélectionnez **Facturation Basée sur l'Utilisation** comme type de tarification. Configurez le prix de base et la fréquence de facturation.

    <Frame caption="Usage Based Billing pricing type with meter configuration.">
      <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Attach%20Credit%20-%20UBB.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=41b2862c12d126e7843098307e27e137" alt="Configuration de tarification basée sur l'utilisation" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1920" data-path="images/CBB/Desktop - Attach Credit - UBB.jpg" />
    </Frame>
  </Step>

  <Step title="Add a Meter">
    Cliquez sur le bouton **+** dans la section **Sélectionner le compteur** pour ajouter un compteur. Un abonnement peut avoir jusqu'à **3 compteurs**.

    <Frame caption="The Select Meter panel with meter configuration and credit toggle.">
      <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Attach%20Credit%20-%20UBB-3.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=3f677352783684107eaa7e568d9352e2" alt="Panneau Sélectionner un compteur montrant le seuil gratuit et le basculement des crédits" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1920" data-path="images/CBB/Desktop - Attach Credit - UBB-3.jpg" />
    </Frame>
  </Step>

  <Step title="Enable Credit Billing on the Meter">
    Activez **Facturer l'utilisation en Crédits** pour attacher un crédit au compteur. Sélectionnez le droit de crédit dans le menu déroulant.

    <ParamField path="Free Threshold" type="number" required>
      Le nombre d'unités qui sont gratuites avant que la déduction de crédit ne commence.
    </ParamField>

    <ParamField path="Bill usage in Credits" type="boolean">
      Lorsqu'il est activé, l'utilisation du compteur déduit du solde de crédit du client au lieu de facturer par unité.
    </ParamField>

    <ParamField path="Meter units per credit" type="number" required>
      Le nombre d'unités d'utilisation requis pour déduire 1 crédit. Par exemple, si défini à `1000`, alors 1 000 appels API consomment 1 crédit.
    </ParamField>

    <Frame caption="Credit attached to a meter with per-unit conversion rate.">
      <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Attach%20Credit%20-%20UBB-5.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=b4ef2fe5079cbf3bb39eb3814f101cbd" alt="Configuration du compteur avec sélection de crédits et unités de compteur par crédit" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="2282" data-path="images/CBB/Desktop - Attach Credit - UBB-5.jpg" />
    </Frame>
  </Step>

  <Step title="Configure Credit Issuance">
    Définissez le nombre de crédits émis et éventuellement personnaliser les paramètres de crédit pour ce produit.

    <Frame caption="Configure how many credits to issue and whether to use default settings.">
      <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Attach%20Credit%20-%20UBB-6.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=22e99c54f11305a24d63c77e09a4650c" alt="Configuration de crédits pour le produit UBB" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1920" data-path="images/CBB/Desktop - Attach Credit - UBB-6.jpg" />
    </Frame>
  </Step>

  <Step title="Verify Attachment">
    Une fois configuré, le compteur montre le nom du crédit attaché, le prix unitaire et le seuil gratuit.

    <Frame caption="Meter with credit attached showing price, threshold, and credit name.">
      <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Attach%20Credit%20-%20UBB-1.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=d1a68ef9f07872b1dc9d2b2a655df0a4" alt="Compteur configuré montrant les détails de l'attachement des crédits" style={{ maxHeight: '500px', width: 'auto' }} width="3220" height="1830" data-path="images/CBB/Desktop - Attach Credit - UBB-1.jpg" />
    </Frame>
  </Step>
</Steps>

<Info>
  Lorsque les crédits sont liés aux compteurs, le système déduit automatiquement les crédits en fonction des événements d'utilisation ingérés. Un travailleur en arrière-plan traite les événements chaque minute, les agrège selon la configuration du compteur, et applique une déduction FIFO (premier entré, premier sorti) à partir des subventions non expirées les plus anciennes du client.
</Info>

***

## Paramètres des crédits

### Report

Le report permet aux crédits inutilisés de se reporter au cycle de facturation suivant au lieu d'expirer.

| Réglage                         | Description                                                                                                                       |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| **Report Activé**               | Basculer pour autoriser les crédits inutilisés à être reportés                                                                    |
| **Pourcentage de Report Max**   | Limitez combien est reporté (0 à 100%). À 50%, seulement la moitié des crédits inutilisés est reportée                            |
| **Durée de Validité du Report** | Durée de validité des crédits reportés (jour, semaine, mois, an)                                                                  |
| **Nombre Max de Reports**       | Nombre maximum de fois où les crédits peuvent être reportés consécutivement. Après cette limite, les crédits restants sont perdus |

**Exemple** : Un client a 200 crédits inutilisés à la fin du cycle. Avec 75% de report, 150 crédits sont reportés et 50 sont perdus.

### Dépassement

Le dépassement contrôle ce qui se passe lorsque le solde de crédit d'un client atteint zéro en milieu de cycle.

| Réglage                         | Description                                                                                       |
| ------------------------------- | ------------------------------------------------------------------------------------------------- |
| **Autoriser le Dépassement**    | Basculer pour laisser les clients continuer à utiliser le service au-delà de leur solde de crédit |
| **Limite de Dépassement**       | Crédits maximum que les clients peuvent consommer au-delà de leur solde                           |
| **Prix par Unité**              | Coût par crédit supplémentaire consommé en tant que dépassement (avec devise)                     |
| **Comportement du Dépassement** | Contrôle ce qui arrive au dépassement à la fin du cycle de facturation (voir ci-dessous)          |

**Options de Comportement du Dépassement :**

| Comportement                                        | Description                                                                                                      |
| --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| **Pardonner le dépassement à la réinitialisation**  | L'utilisation au-delà de la limite de crédit est suivie mais non facturée. Le solde se réinitialise chaque cycle |
| **Facturer le dépassement à la facturation**        | L'utilisation au-delà de la limite de crédit est facturée à la prochaine facture, puis le solde se réinitialise  |
| **Reporter le déficit**                             | Le dépassement est reporté comme solde négatif dans le cycle suivant                                             |
| **Reporter le déficit (remboursement automatique)** | Le déficit est reporté et remboursé automatiquement à partir de nouveaux crédits dans le cycle suivant           |

<Info>
  Lorsque le dépassement est désactivé, les clients ne peuvent plus utiliser le service une fois que leur solde de crédit atteint zéro. Choisissez un comportement de dépassement qui correspond à votre modèle de facturation - **Pardonner à la réinitialisation** est l'option par défaut et la plus simple.
</Info>

### Expiration

| Réglage                                          | Description                                                                                        |
| ------------------------------------------------ | -------------------------------------------------------------------------------------------------- |
| **Expiration des Crédits**                       | Durée après émission avant que les crédits expirent (7, 30, 60, 90, jours personnalisés ou jamais) |
| **Expiration des Crédits d'Essai Après l'Essai** | Si les crédits spécifiques à l'essai expirent lorsque la période d'essai se termine                |

<Info>
  Les crédits expirés créent une entrée de registre `CreditExpired`. Si le report est activé, le pourcentage de report est appliqué avant l'expiration, et seul le reste expire.
</Info>

***

## Facturation à l'utilisation avec des crédits

Lorsque les crédits sont liés aux compteurs d'utilisation, le système crée un modèle de facturation basé sur la consommation puissant. Les clients reçoivent une allocation de crédits, et les événements d'utilisation déduisent automatiquement de leur solde.

<Frame caption="The Usage Billing dashboard shows meter events with units consumed, credits consumed, and customer details.">
  <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Usage%20Billing.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=de8c5992d0ae59e74bbb8a840e07454f" alt="Tableau de bord de facturation à l'utilisation montrant le tableau d'événements avec crédits consommés" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1920" data-path="images/CBB/Desktop - Usage Billing.jpg" />
</Frame>

### Comment fonctionne la déduction des crédits basée sur les compteurs

1. **Votre application envoie des événements d'utilisation** - Chaque événement comprend un ID client, un nom d'événement et des métadonnées
2. **Les compteurs agrègent les événements** - En utilisant l'agrégation Count, Sum, Max ou Last
3. **Les crédits sont déduits automatiquement** - Un travailleur en arrière-plan traite les événements chaque minute, convertit les unités de compteur en crédits en utilisant votre taux configuré, et déduit du solde du client en utilisant l'ordre FIFO (les plus anciens d'abord)
4. **Le dépassement est suivi** - Si le solde des crédits atteint zéro et que le dépassement est activé, le système suit l'utilisation du dépassement pour la facturation en fin de cycle

### Panneau des compteurs

Le tableau de bord de facturation à l'utilisation inclut un panneau **Compteurs** listant tous les compteurs définis avec leur type d'agrégation :

| Agrégation | Description                       | Exemple                                   |
| ---------- | --------------------------------- | ----------------------------------------- |
| **Count**  | Nombre total d'événements         | Appels API                                |
| **Sum**    | Somme d'un champ de valeur        | Total des octets transférés               |
| **Max**    | Valeur la plus élevée enregistrée | Nombre maximal d'utilisateurs concurrents |
| **Last**   | Valeur la plus récente            | Stockage actuel utilisé                   |

***

## Expérience client

### Caisse

Lorsqu'un client achète un produit avec des crédits attachés, la page de caisse affiche les crédits inclus comme partie de l'offre du produit.

<Frame caption="Checkout shows included credits with the product, making the value proposition clear.">
  <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Checkout.png?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=21880df0e4b0b1a3cb8593dbeb8ae343" alt="Page de caisse montrant le produit avec crédits d'appels API inclus" style={{ maxHeight: '500px', width: 'auto' }} width="1440" height="960" data-path="images/CBB/Checkout.png" />
</Frame>

Les crédits apparaissent dans une section **Inclus** sous la description du produit, montrant le montant et le type de crédit (par exemple, "1000 \$ d'appels API").

### Portail client

Les clients peuvent voir et gérer leurs soldes de crédits dans le Portail Client sous la section **Crédits**.

<Frame caption="The Customer Portal shows available balance and full transaction history.">
  <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Customer%20Portal.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=b8afe1f89242f9e347b26b990dd00fe8" alt="Vue du portail client des crédits avec solde et historique des transactions" style={{ maxHeight: '500px', width: 'auto' }} width="3016" height="2030" data-path="images/CBB/Customer Portal.jpg" />
</Frame>

Le portail affiche :

* **Solde Disponible** - Solde de crédit actuel affiché en évidence
* **Onglets de Crédit** - Basculer entre différents types de crédits (par exemple, "Crédits OpenAI", "Jetons d'utilisation")
* **Transactions Récentes** - Historique complet avec date, ID de transaction, type, montant et solde courant

Les types de transaction montrés aux clients incluent :

| Type                        | Description                                                    | Montant   |
| --------------------------- | -------------------------------------------------------------- | --------- |
| **Crédits avec Abonnement** | Crédits émis avec l'achat/renouvellement d'abonnement          | Vert (+)  |
| **Crédits Uniques**         | Crédits provenant d'achats uniques ou de subventions manuelles | Vert (+)  |
| **Déduction d'Utilisation** | Crédits consommés via l'utilisation du service                 | Rouge (-) |
| **Dépassement**             | Utilisation au-delà du solde de crédit                         | Rouge (-) |

### Détails de l'abonnement

La page des détails de l'abonnement montre les droits de crédit à côté d'autres informations du plan.

<Frame caption="Subscription details show credit allocation, remaining balance, and renewal date.">
  <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Subscription%20Details.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=059f57f8996c1f514b9d7eba1ef6e33a" alt="Page des détails de l'abonnement montrant les droits et l'historique d'utilisation" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1984" data-path="images/CBB/Desktop - Subscription Details.jpg" />
</Frame>

Informations clés affichées :

* **Allocation de crédit** par cycle de facturation (par exemple, "1000 crédits chaque cycle")
* **Solde restant** (par exemple, "7500 crédits restants")
* **Date de renouvellement** pour la prochaine émission de crédits
* **Historique d'Utilisation** avec récapitulatif par compteur montrant les unités consommées, les seuils, les prix unitaires et les coûts totaux

### Détails des transactions

Les pages des transactions de paiement incluent une section **Droits** montrant tous les droits délivrés avec le paiement, y compris les crédits.

<Frame caption="Transaction details show credits alongside other entitlements like license keys and digital downloads.">
  <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Transactions%20-%20Payment%20Summary.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=dccb0ada7682ead4493baf71199a86fb" alt="Page des détails de la transaction montrant les droits de crédit" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="2752" data-path="images/CBB/Desktop - Transactions - Payment Summary.jpg" />
</Frame>

***

## Gestion des crédits

### Vues du tableau de bord

#### Liste des droits de crédit

Voir tous vos droits de crédit dans **Produits → Crédits**. Le tableau montre le nom du crédit, les paramètres d'expiration et fournit des actions rapides pour éditer ou archiver.

<Frame caption="Credits listing with total count, creation button, and management actions.">
  <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Entitlements%20%20-%20Credits.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=f9f30f473d342657d3f0f857e53b2e85" alt="Page de liste des crédits dans la section Produits" style={{ maxHeight: '500px', width: 'auto' }} width="3354" height="2004" data-path="images/CBB/Desktop - Entitlements  - Credits.jpg" />
</Frame>

#### Détails des crédits du client

Consultez les soldes de crédits et l'historique des transactions d'un client spécifique depuis **Clients → \[Nom du client] → Crédits**.

<Frame caption="Customer detail page showing credit balance and full transaction ledger.">
  <img src="https://mintcdn.com/dodopayments/ibNfoFRyCIGyt3pO/images/CBB/Desktop%20-%20Customer%20Details.jpg?fit=max&auto=format&n=ibNfoFRyCIGyt3pO&q=85&s=a52e7e914338d698bf72498821f6a8b6" alt="Page des détails du client avec l'onglet Crédits montrant le solde et les transactions" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1920" data-path="images/CBB/Desktop - Customer Details.jpg" />
</Frame>

La vue des crédits du client inclut :

* **Sélecteur de Crédit** - Basculer entre différents droits de crédit
* **Solde Disponible** - Solde actuel en grand affichage
* **Appliquer Crédit/Débit** - Bouton pour ajuster manuellement le solde du client
* **Transactions Récentes** - Registre complet avec date, ID de transaction, type, montant et solde courant

### Ajustements manuels

Vous pouvez créditer ou débiter manuellement le solde d'un client directement depuis le tableau de bord :

<Steps>
  <Step title="Navigate to Customer">
    Allez dans **Clients** et sélectionnez le client.
  </Step>

  <Step title="Open Credits Tab">
    Cliquez sur l'onglet **Crédits** et sélectionnez le droit de crédit approprié dans le sélecteur de portefeuille.
  </Step>

  <Step title="Apply Credit or Debit">
    Cliquez sur **Appliquer Crédit/Débit** pour ouvrir l'interface d'ajustement.

    <ParamField path="Transaction Type" type="string" required>
      Sélectionnez **Crédit** pour ajouter des crédits ou **Débit** pour retirer des crédits du solde du client.
    </ParamField>

    <ParamField path="Amount" type="number" required>
      Le nombre de crédits à ajouter ou retirer.
    </ParamField>

    <ParamField path="Reason" type="string">
      Explication optionnelle pour l'ajustement (par exemple, "Compensation de service", "Bonus promotionnel").
    </ParamField>
  </Step>

  <Step title="Confirm">
    Passez en revue et appliquez l'ajustement. Le changement est immédiatement reflété dans le solde du client et enregistré dans le registre des crédits.

    <Check>
      Les ajustements manuels créent une entrée de registre `ManualAdjustment` avec piste de vérification complète.
    </Check>
  </Step>
</Steps>

### Registre des Crédits

Chaque opération de crédit est enregistrée dans le registre des crédits, fournissant une piste d'audit complète :

| Type de Transaction      | Description                                                         |
| ------------------------ | ------------------------------------------------------------------- |
| **Crédit Ajouté**        | Crédits accordés (abonnement, paiement unique ou API)               |
| **Crédit Déduit**        | Crédits consommés par utilisation ou débit manuel                   |
| **Crédit Expiré**        | Crédits expirés sans report                                         |
| **Crédit Reporté**       | Crédits reportés à la période suivante                              |
| **Report Perdu**         | Crédits reportés perdus après la limite maximale de report atteinte |
| **Dépassement Facturé**  | Utilisation au-delà du solde de crédit avec dépassement activé      |
| **Recharge Automatique** | Renouvellement automatique du crédit à bas solde                    |
| **Ajustement Manuel**    | Crédit ou débit appliqué manuellement par le marchand               |
| **Remboursement**        | Crédits remboursés                                                  |

Chaque entrée de registre enregistre le solde avant et après la transaction, le dépassement avant et après, une description et une référence à la source (paiement, abonnement, etc.).

***

## Webhooks

La facturation basée sur le crédit déclenche des événements webhook pour chaque changement de cycle de vie de crédit. Utilisez-les pour synchroniser votre application avec les soldes de crédits, déclencher des notifications, ou construire des workflows de facturation personnalisés.

| Événement                   | Description                                       |
| --------------------------- | ------------------------------------------------- |
| `credit.added`              | Crédits accordés à un client                      |
| `credit.deducted`           | Crédits consommés par utilisation ou débit manuel |
| `credit.expired`            | Crédits inutilisés expirés                        |
| `credit.rolled_over`        | Crédits reportés à une nouvelle subvention        |
| `credit.rollover_forfeited` | Crédits perdus à la limite maximale de report     |
| `credit.overage_charged`    | Charges de dépassement appliquées                 |
| `credit.manual_adjustment`  | Ajustement manuel de crédit/débit réalisée        |
| `credit.balance_low`        | Solde tombé en dessous du seuil configuré         |

Tous les événements du grand livre (`credit.added` à `credit.manual_adjustment`) comprennent la charge utile complète `CreditLedgerEntry` avec le solde avant/après, le surplus avant/après, la référence de la source, et le `metadata` de la souscription ou du paiement source de la subvention (vide pour les subventions créées directement via l'API). L'événement `credit.balance_low` inclut la configuration du seuil et le solde actuel.

<Card title="Credit Webhook Payloads" icon="bell" href="/developer-resources/webhooks/intents/credit">
  Voir les schémas de charge utile complets, les descriptions de champ, et des exemples d'intégration pour tous les événements webhook de crédit.
</Card>

***

## Gestion API

<AccordionGroup>
  <Accordion title="Create Credit Entitlements">
    Utilisez l'API pour créer des droits de crédit de manière programmatique avec un contrôle total sur les paramètres de report, de dépassement, et d'expiration.

    <CardGroup cols={2}>
      <Card title="Create Credit Entitlement" icon="plus" href="/api-reference/credit-entitlements/create-credit-entitlement">
        Créez un nouveau droit de crédit avec configuration de report, de dépassement, et d'expiration.
      </Card>

      <Card title="List Credit Entitlements" icon="list" href="/api-reference/credit-entitlements/list-credit-entitlements">
        Récupérez tous les droits de crédit pour votre entreprise.
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Manage Credit Entitlements">
    Récupérez, mettez à jour, ou supprimez des droits de crédits. Les droits supprimés peuvent être restaurés.

    <CardGroup cols={2}>
      <Card title="Get Credit Entitlement" icon="magnifying-glass" href="/api-reference/credit-entitlements/get-credit-entitlement">
        Récupérez un droit de crédit spécifique par ID.
      </Card>

      <Card title="Update Credit Entitlement" icon="pen" href="/api-reference/credit-entitlements/update-credit-entitlement">
        Mettez à jour le report, le dépassement, l'expiration, ou d'autres paramètres.
      </Card>

      <Card title="Delete Credit Entitlement" icon="trash" href="/api-reference/credit-entitlements/delete-credit-entitlement">
        Supprimez un droit de crédit en douceur.
      </Card>

      <Card title="Undelete Credit Entitlement" icon="rotate-left" href="/api-reference/credit-entitlements/undelete-credit-entitlement">
        Restaurez un droit de crédit supprimé précédemment.
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Grant and Adjust Credits">
    Accordez des crédits directement au solde d'un client sans nécessiter un achat, ou créez des entrées de débit manual pour des ajustements de facturation.

    <Card title="Create Ledger Entry" icon="plus" href="/api-reference/credit-entitlements/create-ledger-entry">
      Créditez ou débitez le solde d'un client avec une piste d'audit complète et un support d'idempotence.
    </Card>
  </Accordion>

  <Accordion title="Query Balances and Ledger">
    Récupérez le solde de crédit actuel d'un client, l'historique des subventions, et le registre complet des transactions pour tout droit de crédit.

    <CardGroup cols={2}>
      <Card title="List Balances" icon="wallet" href="/api-reference/credit-entitlements/list-balances">
        Listez tous les soldes de clients pour un droit de crédit.
      </Card>

      <Card title="Get Customer Balance" icon="user" href="/api-reference/credit-entitlements/get-customer-balance">
        Obtenez le solde d'un client spécifique.
      </Card>

      <Card title="List Customer Grants" icon="gift" href="/api-reference/credit-entitlements/list-customer-grants">
        Voir toutes les subventions de crédit pour un client.
      </Card>

      <Card title="List Customer Ledger" icon="scroll" href="/api-reference/credit-entitlements/list-customer-ledger">
        Historique complet des transactions pour un client.
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

### Exemple d'intégration

Initialisez le client Dodo Payments :

```typescript theme={null}
import DodoPayments from 'dodopayments';

const client = new DodoPayments({
  bearerToken: process.env['DODO_PAYMENTS_API_KEY'],
  environment: 'test_mode', // defaults to 'live_mode'
});
```

Attachez des crédits à un produit d'abonnement pendant la caisse :

```typescript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [
    {
      product_id: 'prod_ai_pro_plan',
      quantity: 1,
    }
  ],
  customer: { email: 'customer@example.com' },
  return_url: 'https://yourapp.com/success'
});
```

Envoyez des événements d'utilisation qui déduisent automatiquement des crédits :

```typescript theme={null}
await client.usageEvents.ingest({
  events: [{
    event_id: `gen_${Date.now()}`,
    customer_id: 'cus_abc123',
    event_name: 'ai.generation',
    timestamp: new Date().toISOString(),
    metadata: { model: 'gpt-4', tokens: 1500 }
  }]
});
```

***

## Exemples réels

<AccordionGroup>
  <Accordion title="AI SaaS Platform">
    **Structure tarifaire :**

    | Plan       | Prix        | Crédits/Mois     | Dépassement    |
    | ---------- | ----------- | ---------------- | -------------- |
    | Démarrage  | 29 \$/mois  | 10 000 jetons    | 0,003 \$/jeton |
    | Pro        | 99 \$/mois  | 100 000 jetons   | 0,002 \$/jeton |
    | Entreprise | 499 \$/mois | 1 000 000 jetons | 0,001 \$/jeton |

    **Configuration :**

    * Type de Crédit : Unité Personnalisée ("Jetons AI")
    * Précision : 0 (jetons entiers)
    * Report : 25% max, durée de 1 mois
    * Dépassement : Activé, facturer le dépassement à la facturation
    * Compteur : `ai.generation` avec agrégation de somme sur le champ `tokens`
  </Accordion>

  <Accordion title="API Gateway">
    **Structure tarifaire :**

    | Plan        | Prix       | Crédits/Mois   | Dépassement     |
    | ----------- | ---------- | -------------- | --------------- |
    | Gratuit     | 0 \$/mois  | 1 000 appels   | Bloqué          |
    | Développeur | 19 \$/mois | 50 000 appels  | 0,001 \$/appel  |
    | Business    | 99 \$/mois | 500 000 appels | 0,0005 \$/appel |

    **Configuration :**

    * Type de Crédit : Unité Personnalisée ("Appels API")
    * Précision : 0 (appels entiers)
    * Report : Désactivé
    * Dépassement : Plans Développeur+ permettent le dépassement (pardon à la réinitialisation), plan Gratuit désactive le dépassement
    * Compteur : `api.request` avec agrégation de nombre
  </Accordion>

  <Accordion title="Cloud Storage Service">
    **Structure tarifaire :**

    | Plan      | Prix       | Crédits/Mois    | Dépassement      |
    | --------- | ---------- | --------------- | ---------------- |
    | Personnel | 9 \$/mois  | 100 heures-GB   | 0,05 \$/heure-GB |
    | Équipe    | 49 \$/mois | 1 000 heures-GB | 0,03 \$/heure-GB |

    **Configuration :**

    * Type de Crédit : Unité Personnalisée ("heures-GB")
    * Précision : 2 (deux décimales)
    * Report : 50% max, reporte une fois
    * Dépassement : Activé avec limite de 200%
    * Compteur : `storage.usage` avec agrégation de somme
  </Accordion>
</AccordionGroup>

***

## Meilleures pratiques

* **Commencez simple** : Commencez avec un seul type de crédit et sans report. Ajoutez de la complexité en fonction des retours des clients et des modèles d'utilisation.
* **Fixez des attentes claires** : Affichez les allocations de crédits, les soldes restants, et la tarification de dépassement de manière visible sur vos pages de produit et votre portail client.
* **Utilisez des unités significatives** : Nommez les crédits d'après ce qu'ils représentent (par exemple, "Appels API", "Jetons AI") plutôt que des termes génériques. Cela aide les clients à comprendre la valeur.
* **Configurez l'expiration de manière réfléchie** : Les fenêtres d'expiration courtes (7 jours) incitent à l'urgence mais peuvent frustrer les clients. Les fenêtres plus longues (30 à 90 jours) sont plus conviviales pour la plupart des produits SaaS.
* **Surveillez les faibles soldes** : Définissez des seuils de solde faible pour alerter les clients avant qu'ils ne soient à court, réduisant ainsi les frais de dépassement surprise.
* **Testez en mode test** : Créez des crédits, attachez-les à des produits de test, et simulez le cycle complet d'achat → utilisation → déduction → expiration avant de passer en production.

<Info>
  La facturation basée sur le crédit fonctionne de manière transparente avec toutes les autres fonctionnalités de Dodo Payments - abonnements avec essais, changements de plan avec proration, et le portail client. Commencez avec une configuration de base et développez à mesure que votre modèle de tarification évolue.
</Info>
