- Standard subscription: Customers pay a recurring fee each billing period and all usage is either included or paid for separately in-arrears.
- Seat-based credit pool: Customers pay a recurring fee each billing period and are granted access to a pool of usage credits. Each seat on the subscription draws down from the shared credit pool. Overages are billed at the contract level.
- Individual seat credits: Customers pay a recurring fee each billing period and are granted access to credits scoped to individual seats. Overages are billed at the contract level.
Create a standard subscription
Subscriptions are configured on the customer’s contract. To configure the subscription, you must first ensure the correct subscription rate from the rate card is specified and then complete the subscription configurationPass the subscription config
For each subscription on a contract, set thesubscriptions config on the create contract call. Specify:
-
subscription_rate: Similar to overrides, specify which subscription rate on your rate card this config applies to using thebilling_frequencyandproduct_id. -
collection_schedule: Eitheradvanceorarrears. -
initial_quantity: The current quantity for the subscription. For seats, this is the initial seat count. For a platform license, this is likely just1. -
proration: Define whether to prorate for mid-period quantity changes and whether mid-period changes should invoice immediately or on the next billing cycle. - Optional fields: Optionally set the start and end dates of the subscription if different from the contract. Add a name or description for the subscription. These appear on the subscription line item.
Optionally override the subscription rate
Use override functionality to discount the list rate and ensure the rate isenabled on the contract. To perform an override on a subscription rate, you must specify both the billing_frequency and the product_id given that a single product_id may map to multiple rates.
Create the contract
See example contract creation below:INVOICINGYou must specify a
billing_provider_configuration on the contract for Metronome to successfully route invoices and collect payment on your behalf. See this guide for more information on billing configurations.Seat-based credit pool
Commonly, Metronome clients offer some amount of usage credits as part of their subscription offering. One way to model this is to provide a shared pool of credits that all seats on the subscription can consume. In order to model this in Metronome, you would follow the same instructions above for creating the subscription but additionally link the subscription to a recurring credit. To link a subscription to a recurring credit on contract creation, add atemporary_id to your subscription config. Then, on the recurring credit config, reference the temporary_id. Each billing period, a credit balance equal to access_amount will be provided on the contract per seat. When new seats are added to the contract, new balance will be made available in the shared pool based upon the defined proration settings.
Individual seat credit
Alternatively, some organizations may wish to issue seat scoped credits as part of their subscription package. In this model, each seat is entitled to a certain balance each period and only they can consume that balance. To configure seat scope credits, you need to specify a user id for each seat. Metronome uses this id to map usage to an individual seat. First, specifyquantity_management_mode to be SEAT_BASED. Then, instead of using the quantity field to pass the number of seats, populate the seats_config. This object is composed of three fields:
seat_ids: An array representing the unique identifier for each seat.initial_unassigned_seats_quantity: The number of seats that do not yet have a user associated to it. This will add to the total seat count for the subscription, but will not generate credits until aseat_idis specified.group_key: The presentation group key provided on the usage products. Metronome uses this key to map theseat_idto the correct usage and products.