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

# Planifier un changement de fournisseur de facturation

> Changez de fournisseur de facturation sur un contrat existant sans en créer un nouveau.

Metronome prend en charge le changement entre n'importe quelle combinaison de Stripe, NetSuite et fournisseurs marketplace (AWS, Azure, GCP) sur un contrat. Un contrat stocke un **planning de configuration du fournisseur de facturation** — une liste ordonnée de segments, chacun avec un horodatage `effective_at` aligné sur une frontière de période de facturation. La configuration active pour une facture donnée est le segment avec la date `effective_at` la plus récente avant la date de fin de la période de service ou la date `issued~at` s'il n'y a pas de date de fin de période de service.

## Transitions prises en charge

| De → Vers                                | Période actuelle | Période suivante |
| :--------------------------------------- | :--------------: | :--------------: |
| Stripe → Stripe                          |         ✅        |         ✅        |
| Stripe → NetSuite                        |         ✅        |         ✅        |
| NetSuite → Stripe                        |         ✅        |         ✅        |
| Stripe → Marketplace (AWS / Azure / GCP) |         ❌        |         ✅        |
| Marketplace → Stripe                     |         ❌        |         ✅        |
| Marketplace → Marketplace                |         ❌        |         ✅        |
| NetSuite → Marketplace                   |         ❌        |         ✅        |
| Marketplace → NetSuite                   |         ❌        |         ✅        |

## Planifier un changement

Utilisez le champ `add_billing_provider_configuration_update` sur `POST v2/contracts/edit`. Le champ `effective_at` contrôle quand la nouvelle configuration prend effet : `START_OF_CURRENT_PERIOD` ou `START_OF_NEXT_PERIOD`.

**Exemple : corriger une mauvaise configuration Stripe, effet immédiat**

Basculer d'une configuration Stripe à une autre au début de la période actuelle. La facture brouillon actuelle sera routée vers la nouvelle configuration. Si une facture a déjà été finalisée et envoyée à Stripe pendant cette période, la nouvelle configuration ne s'y appliquera pas — toutes les factures sont garanties d'être envoyées exactement une seule fois.

```bash theme={null}
curl https://api.metronome.com/v2/contracts/edit \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "8cecbf69-960f-4f66-9575-edebb7d95e88",
    "contract_id": "6058587f-763c-400f-a822-3edb3eb2b86b",
    "add_billing_provider_configuration_update": {
      "billing_provider_configuration": {
        "billing_provider_configuration_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      },
      "schedule": {
        "effective_at": "START_OF_CURRENT_PERIOD"
      }
    }
  }'
```

**Exemple : transition de Stripe vers AWS Marketplace, effet à la période suivante**

Toutes les factures de la période de facturation actuelle sont routées selon la configuration Stripe existante. La configuration marketplace prend effet au début de la période suivante.

```bash theme={null}
curl https://api.metronome.com/v2/contracts/edit \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "8cecbf69-960f-4f66-9575-edebb7d95e88",
    "contract_id": "6058587f-763c-400f-a822-3edb3eb2b86b",
    "add_billing_provider_configuration_update": {
      "billing_provider_configuration": {
        "billing_provider_configuration_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901"
      },
      "schedule": {
        "effective_at": "START_OF_NEXT_PERIOD"
    }
  }'
```

## Consulter le planning de configuration du fournisseur de facturation

Récupérez un contrat en utilisant `POST v2/contracts/get` pour consulter le planning complet. Le champ `customer_billing_provider_configuration` retourne la configuration actuellement active, sans changement. Le champ `billing_provider_configuration_schedule` retourne une liste ordonnée de tous les segments passés, actuels et futurs.

```json theme={null}
{
  "data": {
    "id": "6058587f-763c-400f-a822-3edb3eb2b86b",
    "customer_id": "8cecbf69-960f-4f66-9575-edebb7d95e88",
    "customer_billing_provider_configuration": {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "billing_provider": "stripe",
      "delivery_method": "direct_to_billing_provider"
    },
    "billing_provider_configuration_schedule": [
      {
        "billing_provider_configuration": {
          "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "billing_provider": "stripe",
          "delivery_method": "direct_to_billing_provider"
        },
        "effective_at": "2025-01-01T00:00:00.000Z",
        "effective_until": "2025-06-01T00:00:00.000Z"
      },
      {
        "billing_provider_configuration": {
          "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
          "billing_provider": "aws_marketplace",
          "delivery_method": "direct_to_billing_provider"
        },
        "effective_at": "2025-06-01T00:00:00.000Z",
        "effective_until": null
      }
    ]
  }
}
```

## Contraintes et considérations

<Note>
  **Les changements s'alignent sur les frontières de période de facturation.** `START_OF_CURRENT_PERIOD` correspond au début de la période de service de la facture d'utilisation actuelle. `START_OF_NEXT_PERIOD` correspond au début de la période de service suivante. Chaque facture est associée à exactement une configuration de fournisseur de facturation en fonction de la date de début de sa période de service.
</Note>

<Note>
  **Les transitions vers un marketplace nécessitent `START_OF_NEXT_PERIOD`.** La facturation marketplace est mesurée à partir du début d'une période, donc les transitions en milieu de période ne sont pas prises en charge. Lors d'une transition vers un marketplace, la période actuelle se termine intégralement sur la configuration existante. Lors d'une transition depuis un marketplace, celui-ci continue à facturer jusqu'à la fin de la période actuelle.
</Note>

<Note>
  **La facturation par seuil doit être désactivée avant de passer à un fournisseur marketplace.** Si un contrat a une configuration de facturation par seuil active, elle doit être supprimée avant de planifier une transition vers un fournisseur marketplace.
</Note>

<Note>
  **`customer_billing_provider_configuration` est inchangé et rétrocompatible.** Le champ existant sur les réponses `contracts/get` et `contracts/list` continue de retourner la configuration actuellement active. Aucun changement n'est requis pour les intégrations existantes qui lisent ce champ.
</Note>

<Note>
  **Un maximum de 10 segments de planning par contrat.** Si vous avez besoin de capacité supplémentaire sur un contrat spécifique, contactez votre équipe de compte.
</Note>

<Note>
  **Pour annuler un changement futur planifié**, planifiez un nouveau segment couvrant la même période. Le dernier segment prévaut.
</Note>
