Error "Price should not be sent for volume, tiered, and stair-step item prices" while updating subscription units via bulk operation/API

Modified on: Fri, 7 Nov, 2025 at 5:53 PM

Scope:

Prices for volume, tiered, and stair-step item pricing should not be transmitted when updating subscription units through bulk operations or API.


Summary:

Within the framework of Chargebee's pricing models, it is imperative that prices for volume, tiered, and stair-step items are not submitted. These pricing structures are intended to accommodate pricing based on quantity tiers rather than a fixed unit price. Consequently, when updating units via bulk operation or API, it is necessary to provide item_tiers[item_price_id][0], item_tiers[starting_unit][0], and item_tiers[ending_unit][0] from the initial tier to the tier being updated, followed by item_tiers[price_in_decimal][0…1] units explicitly to facilitate the update of subscription units.






Solution:

  1. Volume Pricing: Prices are set for different quantity tiers, and the total price is calculated based on the quantity purchased across these tiers

  2. Tiered Pricing: Similar to volume pricing, tiered pricing involves setting prices for different quantity tiers, but the price per unit can vary within each tier

  3. Stairstep Pricing: This model charges a fixed price based on the tier into which the total quantity falls, rather than a per-unit price.

In these models, pricing is inherently tied to the quantity tiers; therefore, sending a fixed unit price is neither applicable nor necessary. The system is designed to calculate the total price based on the tier configurations. Please find the example below

You can find the list of required parameters below


subscription_items[item_price_id][0]: (Plan Item ID)

item_tiers[item_price_id][0]: (Plan Item ID)

subscription_items[quantity][0]: (Subscription quantity)

item_tiers[starting_unit][0]:0 (Tier 1st starting unit)

item_tiers[ending_unit][0]:5 (Tier 1st ending unit)

item_tiers[item_price_id][1]: (Plan Item ID)

item_tiers[starting_unit][1]: (Tier 2nd starting unit)

item_tiers[ending_unit][1]: (Tier 2nd ending unit)

item_tiers[price][0]:17 (New price)

change_option:end_of_term



Please find the quick demo video here for reference.

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.
×