Welcome to Zuora Product Documentation

Explore our rich library of product information

Pricing waterfall example

This example illustrates how a pricing waterfall calculates the final price using dynamic pricing adjustments and segment pricing.

When querying a charge using the attribute State = California, the evaluated unit price is $120.

If the quantity is 10, the resulting extended price is $1,200.

The pricing waterfall explains how this price is derived.

{
  "pricing_waterfall": {
    "base_price": {
      "unit_amounts": {
        "USD": 888
      },
      "note": "Default pricing defined at the charge level before any overrides are applied"
    },
    "segment_price": {
      "unit_amounts": {
        "USD": 100
      },
      "adjustments": {
        "factor": 1.2
      },
      "note": "Segment pricing retrieved from the rate card using attribute values [State = California, Customer = C-1]"
    },
    "adjusted_price": {
      "unit_amounts": {
        "USD": 120
      },
      "note": "Price after dynamic pricing adjustments are applied (segment price × adjustment factor)"
    },
    "extended_price": {
      "unit_amounts": {
        "USD": 1200
      },
      "note": "Final price calculated by multiplying the adjusted unit price by quantity"
    }
  }
}

Here,

  • The base price represents the default list price but is not used in the final calculation because a segment price applies.

  • The segment price of $100 is selected based on attribute matching.

  • A dynamic pricing factor of 1.2 is applied, resulting in an adjusted unit price of $120.

  • The extended price reflects the adjusted unit price multiplied by the quantity (10).

Known Limitations

  • Discount stacking is not supported at the rate plan pricing waterfall level. Additionally, a pricing waterfall is not available for individual discount charges.

  • The pricing waterfall is supported only for dynamic (ABP) charges. For non-ABP charges, the pricing waterfall is not enabled.