Skip to main content

Managing plans

This document provides a detailed look at the options for defining plans within Metronome. If you haven't already, read the products and pricing overview to understand the role of plans in how Metronome prices and invoices customers.

Plans determine pricing and invoicing

If a product defines what customers pay for, plans determine how much they pay. In the cloud database example from the products and plans overview, the product includes three charges: CPU usage, max storage, and a base recurring charge. The plan tells Metronome what prices each of these charges should carry at any given time and when and how they should be invoiced.

The following example plan shows most of the features of plans:

an example plan in the Metronome web UI


Customers may pay different prices for the same product for a variety of reasons, such as a discounted rate for prepayment or an individually negotiated enterprise contract. Plans are what determine how much a customer pays for the various charges associated with a product.

Usage-based charges

A usage-based price is a rate applied to a billable metric. Metronome supports both flat rates and tiered pricing. In flat pricing, the same rate is applied regardless of quantity.

In tiered pricing, the rate applied depends on the quantity thus far in the billing period. In the cloud database example, a plan might dictate that the first thousand gigabytes of data cost $0.10 per gigabyte, and every gigabyte thereafter costs $0.09.

Fixed recurring charges

Fixed recurring charges are not related to any billable metric, so they don't depend on usage. The cloud database example product includes a recurring "base charge." A plan needs to set a price for this charge.

Pricing ramps

Pricing does not always remain constant over time. A common example is an introductory rate with a low invoice minimum that allows new customers to build their integration without paying a lot. This pricing might last for the first billing period or two, after which higher rates and minimums apply.

Metronome supports this in the form of pricing ramps. When you create a plan, you can specify how many pricing ramps exist and how long each one lasts. You'll need to price all the included products for each ramp. This includes setting prices for each charge and adding any needed minimums.

Trial invoices always use the pricing from the plan's first pricing ramp.


Pricing ramps are a flexible way to change prices over time. Use them for changes to a plan that happen with a fixed schedule. For prices that change based on a customer's preferences, e.g. upgrading or downgrading, it's better to use separate plans and move a customer from one to the other.

Spending minimums

Metronome supports invoice total minimums. If the customer's spending does not meet the required minimum, an invoice adjustment is added to make up the difference.

Using the cloud database example, an invoice minimum could say that the customer must spend at least $1,000 per billing period overall.

Currencies and custom pricing units

Products can be priced in a currency, such as U.S. dollars, or a custom pricing unit. For example, the cloud database product might be priced in "Cloud Consumption Units" (CCUs), which customers purchase up front when signing on. When using a custom pricing unit in a plan, you will be prompted to enter an overage price. For example, a customer may be billed $0.10 per CCU in arrears once any applicable credits are consumed.

Multiple pricing units in the same plan

All charges within a given product have to be priced in the same currency or custom pricing unit, but a plan can include multiple products that are priced in different pricing units. A single invoice will be issued with any overages for custom pricing units converted into the invoice's currency, e.g. U.S. dollars.


In addition to pricing, plans dictate when invoices are produced and which charges are included.

Invoicing schedule

Plans define the invoice schedule. Metronome supports monthly, biweekly, quarterly, annual, and semiannual billing. In the case of monthly billing, billing periods can either start on the first day of each month or monthly based on the plan start date, e.g. the 14th of each month for a customer who started their plan on May 14th. In the case of annual billing, billing periods start based on the plan start date. For example, a customer whose plan starts on February 2nd will have billing periods that start on February 2nd each year.

Billing periods always start and end at midnight UTC.

About plan lengths

Because plans can be reused across customers, they don't specify how long they last. You might want to add one customer to a plan in perpetuity, while another customer might have a contract specifying that their plan lasts only one year.

Free trials

Plans can specify a default trial, which can then be overridden on a per-customer basis.

In-advance billing

By default, all charges are billed in arrears, which means that they show up on an invoice at the end of a billing period. Optionally, you can choose to bill for a recurring charge in advance. Such a charge will show up on an invoice at the beginning of a billing period instead.

When choosing to bill in advance, you can also set a schedule. For example, you might choose to charge $1000 for premium support, billed in advance once every three billing periods.

Creating plans

Plans can be created in the Metronome web UI. The plan creation wizard walks you step by step through the process of setting up an invoicing schedule, choosing products, pricing their charges, and setting up any applicable ramps and minimums.

Next steps

Once you've created a plan, you're ready to associate it with customers. You can do this through the web UI or the API.