Conga Product Documentation

Welcome to the new doc site. Some of your old bookmarks will no longer work. Please use the search bar to find your desired topic.

Use Case: Rate Usage when Unit Price is not Available at the Tier Level

Business Context

In usage-based billing, commercial agreements — especially in B2B SaaS, telecommunications, utilities, and professional services — are structured around negotiated pricing tiers that reward higher consumption with progressively better rates. These tiers reflect the commercial reality of volume discounts, promotional markups, and contractually agreed price adjustments.

However, a common configuration challenge arises when the sales team structures pricing as percentage-based adjustments (discounts or markups) relative to a baseline price, rather than specifying an absolute unit price at each tier. The Billing engine must derive the effective unit price by applying tier-level percentage-based adjustments (discount or markup) to the Net Unit Price stored on the Billing Header, instead of requiring a per-unit List Price Override at each tier.

Requirements

This use case describes how the Conga Billing rating engine calculates the invoiced amount when tier-level unit prices are absent.

Business Scenario

A Finance Analyst wants the rating engine to calculate the invoiced amount by applying tier-level percentage-based discounts or markups to the Net Unit Price from the Billing Header, so that the rated amount on Usage Inputs accurately reflects the negotiated pricing adjustments — without relying on a per-unit List Price Override at the tier level. Before executing this use case, the analyst must focus and configure on the following preconditions:

  • A usage-based subscription exists with a Billing Header that carries a Net Unit Price (e.g., GBP 100.00).
  • The associated Order/Asset Line Item has tiers configured with:
    • Adjustment Type: % Discount or % Markup.
    • Adjustment Amount: numeric percentage value per tier.
    • No List Price Override at the unit tier level.
  • Dimension Value Type is set to one of: Discrete, Range, or Cumulative Range.

Procedural Flow

Step 1 — Configure Tier Adjustments

The sales representative configures tiers on the Order/Asset Line Item using percentage-based adjustment types. No List Price Override is entered at the tier level. Example tier configuration:

Sequence (Tier)From/Tier Start ValueTo/Tier End ValueAdjustment TypeAdjustment Amount
Tier 1 1 100 % Markup 5.00
Tier 2 101 500 % Discount 5.00
Tier 3 501 2000 % Discount 10.00
Tier 4 2001 99999 (infinite consumption) % Discount 25.00

Step 2 — System Derives Net Unit Price on Billing Header

The Conga Billing engine calculates and stores the Net Unit Price on the Billing Header after applying all automated and manual discounts, promotions, rebates, and adjustments. This value serves as the base price for all tier-level rating calculations when no tier-specific List Price Override is present.

Step 3 — Usage Input Is Submitted

A Finance Analyst submits a Usage Input specifying the quantity consumed during the billing period. The Usage Input references the subscription, billing header, and relevant billing period.

Step 3 — Engine Identifies Applicable Tier and Applies Adjustment

The Rating or Estimate API evaluates the submitted quantity against the configured tier structure based on the Dimension Value Type:

Dimension Value TypeRating Behavior
Discrete Quantity matches a specific tier value; adjustment for that exact tier is applied uniformly to all units.
Range Quantity falls within a tier range; adjustment for that range is applied uniformly to all units in the input.
Cumulative Range Quantities accumulate across tiers. Each portion of quantity crossing a tier boundary is rated at that tier's adjusted unit price.

Step 5 — System Rolls Up Amounts to BSR and Billing Header

The rating engine aggregates the rated amounts from all Usage Inputs to the Billing Schedule Record (BSR) and Billing Header (BH):

FieldRecordCalculation
Actual Fee Amount Billing Schedule Record (BSR) Sum of all rated amounts from linked Usage Inputs in the period
Total Usage Quantity Billing Schedule Record (BSR) Sum of all quantities from linked Usage Inputs in the period
TCV (Usage) Billing Header (BH) Rollup from all child BSRs
Total Bill Including Adjustments Billing Header (BH) TCV (Usage)

Example

A billing header has a Net Unit Price of GBP 100.00 with currency decimal places set to 2 in the billing settings. The tiers are configured as shown in table.

Sequence (Tier) From/Tier Start Value To/Tier End Value Adjustment Type Adjustment Amount
1 1 100 % Markup 5.00
2 101 500 % Discount 5.00
3 501 2000 % Discount 10.00
The rating engine uses the following computational logic to calculate the rated amount when the price is per unit, and not a flat price:
  • For % Markup — Rated Amount = Quantity × (1 + Adjustment Amount / 100) × Net Unit Price.
  • For % Discount — Rated Amount = Quantity × (1 − Adjustment Amount / 100) × Net Unit Price.
Note: The calculated rated amount adheres to the currency decimal precision configured in Billing Settings.

For a Range as dimension value with a usage quantity of 550 (falls in Tier 3), the rated amount is calculated using the above computational logic as:

Rated Amount = 550 × (1 − 0.10) × 100 = GBP 49,500.00

For Cumulative Range as dimension value with the same usage quantity, the rated amount is:

Rated Amount = 100 x (1.05 x 100) + 400 x (0.95 x 100) + 50 x (0.9 x 100) = GBP 53,000.00

The above calculation demonstrates that the rating application applies tier-level percentage adjustments (discount in this case) to the Net Unit Price on the billing header to determine the rated amount.

Business Outcome
  • The billing engine correctly calculates the invoiced amount by applying tier-level percentage adjustments to the Net Unit Price from the Billing Header, ensuring that every usage input is rated at the precise negotiated price — without relying on manually maintained per-tier List Price Overrides.
  • Billing/Finance/Pricing teams and billing administrators are freed from the operational burden of maintaining static List Price Overrides at every tier level across hundreds or thousands of product and customer configurations.