Product Catalog

Incompatible with
on-prem

Konnect Metering & Billing’s Product Catalog lets you centrally define the different plans and plan features that make up your offering, so you can manage pricing, entitlements, and packaging in one place.

Each Product Catalog plan consists of:

  • Features that you want to price or govern. Can be metered or static.
  • Rate cards that determine which features (entitlements) and how much of the feature a subscriber can access (pricing models)
  • Optional add-ons that allow customers to purchase additional usage or features on demand

For example, say you’re metering API Gateway requests for your API and you want to charge customers based on API usage, you might configure your plans like the following:

 
flowchart TB
 subgraph free-plan["Free Plan"]
    direction TB
        subgraph feature-free["Feature"]
            direction TB
            meter-free["Meter
(API requests)"] end rate-card-free["Rate Card
(10 requests/month)"] entitlement-free["Entitlement (Metered)"] end subgraph premium-plan["Premium Plan"] direction TB subgraph feature-premium["Feature"] direction TB meter-premium["Meter
(API requests)"] end rate-card-premium["Rate Card
(1000 requests/month)"] entitlement-premium["Entitlement (Metered)"] addon["Add-on
(1000 additional requests)"] end meter-free ~~~ rate-card-free rate-card-free ~~~ entitlement-free meter-premium ~~~ rate-card-premium rate-card-premium ~~~ entitlement-premium entitlement-premium ~~~ addon

Metering & Billing’s Product Catalog supports various packaging and pricing strategies:

Use case

Description

Self-service plans Let users pick from tiered plans on your pricing page.
Enterprise deals Customize pricing and discounts for specific customers.
Add-ons Cross-sell or bundle products, like extra storage, SSO, etc.
Usage-based pricing Optimize revenue by billing for outcomes.
Versioned catalogs Maintain multiple catalog versions and migrate users as needed.
Trial bundles Offer limited-time free or discounted bundles to new users.

Features

Features are part of your product offering and the building blocks of your plans and entitlements. They are the resource you want to govern and invoice for. For example, LLM Models, tokens, storage units. Features are associated with a meter, so that you can connect usage to a feature that you can then charge for.

Features are the building blocks of your product offering, they represent the various capabilities of your system. Practically speaking, they typically translate to line items on your pricing page and show up on the invoice.

The feature set between plans can vary in terms of what features are available, what configurations are available for a given feature, and what usage limits are enforced.

The following table details an example for a fictional AI startup:

Feature

Free plan

Premium plan

GPT Tokens 10,000 /m 1,000,000 /m
Available models gpt-3 gpt-3, gpt-4
SAML SSO auth - Yes

Features can be archived, after which no new entitlements can be created for them, but the existing entitlement are left intact. You can think of this as deprecating a feature, removing it from the pricing page, or migrating it to a new name (key).

Unit cost

You can attach a per-unit cost to a feature to calculate the total cost of usage. This is useful for tracking infrastructure costs, understanding margins, and analyzing spending across customers. Once configured, you can query and visualize costs in Cost Analytics.

Unit Cost is your internal cost: To invoice customers and collect revenue use rate cards.

There are two types of unit costs: manual and LLM.

Manual unit cost

Manual unit cost is a fixed, per-unit cost amount in USD. Use this when the cost per unit is constant, for example:

  • $0.005 per API request
  • $0.10 per compute minute
  • $1.00 per agent run

LLM unit cost

LLM unit cost uses the built-in LLM cost database to lookup the cost. The cost per token is automatically resolved based on the LLM provider, model, and token type. This is ideal for AI products where token pricing varies by model.

LLM unit costs can either be static or dynamic:

Mode

Description

When to use

Static Specify fixed values for provider, model, and/or token type. For example, set provider to openai, model to gpt-4, and token type to input. The feature tracks a single provider, model, or token type.
Dynamic Map provider, model, and/or token type from meter group-by properties. For example, map provider from the meter’s provider dimension and model from the model dimension. The feature’s meter tracks multiple providers or models via group-by dimensions.

The following fields are available for LLM unit cost configuration:

Static field

Dynamic field

Description

Provider Provider property The LLM provider (for example, openai, anthropic). Static sets a fixed value, dynamic reads from a meter group-by dimension.
Model Model property The model ID (for example, gpt-4, claude-3-5-sonnet). Static sets a fixed value, dynamic reads from a meter group-by dimension.
Token type Token type property The token type (for example, input, output, cache_read, reasoning). Static sets a fixed value, dynamic reads from a meter group-by dimension.

Feature configuration

Features have a system-generated ID and a user-defined key. The key should be an easy-to-understand string that can be used to reference the feature in your codebase, gpt_4_tokens for example.

If you want to track usage for a feature, you can associate a meter with it. The associated meter will be used to track usage in metered entitlements of the feature. You can also filter the usage tracked by the meter using the Meter Group Filters field. This is useful if you want to share the same meter across different features, but want to track and enforce usage separately based on a differentiating property. For example, if one meter tracks all model token usage, you can set a filter on model=gpt-4 to track and enforce GPT-4 tokens separately from other models. In this case, the meter must have the same group-by keys defined.

The associated meter must use SUM or COUNT as its aggregation type.

The following fields are available for feature configuration:

Field

Description

Name A human-readable display name for the feature.
Key A unique lookup key to help access features in API or web.
Meter Optional. The meter to use to track usage of the feature.
Meter Group Filters Optional. The filter for a subset of usage in the meter.

Plans

Plans are a core component of the Product Catalog. Plans define the pricing and entitlements your customers receive in Konnect Metering & Billing. They act as reusable templates that describe what a customer gets and how they are charged. Each plan can include multiple phases, prices, and entitlements, and can be versioned.

Plans can take different forms, for example:

  • $99 per month for 1 million API requests
  • 10 GB storage included
  • SAML or SSO support

Rate cards

Plans are built from rate cards, which determine which features a plan can access, the price, and how much of a feature they can use (called entitlements). Rate Cards define the configuration of features that subscribers will be entitled to and charged for.

For example, to set up the previous example plan, you’d use the following rate cards:

Feature

Price

Entitlement

AI Tokens $99/m 1,000,000 /m
Storage $0/m 10 GB /m
SAML SSO $0/m True

Rate cards can be configured with or without a feature:

  • With a feature: Rate cards with features can be priced as recurring, one-time flat, or usage-based. Rate cards with features can have an entitlement to control access. When the associated feature has a meter, the rate card can describe usage limits.
  • Without a feature: Rate cards without features can only have a flat-fee price. Rate cards without features don’t have an entitlement to control access.

Add-ons

Add-ons let you extend your plans with optional features or capacity that customers can purchase on demand. They are versioned and consist of one or more rate cards defining pricing, entitlements, and billing cadence independently of the base plan.

See the Add-ons reference to learn more.

Pricing models

Rate cards offer several different pricing models, listed in the following table:

Pricing model

Description

Free Free pricing
Flat fee A one-time or recurring fee
Usage based Linear pricing based on metered usage
Tiered Tiered pricing based on metered usage
Package Pricing based on fixed-sized usage packages
Dynamic USD prices created dynamically from meter values

Besides the Free pricing model, other models require configuration that you can see from the Konnect UI.

See the pricing models reference for details.

Tax calculations

Metering & Billing doesn’t calculate taxes itself. Instead, it configures external services to do so with Product Catalog. Currently, Metering & Billing supports Stripe Tax.

Metering & Billing supports the following tax settings:

  • Inclusive: The listed price already includes tax. A 10% inclusive tax on a $500 item still results in a $500 invoice.
  • Exclusive: Tax is added on top of the listed price. A 10% exclusive tax on a $500 item raises the invoice total to $550.
  • Tax codes: Apply a tax code to a feature. Some payment providers, like Stripe, apply their own default tax code. In those cases, you can leave Metering & Billing’s tax settings blank.

You can enable tax collection from a Rate Card or the billing profile settings.

In Metering & Billing, you can define the tax behavior on multiple levels, from lowest to highest precedence:

Use Case

Setting

Fallback to the tax behavior of the payment provider, like Stripe. Payment provider
Define the default tax behavior, if any, for all customers. Billing profile
Override the default tax behavior on a per Rate Card basis. Plan Rate Card
Override the default tax behavior on a per-subscription basis. Subscription Rate Card
Override the tax behavior per invoice line item. Invoice

We recommend setting the tax behavior on the payment provider level if you use Stripe for tax calculation. Tax behavior is optional at the billing profile, plan rate card, and subscription rate card levels.

When tax enforcement is enabled, Metering & Billing prevents you from starting a subscription if automatic tax calculation isn’t supported. When enforcement is enabled, the following actions are blocked:

  • Creating a paid subscription when tax cannot be calculated
  • Finalizing an invoice when tax cannot be calculated
  • Validation logic also varies by tax service. For example, with Stripe Tax, Metering & Billing uses Stripe’s APIs to verify whether tax calculation is supported for the customer. In that case of Stripe, the customer must have a valid tax location.

Entitlements

Entitlements are used to control access to different features.

They make it possible to implement complex pricing scenarios such as monthly quotas, prepaid billing, and per-customer pricing.

Entitlements can help you implement various monetization strategies:

  • Enforce usage limits, like monthly token allowances.
  • Sell plans with various feature sets.
  • Offer custom quotes and per-customer pricing.
  • Adopt prepaid billing and grant usage, and handle top-ups.
  • Define and track pre-purchase commitments.

Entitlements are available in three types: metered, static, and boolean. See the Entitlements reference to learn more.

Entitlement enforcement: Kong Gateway and the AI Gateway do not automatically block traffic when a customer’s entitlement is exhausted. To enforce limits, set up a webhook notification rule and cut off access in your own infrastructure. See Enforcing entitlements for details.

Grants

A grant is a record of usage allowance issued to a specific customer via a metered entitlement. Grants determine how much of a feature a customer is allowed to consume. A metered entitlement tracks a running balance. When usage is reported, it is deducted from the grants issued for that entitlement.

Billing cadence

Rate cards include a billing cadence property that determines the billing frequency for the associated feature. For instance, when a usage-based rate card specifies a billing cadence of one month (P1M), the system generates monthly invoices reflecting that period’s usage.

For flat fee rate cards, the billing cadence can be omitted. In this case, the specified fee is charged once per subscription phase rather than recurring at regular intervals.

Price

The price property defines the price the feature is sold at. See the Pricing models reference for more details.

Free items can be implemented using three distinct approaches:

  • Omitting the price setting
  • Setting an explicit price of $0
  • Applying a 100% discount to the standard price

Each approach has different implications:

When no price is set across all rate cards, subscriptions can be initiated without payment method information, making it suitable for free plans.

If any rate card has an explicit $0 price, payment method information is still required during subscription setup.

Using a 100% discount on the standard price provides transparency to users by displaying the original value of the feature before the discount.

Plan versions

Plans are versioned to allow you to make changes without affecting running subscriptions. Each plan can have one published and one draft version. Editing already published plans will create a new draft version. Once you are ready, you can publish the draft version.

Subscriptions are bound to a specific version of the plan and can be migrated to a new version.

Plan phases

A plan can have multiple phases, such as a free trial for the first 30 days and then converting to a paid plan after the 30 days are up. Each phase can have a different price and entitlement. Phases can be used to create automatic time-based offering changes, like trials, reverse trials, ramp-up phases.

Example for reverse trials with plan phases:

  • Phase 1 (Trial): limited to 100,000 tokens, premium features included
  • Phase 2 (Free): limited to 1,000 tokens

Discounts and commitments

Rate card discounts and commitments allow you to adjust the price of a feature in a plan.

The following table describes the discounts and commitment types:

Discount

Description

Percentage discount Reduces price by a fixed percent across all usage.
Usage discount Pricing applies only after the discounted usage value is reached. You can use this to define overage prices.
Minimum spend Guarantees a customer pays a specified amount, even if their usage is less. For example, if the minimum spend is set to $10, customers will pay $10 even if they only use $2 worth of the API or LLM token. The minimum spend line only appears on the invoice that includes the end of the line’s billing period.
Maximum spend Sets the maximum amount a customer will pay for a feature. For example, if maximum spend is set to $10, customers will only pay $10, even if they have a $100 worth of usage.

Subscriptions

Konnect Metering & Billing subscriptions link your Customers to plans, and meters.

Help us make these docs great!

Kong Developer docs are open source. If you find these useful and want to make them better, contribute today!