# Gérer votre configuration de facturation à la consommation

Découvrez comment gérer les tâches liées à la facturation pour votre modèle de facturation à la consommation.

Après avoir créé votre modèle de facturation à l’usage, vous pouvez modifier différentes parties de votre configuration de facturation. Par exemple, vous pouvez mettre à jour le tarif d’un poste d’abonnement au cours d’une période de facturation, antidater un abonnement pour inclure l’utilisation dans la prochaine facture, ou résilier des abonnements basés sur l’utilisation.

## Transformer les quantités

Vous pouvez utiliser l’option [transform_quantity](https://docs.stripe.com/api/prices/create.md#create_price-transform_quantity) pour transformer l’utilisation avant d’appliquer le tarif, ce qui vous permet de définir le tarif d’un lot de produits plutôt que celui d’unités individuelles. Cela vous permet de diviser l’utilisation déclarée par un nombre spécifique et d’arrondir le résultat à la hausse ou à la baisse.

> La modification de la quantité n’est pas compatible avec la [tarification échelonnée](https://docs.stripe.com/billing/subscriptions/usage-based/thresholds.md#tiered-pricing-threshold).

Par exemple, admettons que vous proposiez un service de location de voitures et que vous souhaitiez faire payer les clients pour chaque heure de location. Dans ce cas, vous enregistrez l’utilisation sous la forme d’un nombre de minutes.

```curl
curl https://api.stripe.com/v1/products \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "name=Car Rental Service"
```

Créez un tarif pour le service de location de voitures. Vous facturez 10&nbsp;USD par heure et arrondissez à l’unité supérieure pour facturer une heure complète, même si le client ne consomme pas la totalité de l’heure.

```curl
curl https://api.stripe.com/v1/prices \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "nickname=Car Rental Per Hour Rate" \
  -d unit_amount=1000 \
  -d currency=usd \
  -d "recurring[interval]=month" \
  -d "recurring[usage_type]=metered" \
  -d product={{CAR_RENTAL_SERVICE_PRODUCT_ID}} \
  -d "transform_quantity[divide_by]=60" \
  -d "transform_quantity[round]=up"
```

Si un client loue une voiture pendant 150&nbsp;minutes, il devra payer 30&nbsp;USD pour 3&nbsp;heures de location (2&nbsp;heures et 30&nbsp;minutes, arrondies à l’unité supérieure).

## Mettre à jour les tarifs en cours de cycle

Vous pouvez mettre à jour le tarif d’un poste d’abonnement au cours d’une période de facturation.

### Facturation flexible

Lorsque vous modifiez un tarif à la consommation en cours de cycle, nous conservons le taux en vigueur au moment où l’utilisation a eu lieu&nbsp;:

- **L’utilisation avant modification** est facturée à l’ancien tarif (par exemple, 50&nbsp;événements à 1&nbsp;$ = 50&nbsp;$).
- **L’utilisation après modification** est facturée au nouveau tarif (par exemple, 10&nbsp;événements à 5&nbsp;$ = 50&nbsp;$).

La manière dont le paiement précédant la modification est appliqué dépend du paramètre [proration_behavior](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-proration_behavior) que vous spécifiez lors de la mise à jour de l’élément de l’abonnement&nbsp;:

- `none`&nbsp;: aucun poste n’est créé&nbsp;; le montant précédant la modification n’est pas facturé.
- `create_prorations`&nbsp;: un poste correspondant au montant précédant la modification est ajouté à la facture suivante ou à la facture de fin de période.
- `always_invoice`&nbsp;: un poste correspondant au montant précédant la modification est généré et une facture est émise immédiatement au moment de la modification.

### Facturation classique

Avec les abonnements `billing_mode=classic`, l’utilisation précédant la modification est totalement ignorée sur les factures futures. Seule l’utilisation signalée après le changement de tarif est facturée, au nouveau tarif.

Par exemple, supposons que vous passiez du tarif A (1&nbsp;$ par événement) au tarif B (5&nbsp;$ par événement) le 16&nbsp;janvier. Si votre client a signalé 50&nbsp;événements avant la modification et aucun événement après, la facture de fin de mois s’élève à 0&nbsp;$ (l’utilisation précédant la modification n’est pas reportée).

Il existe une exception si vous utilisez des [seuils de facturation](https://docs.stripe.com/billing/subscriptions/usage-based/thresholds.md) et qu’une facture de seuil a déjà été générée à l’ancien tarif avant la modification. Cette facture de seuil est toujours facturée au client. La facture de fin de période ne comprend alors que l’utilisation du 16&nbsp;janvier au 31&nbsp;janvier au tarif B, et la facture de seuil ne compense aucune utilisation sur celle-ci.

Des restrictions similaires s’appliquent si vous ajoutez un nouvel élément d’abonnement avec un tarif à l’utilisation en cours de cycle. À la fin de la période, la facture ne comprend que l’utilisation à partir de la date à laquelle vous avez ajouté l’élément, au nouveau tarif.

Pour capturer l’utilisation précédant la modification lors du changement de tarif avec une facturation classique, choisissez l’une de ces options&nbsp;:

- Communiquez à nouveau l’utilisation agrégée pour la capturer dans le cycle sur le nouveau tarif.
- Réinitialisez le paramètre [billing_cycle_anchor](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-billing_cycle_anchor) sur `now`, ce qui clôture la période en cours et facture l’ancien tarif pour l’utilisation signalée jusqu’à présent.

Pour mettre à jour le tarif d’un poste d’abonnement&nbsp;:

```curl
curl https://api.stripe.com/v1/subscription_items/{{SUBSCRIPTION_ITEM_ID}} \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d price={{NEW_PRICE_ID}}
```

Pour supprimer un poste d’abonnement&nbsp;:

```curl
curl -X DELETE https://api.stripe.com/v1/subscription_items/{{SUBSCRIPTION_ITEM_ID}} \
  -u "<<YOUR_SECRET_KEY>>:"
```

Après la suppression, la facture ne reflète pas l’utilisation de ce poste.

## Créer un abonnement antidaté

Vous pouvez enregistrer l’utilisation d’un client avant même de créer lui créer un abonnement. Après avoir enregistré l’utilisation d’un client, utilisez le paramètre [backdate_start_date](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-backdate_start_date) pour créer un abonnement avant la génération du premier rapport.

Avec les abonnements `billing_mode=flexible`, la première facture d’abonnement inclut cette utilisation antidatée.

Avec les abonnements `billing_mode=classic`, la prochaine facture d’abonnement, générée au renouvellement du cycle, inclut cette utilisation antidatée.

```curl
curl https://api.stripe.com/v1/subscriptions \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d customer={{CUSTOMER_ID}} \
  -d "items[0][price]={{PRICE_ID}}" \
  -d backdate_start_date=1710000000
```

## Annuler des abonnements facturés à la consommation

Avec la facturation à l’usage, la facture que le client paie varie en fonction de sa consommation au cours de la période de facturation. Lorsque la modification de la période de facturation entraîne la fin anticipée d’une période de service, vous facturez au client l’utilisation accumulée au cours de la période de facturation raccourcie.

> Nous ne prenons pas en charge le [calcul au prorata](https://docs.stripe.com/billing/subscriptions/prorations.md) avec la facturation à la consommation.

Vous ne pouvez pas réactiver les abonnements annulés. Vous pouvez toutefois collecter les informations de facturation actualisées de votre client, mettre à jour son moyen de paiement par défaut et créer un nouvel abonnement à partir du dossier client existant.

Si vous utilisez [cancel_at_period_end](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-cancel_at_period_end) pour planifier l’annulation d’un abonnement, vous pouvez réactiver l’abonnement à tout moment jusqu’à la fin de la période. Pour ce faire, définissez `cancel_at_period_end` sur `false`.

Pour les abonnements qui sont résiliés à la fin de la période, la facture finale à la fin de la période inclut la consommation effective de la dernière période de facturation.
