Differential pricing helps implement a pricing strategy for addons and charges based on the plans they're purchased with. A differential price a specific price for an addon- or charge-item price when purchased along with a particular plan.
Differential pricing for addons
Consider an addon called 24x7 Customer Support provided with a cloud storage service. You can configure differential prices for each of the addon-item prices based on the plan they are purchased with, as follows:
| Addon item price | Price when applied to Standard Plan | Price when applied to Enterprise Plan | |
| 1 | 24x7 Customer Support, USD, Monthly, Flat fee, $100 | $90 | $150 |
| 2 | 24x7 Customer Support, USD, Yearly, Flat fee, $1000 | $900 | $1500 |
Differential pricing for charges
Consider a charge, called Setup fee, for installing and configuring a cloud-based project management platform. There are two modes in which you can set up differential pricing for a charge:
Mode A: One charge differential price per plan-item
This mode is used to specify one differential price for the charge-item price per plan-item it is applied to.
| Charge-item price | Price when applied to Standard plan | Price when applied to Enterprise plan |
| Setup fee, USD, Flat fee $500 | $400 | $700 |
Mode B: Multiple charge differential prices per plan item
This mode is used to specify multiple differential prices for the charge per plan-item, based on the plan period.
| Charge-item price | Price when applied to Standard plan, 6 months | Price when applied to Standard plan, yearly |
| Setup fee, USD, Flat fee $500 | $400 | $300 |
In the above example, even if the "6 month" or "yearly" plan-item prices do not exist, the differential prices for the charge can still be created. They take effect whenever the plan-item prices are eventually created and used in subscriptions.
Sample Differential priceJSON
Differential prices attributes
A unique and immutable ID for the differential price. It is auto-generated when the differential price is created.
The ID of the item price (addon
or charge
) whose price should change according to the plan-item it is applied to.
The ID of the plan-item, in relation to which, the differential pricing for the addon or charge is defined. For example, this would be the id of the Standard or Enterprise plans-items mentioned in the examples above .
The differential price. If the pricing model of the item_price_id
is tiered
, volume
, or stairstep
, pass tiers
instead of this.
The price of the item when the pricing_model is flat_fee.
When the pricing model is per_unit
, it is the price per unit quantity of the item. Not applicable for the other pricing models. The value is in decimal and in major units of the currency. Also, this is only applicable when multi-decimal pricing
is enabled.
The item family state.
New items can be created with the item family.
No items allowed for the item family.
Version number of this resource. The resource_version
is updated with a new timestamp in milliseconds for every change made to the resource. This attribute will be present only if the resource has been updated after 2016-09-28.
Timestamp when this differential price was last updated.
Timestamp at which this differential price was created.
Timestamp at which this differential price was last modified.
The unique ID of the business entity of this subscription. This is applicable only when multiple business entities have been created for the site. The value of this attribute indicates that the resource is specific to the given business entity.
List of quantity-based pricing tiers for the differential price. Applicable only for tiered
, volume
, and stairstep
pricing_model
s. The tiers are exactly the same as those set for the item price. Only the price
attribute for the various tiers can be overridden for the differential price.
When item_price_id
is a charge-item, you can specify the plan period for which the price applies. Although an array, currently you can specify only one period. In other words, only index 0
is allowed. Create another differential price to specify another period. Is permitted only when item_price_id
is a charge-item.