Passer au contenu principal
Une fois vos produits et tarifs configurés, vous pouvez provisionner votre client avec un contrat. Metronome prend en charge trois types de configurations d’abonnement sur un contrat :
  • Abonnement standard : les clients paient des frais récurrents à chaque période de facturation et toute l’utilisation est soit incluse, soit payée séparément à terme échu.
  • Pool de crédits basé sur les sièges : les clients paient des frais récurrents à chaque période de facturation et reçoivent l’accès à un pool de crédits d’utilisation. Chaque siège de l’abonnement puise dans le pool de crédits partagé. Les dépassements sont facturés au niveau du contrat.
  • Crédits individuels par siège : les clients paient des frais récurrents à chaque période de facturation et reçoivent l’accès à des crédits limités aux sièges individuels. Les dépassements sont facturés au niveau du contrat.

Créer un abonnement standard

Les abonnements sont configurés sur le contrat du client. Pour configurer l’abonnement, vous devez d’abord vous assurer que le bon tarif d’abonnement de la rate card est spécifié, puis compléter la configuration de l’abonnement.

Passer la configuration de l’abonnement​

Pour chaque abonnement sur un contrat, définissez la config subscriptions sur l’appel create contract. Spécifiez :
  • subscription_rate : à l’instar des overrides, spécifiez à quel tarif d’abonnement de votre rate card cette config s’applique à l’aide de billing_frequency et product_id.
  • collection_schedule : soit advance, soit arrears.
  • initial_quantity : la quantité actuelle pour l’abonnement. Pour les sièges, il s’agit du nombre initial de sièges. Pour une licence de plateforme, il s’agit probablement simplement de 1.
  • proration : définit s’il faut proratiser pour les changements de quantité en milieu de période et si les changements en milieu de période doivent être facturés immédiatement ou lors du prochain cycle de facturation. Incluez éventuellement un objet rounding pour arrondir les charges d’abonnement proratisées afin d’améliorer la présentation des factures.
  • Champs facultatifs : définissez éventuellement les dates de début et de fin de l’abonnement si elles diffèrent du contrat. Ajoutez un nom ou une description pour l’abonnement. Ils apparaissent sur la ligne de l’abonnement.

Surcharger éventuellement le tarif d’abonnement

Utilisez la fonctionnalité d’override pour réduire le tarif de liste et assurez-vous que le tarif est enabled sur le contrat. Pour effectuer un override sur un tarif d’abonnement, vous devez spécifier à la fois la billing_frequency et le product_id, étant donné qu’un seul product_id peut correspondre à plusieurs tarifs.
AVERTISSEMENTMetronome ne facturera pas l’abonnement sur le contrat à moins qu’une configuration d’abonnement ne soit définie et que le tarif associé soit enabled.

Personnaliser la configuration du cycle de facturation

Personnalisez comment les périodes de facturation des abonnements sont ancrées et où les charges d’abonnement apparaissent sur les factures à l’aide de l’objet billing_cycle_config sur l’abonnement. Spécifiez :
  • anchor_date : la date à partir de laquelle Metronome commence à générer les périodes de facturation de l’abonnement. Doit être à la date de début de l’abonnement ou avant, et n’est pris en charge que pour les abonnements en avance. Par défaut, les abonnements s’ancrent à la même date que l’ancre de facture d’utilisation du contrat (généralement le 1er du mois). Définissez un anchor_date personnalisé pour découpler le cycle de facturation de l’abonnement du contrat — par exemple, pour facturer chaque client à la date anniversaire de son démarrage d’abonnement plutôt qu’au premier du mois ou à la date de début du contrat.
  • invoice_placement : contrôle où les charges d’abonnement apparaissent sur les factures. La valeur par défaut est ON_USAGE_INVOICE afin que les charges d’abonnement apparaissent sur la facture d’utilisation avec la date de facturation correspondante. Définissez éventuellement ce champ sur ON_SCHEDULED_INVOICE pour placer les charges d’abonnement sur des factures planifiées. Si une facture planifiée avec la même date de facturation existe déjà, la charge y est ajoutée ; sinon, une nouvelle facture planifiée est créée.

Créer le contrat

Voir l’exemple de création de contrat ci-dessous, où un contrat est créé avec un abonnement. Notez que l’abonnement est configuré pour facturer les charges proratisées immédiatement et arrondir le prix unitaire des charges proratisées au dollar le plus proche (car les tarifs USD sont exprimés en cents).
{
    "customer_id": "4c09936b-455d-4c72-a120-d71b600a7546",
    "rate_card_id": "740a2ca1-64f6-417d-807a-05f154b3b1fe",
    "starting_at": "2025-04-23T00:00:00.000Z",
    "billing_provider_configuration": {
        "billing_provider_configuration_id": "e045c62b-65e7-4e84-a924-3f06f8b621d0"
    },
    "overrides": [
        {
            "starting_at": "2025-04-01T00:00:00.000Z",
            "override_specifiers": [
                {
                    "billing_frequency": "annual",
                    "product_id": "ed518bcb-acc1-4cd8-85dd-880c2eb38994"
                }
            ],
            "entitled": true
        }
    ],
    "subscriptions": [
        {
            "collection_schedule": "advance",
            "initial_quantity": 2,
            "proration": {
                "invoice_behavior": "bill_immediately",
                "is_prorated": true,
                "rounding": { "rounding_method": "HALF_UP", "decimal_places": -2 }
            },
            "subscription_rate": {
                "billing_frequency": "annual",
                "product_id": "ed518bcb-acc1-4cd8-85dd-880c2eb38994"
            },
            "description": "pro plan no additions",
            "name": "Pro Plan",
            "custom_fields": {
                 "plan_tier": "pro"
            }
        }
    ]
}
FACTURATIONVous devez spécifier un billing_provider_configuration sur le contrat pour que Metronome puisse acheminer correctement les factures et collecter les paiements en votre nom. Consultez ce guide pour plus d’informations sur les configurations de facturation.

Pool de crédits basé sur les sièges

Couramment, les clients Metronome offrent une certaine quantité de crédits d’utilisation dans le cadre de leur offre d’abonnement. Une façon de modéliser cela est de fournir un pool partagé de crédits que tous les sièges de l’abonnement peuvent consommer. Pour modéliser cela dans Metronome, vous suivrez les mêmes instructions ci-dessus pour créer l’abonnement, mais en plus, vous lierez l’abonnement à un crédit récurrent. Pour lier un abonnement à un crédit récurrent lors de la création du contrat, ajoutez un temporary_id à votre config d’abonnement. Ensuite, dans la config du crédit récurrent, référencez le temporary_id. Chaque période de facturation, un solde de crédits égal à access_amount sera fourni sur le contrat par siège. Lorsque de nouveaux sièges sont ajoutés au contrat, un nouveau solde sera mis à disposition dans le pool partagé en fonction des paramètres de proratisation définis.
{
    "customer_id": "4c09936b-455d-4c72-a120-d71b600a7546",
    "rate_card_id": "740a2ca1-64f6-417d-807a-05f154b3b1fe",
    "starting_at": "2025-04-23T00:00:00.000Z",
    "billing_provider_configuration": {
        "billing_provider_configuration_id": "e045c62b-65e7-4e84-a924-3f06f8b621d0"
    },
    "overrides": [
        {
            "starting_at": "2025-04-01T00:00:00.000Z",
            "override_specifiers": [
                {
                    "billing_frequency": "annual",
                    "product_id": "ed518bcb-acc1-4cd8-85dd-880c2eb38994"
                }
            ],
            "entitled": true
        }
    ],
    "subscriptions": [
        {
            "collection_schedule": "advance",
            "initial_quantity": 2,
            "proration": {
                "invoice_behavior": "bill_on_next_collection_date",
                "is_prorated": true
            },
            "subscription_rate": {
                "billing_frequency": "annual",
                "product_id": "ed518bcb-acc1-4cd8-85dd-880c2eb38994"
            },
            "description": "pro plan no additions",
            "name": "Pro Plan",
            "custom_fields": {
                 "plan_tier": "pro"
            },
            "temporary_id": "pro_plan_annual"
        }
    ],
    "recurring_credits": [  
      {  
        "access_amount": {  
          "credit_type_id": "d3cb2827-dcb5-44af-9354-947a7197b9a6",  
          "unit_price": 100  
        },  
        "commit_duration": {  
          "value": 1,  
          "unit": "periods"  
        },  
        "priority": 1,   
        "product_id": "652e1298-7638-45a8-b691-cdf47e46cbc8",  
        "starting_at": "2025-06-01T00:00:00Z",  
        "subscription_config": {  
          "subscription_id": "pro_plan_annual",  
          "apply_seat_increase_config": {  
            "is_prorated": true  
          }  
        }  
      }  
  ]
}
ASTUCESi vous avez un contrat existant avec un abonnement standard, vous pouvez le lier à un crédit récurrent à l’aide de l’objet add_recurring_credits sur le point de terminaison /contracts/edit.

Crédit individuel par siège

Alternativement, certaines organisations peuvent souhaiter émettre des crédits limités aux sièges dans le cadre de leur package d’abonnement. Dans ce modèle, chaque siège a droit à un certain solde par période et seul lui peut consommer ce solde. Pour configurer des crédits limités aux sièges, vous devez spécifier un ID utilisateur pour chaque siège. Metronome utilise cet ID pour mapper l’utilisation à un siège individuel.
ASTUCEPar défaut, Metronome prend en charge jusqu’à 1000 sièges avec des crédits individuels par siège. Contactez Metronome si votre cas d’usage nécessite plus de 1000 sièges.

Prérequis

Avant de configurer des crédits individuels par siège sur un contrat, vous devez configurer la tarification basée sur les sièges sur vos produits d’usage. Cela implique trois étapes :
1

Définir la clé de groupe sur votre billable metric

Ajoutez une clé de groupe sur la billable metric qui sous-tend votre produit d’usage, par exemple seat_id. Les clés de groupe doivent être définies au niveau de la metric avant de pouvoir être utilisées sur les produits.
Les clés de groupe ne peuvent pas être modifiées après la création d’une billable metric de streaming. Si votre metric existante n’inclut pas seat_id comme clé de groupe, vous devez créer une nouvelle metric avec celle-ci définie.
2

Ajouter la clé de groupe de présentation à votre produit

Définissez seat_id comme clé de groupe de présentation sur chaque produit d’usage qui doit suivre la consommation par siège. Les clés de groupe du produit doivent référencer des clés de groupe déjà définies sur la billable metric sous-jacente.
3

Inclure seat_id dans vos événements d'usage

Chaque événement d’usage que vous envoyez à Metronome doit inclure une propriété seat_id pour que l’utilisation soit correctement attribuée au bon siège. Voici un exemple :
{
  "event_type": "video_generation",
  "properties": {
    "model_name": "claude-3-opus",
    "resolution": "1080p",
    "environment": "production",
    "video_duration_seconds": 20,
    "seat_id": "example@metronome.com"
  },
  "transaction_id": "21f00039-0572-4f63-bf0f-b19faa3d10f8",
  "customer_id": "94fbf9f3-2826-4503-8446-013c68817744",
  "timestamp": "2025-10-15T15:23:48.751Z"
}
La valeur de seat_id doit être un identifiant unique et stable pour chaque siège — comme une adresse e-mail ou un ID utilisateur.

Configurer le contrat

Spécifiez quantity_management_mode comme SEAT_BASED. Ensuite, au lieu d’utiliser le champ quantity pour passer le nombre de sièges, renseignez la seat_config. Cet objet est composé de trois champs :
  • initial_seat_ids : un tableau représentant l’identifiant unique de chaque siège.
  • initial_unassigned_seats_quantity : le nombre de sièges qui n’ont pas encore d’utilisateur associé. Cela s’ajoutera au nombre total de sièges pour l’abonnement, mais ne générera pas de crédits tant qu’un seat_id n’est pas spécifié.
  • seat_group_key : la clé de groupe de présentation fournie sur les produits d’usage. Metronome utilise cette clé pour mapper le seat_id à la bonne utilisation et aux bons produits.
Un exemple d’appel de contrat est présenté ci-dessous :
{
    "customer_id": "1f79c5c6-400a-4be4-9573-30c667454e4c",
    "rate_card_id": "79b2716d-530c-4ff9-86f8-3ee91f442b1b",
    "starting_at": "2025-09-01T00:00:00Z",
    "name": "Extend RC 2",
    "billing_provider_configuration": {
        "billing_provider_configuration_id": "e045c62b-65e7-4e84-a924-3f06f8b621d0"
    },
    "subscriptions": [
        {
            "collection_schedule": "advance",
            "proration": {
                "invoice_behavior": "bill_on_next_collection_date",
                "is_prorated": true
            },
            "subscription_rate": {
                "billing_frequency": "annual",
                "product_id": "ed518bcb-acc1-4cd8-85dd-880c2eb38994"
            },
            "description": "pro plan no additions",
            "name": "Pro Plan",
            "custom_fields": {
                 "plan_tier": "pro"
            },
            "quantity_management_mode": "SEAT_BASED",
            "seat_config": {
                "initial_seat_ids": ["seat1@metronome.com", "seat2@metronome.com", "seat3@metronome.com"],
                "seat_group_key": "seat_id"
            },
            "temporary_id": "pro_plan_annual"
        }
    ],
    "recurring_commits": [
        {
            "product_id": "35a467c7-fc24-46c2-884b-66af8d349674",
            "access_amount": {
                "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
                "unit_price": 1000
            },
            "invoice_amount": {
                "credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
                "unit_price": 1000,
                "quantity": 1
            },
            "priority": 100,
            "starting_at": "2025-09-01T00:00:00Z",
            "ending_before": "2025-11-16T00:00:00Z",
            "commit_duration": {
                "value": 1
            },
            "rollover_fraction": 0.5,
            "subscription_config": {
                "apply_seat_increase_config": {
                    "is_prorated": true
                },
                "subscription_id": "pro_plan_annual",
                "allocation": "INDIVIDUAL"
            }
        }
    ]
}