> ## 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.

# Garantir zéro dépassement

Certains clients ne doivent jamais être facturés pour une consommation au-delà de leur solde engagé — comptes d'essai gratuit, segments sensibles à la fraude ou clients soumis à des budgets internes stricts. Garantissez zéro dépassement dans Metronome en définissant les tarifs catalogue à 0 USD et en encodant les vrais prix soit comme tarif d'engagement sur la grille tarifaire, soit comme surcharge spécifique à l'engagement sur le contrat. La consommation puise dans l'engagement aux vrais prix tant qu'il y a du solde, puis revient à 0 USD une fois l'engagement épuisé.

<Note>
  **N'utilisez ce modèle que lorsque les clients ne doivent jamais être facturés pour des dépassements.** Si vous voulez autoriser les dépassements mais avoir des contrôles autour d'eux, Metronome propose à la place deux mécanismes complémentaires :

  * **[Seuils de solde prépayé](/fr/guides/customers-billing/optimize-customer-experience/prepaid-balance-thresholds)** rechargent automatiquement le solde d'engagement prépayé d'un client lorsqu'il descend à un `threshold_amount`, le ramenant à un `recharge_to_amount`. Utile lorsque vous voulez un service continu avec des recharges automatiques.
  * **[Seuils de dépense](/fr/guides/customers-billing/optimize-customer-experience/set-customer-spend-control)** plafonnent la dépense qu'un client peut accumuler avant qu'un paiement ne soit déclenché — utile pour limiter l'exposition à la fraude dans les flux PLG.

  Le modèle ci-dessous est le bon choix uniquement lorsqu'il n'y a aucune tolérance pour facturer aux clients des dépassements.
</Note>

## Quand utiliser ce modèle

Cette approche est utile lorsque :

* **Les essais gratuits** doivent être strictement plafonnés au montant accordé sans possibilité de facture.
* **Les comptes sensibles à la fraude** pourraient sinon accumuler une consommation incontrôlée avant que les signaux de fraude ne se déclenchent.
* **Les clients à budget strict** exigent une garantie contractuelle que vous ne leur facturerez jamais de dépassement, même si le contrôle d'accès de votre application échoue.

## Fonctionnement

Deux éléments fonctionnent ensemble :

1. **Tarif catalogue de 0 USD** sur la grille tarifaire. C'est le prix de repli après l'épuisement de tout engagement, de sorte que toute consommation fuyant est facturée à 0 USD.
2. **Un véritable prix unitaire qui ne s'applique que pendant la consommation d'un engagement.** Vous pouvez encoder ce prix réel de deux manières selon que les prix sont uniformes entre clients ou définis par client.

Comme les deux mécanismes ne s'appliquent que pendant que la consommation puise dans un engagement, la tarification revient au tarif catalogue de 0 USD dès que l'engagement atteint zéro. À partir de ce moment, l'élément de facturation se résout à 0 USD et le client n'est jamais facturé pour des dépassements.

## Choisir votre implémentation

|                           | Option A : Tarif d'engagement sur la grille tarifaire                                        | Option B : Surcharge spécifique à l'engagement sur le contrat |
| ------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| **Où vivent les prix**    | Sur la grille tarifaire, à côté du tarif catalogue de 0 USD                                  | Sur le contrat de chaque client                               |
| **Idéal pour**            | Tarification uniforme pour tous (ou la plupart) des clients sur la grille tarifaire          | Personnalisation des prix d'engagement par client             |
| **Coût de configuration** | Configurer une seule fois sur la grille tarifaire                                            | Ajouter une surcharge sur chaque contrat                      |
| **Héritage client**       | Tous les clients utilisant la grille tarifaire héritent automatiquement du prix d'engagement | Chaque contrat spécifie son propre prix d'engagement          |

<Tip>
  Vous pouvez combiner les deux : définissez un tarif d'engagement par défaut sur la grille tarifaire pour la plupart des clients, et utilisez des surcharges spécifiques à l'engagement sur les contrats qui ont besoin d'un prix différent. Les surcharges sur le contrat ont la priorité.
</Tip>

## Option A : Tarif d'engagement sur la grille tarifaire

Utilisez cette option lorsque le vrai prix est cohérent pour tous (ou la plupart) des clients sur la grille tarifaire. Vous définissez le tarif catalogue à 0 USD et le vrai prix comme `commit_rate` sur la même entrée de grille tarifaire. Les clients héritent automatiquement des deux — aucune surcharge par contrat n'est requise.

### 1. Ajouter le produit à la grille tarifaire avec `price: 0` et un `commit_rate`

```bash theme={null}
curl https://api.metronome.com/v1/contract-pricing/rate-cards/addRate \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "rate_card_id": "d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc",
    "product_id": "13117714-3f05-48e5-a6e9-a66093f13b4d",
    "starting_at": "2024-10-01T00:00:00.000Z",
    "entitled": true,
    "rate_type": "FLAT",
    "price": 0,
    "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
    "commit_rate": {
      "rate_type": "FLAT",
      "price": 100
    }
  }'
```

### 2. Créer l'engagement et lui indiquer d'utiliser `commit_rate`

Lorsque vous créez l'engagement sur le contrat, définissez `rate_type: commit_rate` afin que les puisages soient tarifés selon le tarif d'engagement de la grille tarifaire.

```bash theme={null}
curl https://api.metronome.com/v1/contracts/customerCommits/create \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "bc20325a-80a0-468e-868f-a2f28b972af8",
    "type": "prepaid",
    "name": "Trial credit",
    "priority": 100,
    "product_id": "f14d6729-6a44-4b13-9908-9387f1918790",
    "rate_type": "commit_rate",
    "access_schedule": {
      "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
      "schedule_items": [
        {
          "amount": 10000,
          "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": [
        {
          "unit_price": 10000,
          "quantity": 1,
          "timestamp": "2024-10-01T00:00:00.000Z"
        }
      ]
    }
  }'
```

Tant que l'engagement a du solde, la consommation est tarifée au `commit_rate` de la grille tarifaire (100 USD/unité). Une fois l'engagement épuisé, la consommation retombe au tarif catalogue de 0 USD de la grille tarifaire.

## Option B : Surcharge spécifique à l'engagement sur le contrat

Utilisez cette option lorsque chaque client a besoin de prix différents, ou lorsque vous ne voulez pas encoder les vrais prix sur la grille tarifaire. Le tarif catalogue reste à 0 USD sur la grille tarifaire, et vous ajoutez une surcharge `overwrite` sur chaque contrat qui ne s'applique que pendant que l'engagement a du solde.

### 1. Définir le tarif catalogue à 0 USD sur la grille tarifaire

```bash theme={null}
curl https://api.metronome.com/v1/contract-pricing/rate-cards/addRate \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "rate_card_id": "d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc",
    "product_id": "13117714-3f05-48e5-a6e9-a66093f13b4d",
    "starting_at": "2024-10-01T00:00:00.000Z",
    "entitled": true,
    "rate_type": "FLAT",
    "price": 0,
    "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2"
  }'
```

### 2. Sur le contrat, ajoutez un engagement et une surcharge spécifique à l'engagement

La surcharge est limitée à l'engagement via `override_specifiers.commit_ids`, elle ne s'applique donc que tant que cet engagement a un solde restant.

```bash theme={null}
curl https://api.metronome.com/v1/contracts/create \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "bc20325a-80a0-468e-868f-a2f28b972af8",
    "starting_at": "2024-10-01T00:00:00.000Z",
    "rate_card_id": "d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc",
    "commits": [
      {
        "temporary_id": "prepaid_commit_A",
        "type": "prepaid",
        "priority": 1,
        "name": "Trial credit",
        "product_id": "f14d6729-6a44-4b13-9908-9387f1918790",
        "access_schedule": {
          "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
          "schedule_items": [
            {
              "amount": 10000,
              "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": [
            {
              "unit_price": 10000,
              "quantity": 1,
              "timestamp": "2024-10-01T00:00:00.000Z"
            }
          ]
        }
      }
    ],
    "overrides": [
      {
        "starting_at": "2024-10-01T00:00:00.000Z",
        "is_commit_specific": true,
        "product_id": "13117714-3f05-48e5-a6e9-a66093f13b4d",
        "type": "overwrite",
        "overwrite_rate": {
          "rate_type": "flat",
          "price": 100
        },
        "override_specifiers": [
          {
            "commit_ids": ["prepaid_commit_A"]
          }
        ]
      }
    ]
  }'
```

Tant que l'engagement a du solde, la surcharge s'applique et la consommation est tarifée à 100 USD/unité. Une fois l'engagement épuisé, la surcharge ne s'applique plus et la consommation revient au tarif catalogue de 0 USD de la grille tarifaire.

<Note>
  **Le contrôle d'accès côté application reste requis**

  Ce modèle garantit zéro facturation pour toute consommation qui fuirait, mais il n'empêche pas la consommation d'être soumise. Limitez l'accès dans votre application en utilisant des [seuils de solde](/fr/guides/pricing-packaging/apply-credits-and-commits/alerts) ou des webhooks afin que les clients ne puissent pas continuer à consommer le produit après l'épuisement de leur engagement.
</Note>
