Source: https://www.revvly.ai/docs/concepts/variableComponent

Pricing engine

# Variable Component

A versioned, priced rule attached to a Meter — flat, tiered, overage, commission.

## Overview

Variable Components are the core of Revvly's pricing engine. Each one attaches a pricing model — flat rate, volume tiered, graduated tiered, stairstep, true overage, committed overage, commission, or promotional — to a Meter. Two settings decide how it measures: whether the quantity carries forward at the period boundary or resets, and which number in the period is rated. A component whose quantity resets is metered consumption — its total is only final once the period closes, so it bills in arrears and its invoice waits for a sealed usage reading (see Capture metered usage). Its unreported-usage policy says what an empty period means for it: hold the invoice for a human, or seal at zero. A component carries its own operator-facing name (it no longer borrows the bound Meter's display name), and creating one no longer requires creating a Meter first — leave the meter unset and Revvly provisions one automatically from the component's name; binding to an existing Meter stays available as an advanced option. As of v4 a component carries only the structure of the model (tier/step boundaries, included units, committed quantity, proration, billing timing, measurement mode) — the actual money lives in a separate Variable Component Price scoped per currency. Components are versioned: once Published, the structure is frozen, and you publish a new version to change it. Modules and Bundles reference component versions; subscriptions pin them.

## How it connects

This concept highlighted in context. Click a peer to navigate.

Related

Module

Bundle

Meter

Variable Component

Related

Variable Component Price

Custom Pricing Agreement

Subscription

- Attaches to a Meter
- Referenced by Modules and Bundles via variableComponentRefs (pinned to a version)
- Priced per scope via Variable Component Price
- Overrideable per customer via Custom Pricing Agreement

## Key fields

What you’ll see when creating or editing a Variable Component.

- **Name**: Operator-facing label, set directly at creation — no longer inherited from the Meter

- **Model type**: Flat / Volume tiered / Graduated / Stairstep / True overage / Committed overage / Commission / Promotional

- **Meter**: The metric this prices — optional at creation, auto-provisioned from the name if left unset

- **Structure**: Tier/step boundaries, included units, committed quantity — but no money (that lives on Variable Component Price)

- **Version**: Auto-incremented on each Publish

- **Status**: Draft / Published / Archived

- **Proration**: Full month / Daily / None

- **Billing timing**: Advance / Arrears — a per-period quantity must bill in arrears

- **Reset behaviour**: Carries forward / Resets each period (this is what gates the invoice on a sealed reading)

- **Billed value**: Highest observed / Total over the period / Value at period end

- **Unreported usage policy**: Review — hold the invoice for a human (default) / Zero — seal an empty period at zero

- **Limit period**: How included quantities reset (rolling, calendar, billing-cycle)

## Example

Seats — flat rate · v2

Model

Flat rate, $5 / seat / month

Included in Pro tier

10 seats free

Status

Published

