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

# Appliquer des crédits et engagements aux contrats

Vous pouvez accorder des crédits gratuits et encoder des engagements prépayés et postpayés sur les contrats Metronome. Le solde de ces crédits et engagements, ainsi que leur application aux factures en brouillon, se met à jour en continu et en temps réel à mesure que les clients utilisent votre produit. Les crédits et engagements alimentent une grande variété de modèles d'affaires, des stratégies de croissance pilotées par le produit aux contrats d'entreprise complexes.

## Fonctionnement des crédits et engagements​

Les crédits et engagements dans Metronome sont flexibles sur les dimensions suivantes :

* **Période effective** : les crédits et engagements possèdent un `access_schedule` qui définit les allocations de dépenses associées à une ou plusieurs plages de dates. Définissez les plages de dates en utilisant n'importe quelle heure pleine ; seule la consommation comprise dans la plage consomme le crédit ou l'engagement.
* **Produits applicables** : précisez un sous-ensemble de produits, défini par des identifiants de produits (`applicable_product_ids`) ou des étiquettes de produits (`applicable_product_tags`), pour consommer un crédit ou un engagement. Les étiquettes de produits applicables garantissent que les nouveaux produits lancés dans une famille existante peuvent consommer automatiquement les bons engagements. Vous pouvez également utiliser le champ [specifiers](/fr/guides/pricing-packaging/apply-credits-and-commits/target-credit-and-commits) pour cibler la consommation des crédits et engagements en fonction des valeurs de groupe de tarification ou des valeurs de groupe de présentation.
* **Calendrier de facturation** : avec les engagements prépayés, définissez une facture unique ou répartissez le paiement sur plusieurs factures selon n'importe quel calendrier. Personnalisez le montant facturé pour tout engagement prépayé.
* **Champs personnalisés** : étiquetez les crédits et engagements avec des métadonnées utiles aux flux de travail en aval comme les [alertes](/fr/guides/customers-billing/set-up-notifications/create-and-manage-notifications), la [réconciliation des données](/fr/guides/reporting-insights/financial-reporting/reconcile-data) et la [reconnaissance du revenu](/fr/guides/reporting-insights/financial-reporting/revenue-recognition). Par exemple, soyez alerté lorsque le solde restant des crédits portant le champ personnalisé `free_trial` atteint 0.

Les crédits et engagements sont toujours associés à un produit fixe. Cela s'explique par le fait que les produits sont utilisés pour facturer. Dans le cas des engagements, le produit sert à facturer le montant de l'engagement prépayé ou le montant de régularisation de l'engagement postpayé. Il contient des métadonnées telles qu'un nom et un identifiant, ce qui vous permet d'interroger des éléments comme : quel est le revenu généré par le produit de cet engagement sur l'ensemble de mes clients ?

## Accorder un crédit gratuit​

Les crédits offrent aux clients un montant monétaire de consommation gratuite. Les cas courants pour les crédits gratuits incluent les essais gratuits, les remboursements pour temps d'arrêt (crédits SLA) et les promotions.

<Info>
  Pour le USD, tous les montants monétaires dans l'API sont exprimés en **cents** (par exemple, `1000` = \$10,00). Les autres devises prises en charge utilisent des unités entières. Voir [dénomination des devises](/fr/guides/pricing-packaging/make-pricing-changes/use-currency-custompricingunits#currency-denomination) pour plus de détails.
</Info>

En tant que scénario courant, les clients accordent des crédits gratuits à un client qui peut utiliser les crédits pendant la période d'accès pour tous les contrats actifs. Apprenez comment [provisionner des clients](/fr/guides/customers-billing/manage-customers/provision-a-customer) avec des contrats.

Pour accorder des crédits à un client via l'[application Metronome](https://app.metronome.com/) :

1. Allez dans **Customers** > sélectionnez le client > Contract commits and credits > cliquez sur **Add credit**.
2. Liez le crédit à un produit fixe en sélectionnant le produit Crédit dans la liste déroulante. Les crédits et engagements dans Metronome sont toujours associés à un produit fixe. Par exemple, vous pouvez créer des produits distincts pour un crédit gratuit, un crédit SLA et un crédit promotionnel.
3. (Facultatif) Ajoutez une description interne pour expliquer pourquoi vous accordez le crédit.
4. (Facultatif) Si le crédit ne peut être consommé que par un sous-ensemble de la consommation, précisez les identifiants ou étiquettes de produits applicables. Si vous omettez ce paramètre, toute la consommation, les abonnements et les frais composites peuvent consommer les crédits.
5. (Facultatif) Si le crédit ne doit être consommé que par un sous-ensemble des contrats du client, précisez les noms ou identifiants de contrats applicables. Si vous omettez ce paramètre, la consommation liée à tous les contrats consomme le crédit.
6. Créez un calendrier d'accès. Un calendrier d'accès se compose d'un ou plusieurs segments, chacun défini par une plage de dates et associé à un montant. Par exemple, pour accorder un crédit de \$10/mois pendant trois mois, créez trois segments dans le calendrier d'accès :
7. (Facultatif) Précisez le pourcentage de report du crédit. En cas de renouvellement de contrat, indiquez le pourcentage du solde initial du crédit qui doit être reporté sur le nouveau contrat. En savoir plus sur les [transitions de contrat](/fr/guides/customers-billing/manage-customers/manage-customer-lifecycle).

<Frame>
  <img src="https://mintcdn.com/metronome-b35a6a36/C_lGxKgdkdHt6xoX/images/docs/pricing-packaging/apply-credits/apply-credits-commits/create_credit_access_schedule-9a80a10c5a765bc18b27726bf421c6a2.png?fit=max&auto=format&n=C_lGxKgdkdHt6xoX&q=85&s=eb05b6d8102e7331800000012a20c828" alt="Exemple de calendrier d'accès au crédit" width="1786" height="708" data-path="images/docs/pricing-packaging/apply-credits/apply-credits-commits/create_credit_access_schedule-9a80a10c5a765bc18b27726bf421c6a2.png" />
</Frame>

7. Définissez la priorité du crédit. Si un client dispose de plusieurs crédits ou engagements pouvant s'appliquer à la consommation, la priorité dicte l'ordre dans lequel les crédits et engagements sont consommés. Les priorités les plus basses sont consommées en premier. Par exemple, vous pouvez vouloir que tous les crédits soient consommés en premier avant de consommer tout engagement. Lisez la liste complète des [règles de priorisation](/fr/guides/pricing-packaging/apply-credits-and-commits/prioritization-rules).

Cet exemple de requête API montre comment créer un crédit gratuit :

```bash theme={null}
curl https://api.metronome.com/v1/contracts/customerCredits/create \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "13117714-3f05-48e5-a6e9-a66093f13b4d",
    "name": "SLA Credit",
    "priority": 1,
    "product_id": "f14d6729-6a44-4b13-9908-9387f1918790",
    "access_schedule": {
      "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
      "schedule_items": [
        {
          "amount": 1000,
          "starting_at": "2024-10-01T00:00:00.000Z",
          "ending_before": "2024-11-01T00:00:00.000Z"
        }, 
        {
          "amount": 1000,
          "starting_at": "2024-11-01T00:00:00.000Z",
          "ending_before": "2024-12-01T00:00:00.000Z"
        },
        {
          "amount": 1000,
          "starting_at": "2024-12-01T00:00:00.000Z",
          "ending_before": "2025-01-01T00:00:00.000Z"
        }
      ]
    }
  }'
```

## Émettre un engagement prépayé ou postpayé​

Les engagements prépayés et postpayés représentent l'accord d'un client à dépenser un montant en dollars sur une période de temps. Les engagements prépayés sont payés à l'avance, tandis que les engagements postpayés sont payés à terme échu.

Bien qu'ils soient généralement associés à des contrats, vous pouvez également encoder des engagements au niveau du client, où ils sont consommés par tout ou partie des contrats de ce client.

### Engagements prépayés​

Les engagements prépayés sont payés à l'avance.

Par exemple, imaginez qu'un client se soit engagé à dépenser \$10 000 sur la durée de son contrat, qu'il est facturé en deux factures : une de \$4 000 et une de \$6 000. Le contrat s'étend du 1er octobre 2024 au 1er octobre 2025.

Pour ajouter un engagement prépayé à un contrat dans l'application Metronome :

1. Lors de la création d'un contrat, cliquez sur **Add commit.**
2. Liez l'engagement à un produit fixe.
3. (Facultatif) Ajoutez une description interne expliquant la raison de l'octroi de l'engagement.
4. (Facultatif) Si l'engagement ne peut être consommé que par un sous-ensemble de la consommation, précisez les identifiants ou étiquettes de produits applicables. Si vous omettez ce paramètre, toute la consommation, les abonnements et les frais composites peuvent consommer l'engagement.
5. Créez un calendrier d'accès. Un calendrier d'accès se compose de segments, chacun défini par une plage de dates et associé à un montant. Par exemple, définissez le calendrier d'accès du 1er octobre 2024 au 1er octobre 2025, correspondant à la durée du contrat.
6. (Facultatif) Créez un calendrier de facturation. Cela détermine la cadence à laquelle facturer votre client pour l'engagement.
   * Vous pouvez facturer votre client pour n'importe quel montant en n'importe quel nombre de versements. Par exemple, créez deux segments de calendrier de facturation :
     * Un segment le 1er octobre 2024 pour \$4 000
     * Un autre segment le 1er novembre 2024 pour \$6 000
   * Pour capturer le montant facturé sans générer de facture pour les fournisseurs de facturation en aval, sélectionnez l'option **Do not invoice** après avoir saisi le montant de la facture.
7. Définissez la priorité de l'engagement. Si un client dispose de plusieurs crédits ou engagements pouvant s'appliquer à la consommation, la priorité dicte l'ordre dans lequel les crédits et engagements sont consommés. Les engagements de priorité plus basse sont consommés en premier.
8. (Facultatif) Précisez le pourcentage de report de l'engagement. En cas de renouvellement de contrat, indiquez le pourcentage du solde initial de l'engagement qui doit être reporté sur le nouveau contrat. En savoir plus sur les [transitions de contrat](/fr/guides/customers-billing/manage-customers/manage-customer-lifecycle).

Cet exemple d'appel API montre comment créer un contrat avec l'exemple d'engagement prépayé :

```bash theme={null}
curl https://api.metronome.com/v1/contracts/create \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
  "customer_id": "13117714-3f05-48e5-a6e9-a66093f13b4d",
  "rate_card_id": "d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc",
  "starting_at": "2024-10-01T00:00:00.000Z",
  "commits": [
    {
      "type": "prepaid",
      "product_id": "cc69a00a-fa8f-4ae6-afdb-703e63fb4777",
      "access_schedule": {
        "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
        "schedule_items": [
          {
            "amount": 100000,
            "starting_at": "2024-10-01T00:00:00.000Z",
            "ending_before": "2025-10-01T00:00:00.000Z"
          }
        ]
      },
      "invoice_schedule": {
        "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
        "schedule_items": [
          {
            "amount": 400000,
            "timestamp": "2024-10-01T00:00:00.000Z"
          },
          {
            "amount": 600000,
            "unit_price": 600000,
            "quantity": 1,
            "timestamp": "2024-11-01T00:00:00.000Z"
          }
        ]
      }
    }
  ]
}'
```

### Engagements postpayés​

Pour les engagements postpayés, la consommation pendant la période d'accès (définie par `access_schedule`) est payée à terme échu. Si le montant total payé pendant la période d'accès est inférieur au montant engagé, une facture de régularisation finale est émise à la date `invoice_date`.

Par exemple, si un client a un contrat avec un engagement postpayé de dépenser \$10 000 sur la durée d'un contrat d'un an du 1er octobre 2024 au 1er octobre 2025, facturé mensuellement, chaque mois, le client est facturé à terme échu pour la consommation engagée pendant ce mois. À la fin du contrat, le client a dépensé un total de \$9 000. À la date `invoice_date` spécifiée, une facture de régularisation de \$1 000 est émise pour atteindre l'engagement de \$10 000.

Pour ajouter un engagement postpayé à un contrat dans l'application Metronome :

1. Lors de la création d'un contrat, cliquez sur **Add commit.**
2. Liez l'engagement à un produit fixe.
3. (Facultatif) Ajoutez une description interne expliquant la raison de l'octroi de l'engagement.
4. (Facultatif) Si l'engagement ne peut être consommé que par un sous-ensemble de la consommation, précisez les identifiants ou étiquettes de produits applicables. Si vous omettez ce paramètre, toute la consommation, les abonnements et les frais composites peuvent consommer l'engagement.
5. Créez un calendrier d'accès. Par défaut, le calendrier d'accès correspond à la durée du contrat. Vous pouvez allouer une part des dépenses à des fenêtres de temps distinctes tout au long du contrat. Dans l'exemple, le calendrier d'accès va du 1er octobre 2024 au 1er octobre 2025.
6. Sélectionnez la date de facturation. La date de facturation est la date à laquelle une facture de régularisation est émise si les dépenses réelles sont inférieures au montant engagé. Par défaut, la date de facturation est la date de fin du contrat, mais vous pouvez la personnaliser à n'importe quelle date après le calendrier d'accès. Pour l'exemple, la date de facturation est le 1er octobre 2025, date de fin du contrat.
   * Pour capturer le montant facturé sans générer de facture pour les fournisseurs de facturation en aval, sélectionnez l'option **Do not invoice** après avoir saisi le montant de la facture.
7. Définissez la priorité de l'engagement. Les engagements prépayés et les crédits sont consommés en premier. Si un client dispose de plusieurs engagements postpayés pouvant s'appliquer à la consommation, la priorité dicte l'ordre dans lequel les engagements postpayés sont consommés. Les engagements de priorité plus basse sont consommés en premier.
8. (Facultatif) Précisez le pourcentage de report de l'engagement. En cas de renouvellement de contrat, indiquez le pourcentage du solde initial de l'engagement qui doit être reporté sur le nouveau contrat. En savoir plus sur les [transitions de contrat](/fr/guides/customers-billing/manage-customers/manage-customer-lifecycle).

Cet exemple d'appel API montre comment créer un contrat avec l'exemple d'engagement postpayé :

```bash theme={null}
curl https://api.metronome.com/v1/contracts/create \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
  "customer_id": "13117714-3f05-48e5-a6e9-a66093f13b4d",
  "rate_card_id": "d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc",
  "starting_at": "2024-10-01T00:00:00.000Z",
  "ending_before": "2025-10-01T00:00:00.000Z",
  "commits": [
    {
      "type": "postpaid",
      "product_id": "1cca616f-d6c7-44d3-b02d-cfcc85f97fd6",
      "access_schedule": {
        "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
        "schedule_items": [
          {
            "amount": 1000000,
            "starting_at": "2024-10-01T00:00:00.000Z",
            "ending_before": "2025-10-01T00:00:00.000Z"
          }
        ]
      },
      "invoice_schedule": {
        "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
        "schedule_items": [
          {
            "amount": 1000000,
            "timestamp": "2025-10-01T00:00:00.000Z"
          }
        ]
      }
    }
  ]
}'
```

## Provisionner des crédits de consommation récurrents​

Dans le cadre d'un abonnement ou d'un contrat, les organisations allouent généralement un montant fixe de consommation à un client. Le montant évolue généralement selon le niveau du plan, tel que Good, Better et Best. Les organisations adoptent ce modèle pour bénéficier des avantages d'un abonnement avec des revenus récurrents fixes et d'une facturation à l'usage avec collecte sur les dépassements. Modélisez ce comportement dans Metronome en configurant un crédit ou un engagement récurrent sur un contrat.

### Configurer des crédits ou engagements récurrents​

De la même manière que vous pouvez émettre des crédits et engagements individuels, vous pouvez également planifier la libération de crédits et engagements de façon récurrente. Avec les octrois récurrents, un nouveau crédit ou engagement est émis avec un grand livre unique qui lui est attaché au début de chaque période.

1. Pour une consommation gratuite avec une base de coût de \$0, créez un crédit récurrent. Pour une consommation payante, créez un engagement récurrent.
2. Précisez le produit de crédit ou d'engagement qui génère l'élément de facturation pour la charge récurrente. Les métadonnées de ce produit, comme les champs personnalisés, sont propagées à la facture où l'engagement ou le crédit est appliqué.
3. Précisez à quels produits l'octroi doit s'appliquer. S'il est laissé vide, il s'applique à tous les produits. Utilisez des étiquettes de produits pour une configuration plus simple.
4. Précisez si les crédits et engagements non utilisés expirent à la fin de chaque période en définissant `commit_duration`. Vous pouvez reporter le montant total des crédits restants pour un certain nombre de périodes.
5. Mettez éventuellement à jour le calendrier de récurrence. Il s'agit par défaut du calendrier de consommation défini sur le contrat.

<Info>
  **INFO**

  Si une `recurrence_frequency` est définie sur le contrat, la date d'ancrage de l'engagement récurrent prendra par défaut le `starting_at` de l'engagement. Cela signifie que si la date de début du contrat et la date de début de l'engagement récurrent sont distinctes, la première période **ne sera pas** proratisée.
</Info>

6. Définissez le comportement de prorata. S'il est laissé nul, le comportement par défaut est de proratiser tout octroi qui ne couvre pas une période complète (`FIRST_AND_LAST`).
7. Définissez éventuellement le comportement d'arrondi lorsque les calendriers d'accès et de facturation des engagements sont proratisés. Cela peut être utilisé pour n'accorder et ne facturer que des montants entiers, par exemple.
8. Pour émettre les frais d'engagement sur la même facture que le relevé de consommation du contrat, précisez que la consommation et les frais planifiés doivent être [consolidés sur le contrat](/fr/guides/customers-billing/manage-customers/provision-a-customer#consolidate-usage-and-scheduled-invoices).

### Mise à niveau ou rétrogradation du contrat d'un client​

Les clients peuvent passer à de nouveaux niveaux après s'être familiarisés avec votre produit. Pour faciliter cela, créez un nouveau contrat via un [renouvellement de contrat](/fr/guides/customers-billing/manage-customers/manage-customer-lifecycle#contract-renewal). Cela met fin au contrat actuel et à toutes les futures charges récurrentes et génère un nouveau contrat avec des conditions mises à jour. Si un client a droit à conserver son solde existant dans le cadre de la mise à niveau ou de la rétrogradation, précisez un **Contract Transition Rollover** de 100 % lors de la création du contrat initial.

#### Mise à niveau au début d'une nouvelle période​

Pour faciliter ou planifier une mise à niveau au début d'une nouvelle période de facturation :

1. Créez un nouveau contrat et définissez la date de début au début de la période de facturation. Précisez la transition du contrat comme un **Renewal** et transmettez l'identifiant du contrat précédent.
2. Si un report de contrat a été spécifié pour l'engagement récurrent sur le premier contrat, le solde restant est reporté sur le nouveau contrat selon ce paramètre.

Les futures charges récurrentes du premier contrat sont supprimées. Le nouveau contrat génère une facture planifiée `FINALIZED` pour le premier engagement récurrent. Il génère également une nouvelle facture d'utilisation `DRAFT` pour mesurer la consommation du premier mois.

#### Mise à niveau en milieu de période​

Pour faciliter une mise à niveau en milieu de période :

1. Créez un nouveau contrat et définissez la date de début à la date du jour. Précisez la transition du contrat comme un **Renewal** et transmettez l'identifiant du contrat précédent.
2. Le montant de l'engagement pour la première période sera proratisé.
3. Si un report de contrat a été spécifié pour l'engagement récurrent sur le premier contrat, le solde restant est reporté sur le nouveau contrat selon ce paramètre.

La facture d'utilisation `DRAFT` sur le premier contrat sera finalisée avec la consommation jusqu'à cette date. Le nouveau contrat génère une nouvelle facture d'utilisation `DRAFT` pour capturer la consommation du reste de la période et une facture planifiée `FINALIZED` avec la charge proratisée pour le premier engagement récurrent.

#### Antidater une mise à niveau​

L'avantage d'antidater une mise à niveau est que l'utilisateur ne reçoit qu'une seule facture d'utilisation pendant la période de facturation.

Pour antidater une mise à niveau :

1. Créez un contrat et définissez la date de début au premier jour de la période de facturation actuelle. Précisez la transition du contrat comme un **Renewal** et transmettez l'identifiant du contrat précédent.
2. Cela finalise la facture d'utilisation `DRAFT` actuelle du premier contrat. La période de service mise à jour commence et se termine le même jour, ce qui signifie que la consommation de la période ouverte est déplacée vers le nouveau contrat.
3. Sur le nouveau contrat, créez un engagement unique qui représente le montant remisé pour la première période. Le montant doit être *(total proratisé) - (montant payé sur le premier contrat)*.
4. Créez un calendrier récurrent qui commence à la deuxième période du contrat sur une base prospective.

### Exemple de crédit récurrent​

Considérez un exemple où un client souscrit au plan de niveau le plus bas de votre entreprise le 1er janvier. Ce plan gratuit lui donne accès à \$10 de crédits gratuits chaque mois et à l'accès aux produits Basic. Si le client n'utilise pas ses crédits chaque mois, ils expirent au début du mois suivant.

Cet exemple d'appel API montre comment créer le contrat avec un crédit gratuit récurrent :

```bash theme={null}
curl https://api.metronome.com/v1/contracts/create \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "<id>",
    "rate_card_id": "<id>",
    "starting_at": "2025-01-01T00:00:00Z",
    "name": "recurring-commit-contract",
    "commits": [],
    "custom_fields": {
        "contract_tier": "basic"
    }
    "recurring_credits": [
        {
            "name": "recurring credit",
            "description": "recurring credit",
            "product_id": "<id>",
            "access_amount": {
                "unit_price": 1000,
                "quantity": 1,
                "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2"
            },
            "priority": 1,
            "commit_duration": {
                "unit": "periods",
                "value": 1
            },
            "starting_at": "2024-12-01T00:00:00Z",
            "rollover_fraction": 100
        }
    ]
}'
```

Après avoir utilisé le produit pendant quelques semaines, le client décide de mettre à niveau son plan le 21 janvier alors qu'il lui reste \$2 de solde. Ce nouveau plan coûte \$20 par mois. Il lui donne une allocation de consommation de \$30 par mois et accès à l'ensemble des fonctionnalités Premium. Dans le cadre du nouveau plan, le client peut reporter les engagements à la période suivante s'il ne les utilise pas tous.

Cet exemple d'appel API montre comment utiliser une transition de contrat pour créer un nouveau contrat :

```bash theme={null}
curl https://api.metronome.com/v1/contracts/create \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "<id>",
    "rate_card_id": "<id>",
    "starting_at": "2025-01-01T00:00:00Z",
    "name": "recurring-commit-contract",
    "commits": [],
    "custom_fields": {
        "contract_tier": "basic"
    },
    "recurring_commits": [
        {
            "name": "recurring commit",
            "description": "recurring commit",
            "product_id": "<id>",
            "access_amount": {
                "unit_price": 3000,
                "quantity": 1,
                "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2"
            },
            "priority": 1,
            "commit_duration": {
                "unit": "periods",
                "value": 2
            },
            "starting_at": "2024-12-01T00:00:00Z",
            "invoice_amount": {
                "unit_price": 2000,
                "quantity": 1,
                "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2"
            }
            "rollover_fraction": 100
        }
    ]
    "transition": {
        "from_contract_id": "<id of first contract>",
        "type": "renewal"
    }
}'
```

Une fois le nouveau contrat provisionné, le client dispose du solde suivant :

* \$2 de consommation gratuite reportés du premier contrat
* \$10 d'un engagement payé avec une base de coût de 0,67

## Fonctionnement des crédits et engagements avec les factures​

Dans Metronome, les crédits et engagements sont toujours appliqués à la consommation au niveau de l'élément de facturation plutôt qu'au niveau agrégé de la facture. Cette attribution permet de mieux reconnaître les dépenses pré-engagées et les dépassements pour chaque produit.

Sur une facture, les éléments de facturation sont séparés selon que la consommation puise dans un engagement, un crédit, ou est en dépassement.

<Info>
  **INFO**

  Une même consommation ne peut s'appliquer qu'à un seul engagement ou crédit. Par exemple, si vous avez engagé \$500 de consommation et que vous disposez d'un contrat encodé avec un engagement prépayé de \$400 et un engagement postpayé de \$400, l'engagement prépayé est consommé en premier. \$400 de la consommation consomment entièrement l'engagement prépayé. Ensuite, les \$100 restants comptent pour l'accomplissement de l'engagement postpayé. Comme les engagements postpayés sont payés à terme échu, le client sera tout de même facturé pour \$100.
</Info>

Cet exemple de réponse API de facture illustre une situation où un client a consommé \$10 de Data Storage pendant la période de facturation. Sur les \$10, \$4 sont couverts par un engagement prépayé, et \$6 ne sont pas couverts par un crédit ou un engagement. Dans la réponse de la facture, cela génère 3 éléments de facturation :

* Consommation couverte par l'engagement prépayé, totalisant \$4
* Élément d'application de l'engagement, totalisant -\$4
* Consommation non couverte par un engagement prépayé ou un crédit (élément « Overage »), totalisant \$6

```json theme={null}
{
  "data": {
    "billable_status": "billable",
    "contract_custom_fields": {},
    "contract_id": "222fd78f-c93d-4b11-bec8-a7b12b510214",
    "credit_type": {
      "id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
      "name": "USD (cents)"
    },
    "custom_fields": {},
    "customer_custom_fields": {},
    "customer_id": "b61bf255-d6f2-49fc-a062-b32431e2d22d",
    "end_timestamp": "2024-11-01T00:00:00+00:00",
    "external_invoice": null,
    "id": "e1937b93-64a5-5117-99e1-eb963a71e764",
    "issued_at": "2024-11-02T12:00:00+00:00",
    "line_items": [
      {
        "commit_custom_fields": {},
        "commit_id": "fde728f0-af26-45c3-92f6-7587dedadef3",
        "commit_segment_id": "fc696ca9-58b6-49e1-b2dc-888d78acd00e",
        "commit_type": "PrepaidCommit",
        "credit_type": {
          "id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
          "name": "USD (cents)"
        },
        "ending_before": "2024-11-01T00:00:00+00:00",
        "name": "Data Storage",
        "product_custom_fields": {},
        "product_id": "c8dccd54-0ca8-4580-861d-1e26854ab2f1",
        "product_type": "UsageProductListItem",
        "quantity": 4,
        "starting_at": "2024-10-01T00:00:00+00:00",
        "total": 400,
        "unit_price": 100
      },
      {
        "commit_custom_fields": {},
        "commit_id": "fde728f0-af26-45c3-92f6-7587dedadef3",
        "commit_netsuite_item_id": "1234",
        "commit_segment_id": "fc696ca9-58b6-49e1-b2dc-888d78acd00e",
        "commit_type": "PrepaidCommit",
        "credit_type": {
          "id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
          "name": "USD (cents)"
        },
        "ending_before": "2024-11-01T00:00:00+00:00",
        "name": "Prepaid Commit applied",
        "product_custom_fields": {},
        "product_id": "c8dccd54-0ca8-4580-861d-1e26854ab2f1",
        "product_type": "UsageProductListItem",
        "starting_at": "2024-10-01T00:00:00+00:00",
        "total": -400
      },
      {
        "credit_type": {
          "id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
          "name": "USD (cents)"
        },
        "ending_before": "2024-11-01T00:00:00+00:00",
        "name": "Data Storage",
        "product_custom_fields": {},
        "product_id": "c8dccd54-0ca8-4580-861d-1e26854ab2f1",
        "product_type": "UsageProductListItem",
        "quantity": 6,
        "starting_at": "2024-10-01T00:00:00+00:00",
        "total": 600,
        "unit_price": 100
      }
    ],
    "start_timestamp": "2024-10-01T00:00:00+00:00",
    "status": "DRAFT",
    "total": 600,
    "type": "USAGE"
  }
}
```
