Per-unit pricing

Concepts

Per-unit pricing is a model where you charge your customer for each individual unit of a product or service they consume or purchase. This model is ideal for services with measurable output, as it ensures that the total cost reflects the actual volume of delivery.

The logic of dimensions

Per-unit pricing is a 1-Dimensional model. In this framework, the price is a function of a single independent variable (P = f(x)). To resolve the total cost, the engine requires a quantity, either fetched automatically via a meter or defined manually.

  • Linear nature: The total cost increases at a constant rate relative to the quantity consumed ().
  • Data requirements: You must provide two data points: a fixed unit price and a quantity source (a billable metric or manual input).

SaaS example: API consumption

A common SaaS application of this model is API Infrastructure. In this scenario, every successful API request is a "unit."

  • Product: Search API Access
  • Unit: 1,000 API Requests
  • Unit Price: $0.05 / unit
  • Scenario: If a customer makes 2,000,000 API requests in a month, the engine fetches that total from the usage meter and calculates the invoice as follows:
(2,000,000 ÷ 1,000) × 0.05 = $100.00

Get Started

To configure a per-unit product, you must first define the pricing model and link it to your quantity data.

  1. Navigate to Contracts > Products.
  2. Click the + CREATE NEW drop-down and select Product.
  3. In the Pricing Models drop-down, select the Per Unit Pricing option.
  4. Configure the Metered status:
  • If metered: Select the usage aggregate that tracks your consumption data.
  • If non-metered: Enter the fixed quantity for the billing period.
  1. Enter the Unit Price and complete the remaining product details.
  2. Click SAVE & PROCEED.

How-to: Add per-unit products to a contract

Once you define the product in your library, follow these steps to attach it to an active customer agreement.

  1. Navigate to Contracts > Contracts and select the desired contract.
  2. In the Summary tab, click the + ADD PRODUCT link.
  3. Search for your per-unit product (e.g., "Search API").
  4. Review the pricing details and click ADD PRODUCT to confirm.

Reference

Technical Specifications

AttributeSpecification
Dimensionality1-Dimensional
Mathematical formulaTotal = Unit Price × Quantity
Logic typeUnivariate / Linear
Data objectpricing_model_type: per_unit
Calculation engineScales linearly with quantity. The total price increases at a fixed rate for every unit added or consumed. If you need a rate that changes based on volume thresholds (e.g., price drops after 1,000 units), see Tiered pricing.
UI PathContracts > Products or Contracts > Contracts > [Target] > Summary

Hierarchical relationship between entities

In Zenskar, pricing models are governed by a hierarchical relationship between entities:

  • Contract: The legal agreement between you and your customer.
  • Phase: A specific time-bound period (e.g., Q1, Implementation Phase) within that contract.
  • Product: The actual service or software module being sold.
  • Pricing Model: The specific logic (per-unit) that defines how that product is billed.
flowchart LR
    CONTRACT[Contract] ---|"has one or more"| PHASE[Phase]
    PHASE ---|"has one or more"| PRODUCT[Product]
    PRODUCT ---|"has exactly one active"| PRICINGMODEL[Pricing model]

style PRICINGMODEL fill:#90ee90