Subscriptions include items. They represent the products to be charged and will figure as invoice line items on the created invoices.
Basic Item Pricing Concepts
With respect to item pricing, the following basic concepts are important.
Depending on the nature of the product, you can define a specific billing type for an item. It specifies the general billing behavior:
- One-Time: The item is billed only once. After the item has been invoiced and the corresponding invoice has been finalized, JustOn sets its status to
Inactiveso it will not be included in subsequent invoice runs.
- Transactional: There is no quantity defined for the item. Instead, the information (quantity or quantity + price) is provided by usage data that match the subscription item.
- Recurring: The item is billed with the given amount in each invoice run.
- Recurring Prorated: The item is billed with the given amount in each invoice run, with support for the partial calculation of months defined as the billing unit. Every whole month in the billing period is counted as one, whereas a part of a month is calculated as
Days / NumberOfDaysInThisMonth.
- Recurring Prorated AVG: This is a variant of the
Recurring Proratedbilling type with a different billing factor calculation. With
Recurring Prorated AVG, JustOn calculates the billing factor the same way as Salesforce CPQ with a subscription prorate precision of
Monthly + Daily(see Subscription Prorate Precision in the Salesforce Help).
The actual price of an item can be of two types.
- Flat: With a flat price, the item's quantity is assumed as
1and the item's subtotal equals the configured flat price.
- Default: When specifying a default price, the item's subtotal is determined by the specified default price multiplied by the actual item quantity.
For an overview of common pricing models and their implementation in JustOn, see Price Models.
General Billing Settings
The following details control the item's general billing behavior:
|Generic Billing Values||Billing Type||Specifies the general billing behavior
|Price||Specifies the item price, is ignored when using price tiers|
|Price Type||Specifies the item's price type, is ignored when using price tiers
|Charge Model||Defines the commission calculation type for specific pricing scenarios
|Discount||Specifies a percentage discount rate that is applied to all prices of the item|
|Commission||Specifies a percentage commission that calculates the line item total based on the unit price and the defined percentage|
|Recurring & One-Time Billing Values||Billing Period||Specifies the time interval (in days, months or years) for the item to be considered in an invoice run|
|Billing Unit||Specifies the time frame (
|Next Service Period Start||Specifies the next billing date for the item|
|Sync With||Specifies a time with which the next invoice date of a recurring item is to be synchronized|
|Transactional Billing Values||Order No.||Specifies the key to match source data to a subscription item|
|Transaction Price Field||Specifies the source field for the item price when calculating transactions|
|Transaction Quantity Field||Specifies the source field for the item quantity when calculating transactions|
|Transaction Aggregation Fields||Specifies additional fields to be aggregated for calculating transactions|
|Timed Quota||Specifies the quantity that triggers the timed quota functionality: If the quantity over all line items within a year from the start date of the item is greater than the timed quota, JustOn applies the alternate price (set in the
|Timed Quota Period||Specifies the aggregated quantities of the invoice line items per period. The period is updated when an invoice is finalized.
This field is not intended to be displayed, as it is used for internal calculation purposes.
You can set price tiers. These are a means to specify multiple prices for an item, each being valid for a defined quantity range.
Price tiers without defined validity period
You can set up price tiers to be valid for a defined time, specifying a start date and an end date. In this case, JustOn arranges the prices with the same start date and end date into one price tier group.
Price tiers grouped by validity period
Be aware that price tier groups must not overlap.
With multiple price tier groups, JustOn selects the matching price of a subscription item during the invoice run based on
- the quantity and
- the transaction date for transactional items or
- the service period for recurring items.
That is, transactions that have taken place in the time of one price tier group are aggregated, but separated from those that have taken place in the time of another price tier group. This results in multiple individual invoice line items, each based on one price tier group.
If the price tier group changes within the service period of a recurring item, JustOn separates the service period into multiple parts. The item price for each service period part is calculated using a split billing factor that corresponds to the split period. This also results in multiple individual invoice line items, each based on one price tier group.
As long as you do not define start date and end date for a price tier, there will be only one valid price tier and no item separation will take place.
You can have price tiers created automatically from source records when automatically building subscriptions.
Be aware, however, of the following limitations:
- Some Salesforce objects are not allowed to be the target of a lookup relation, including, for example, Order Product. When using one of these objects to create subscription items, it is not possible to configure a subchild object for creating price tiers.
- When updating subscriptions automatically, any created price tiers are not included.
When billing usage data, your business may require to apply different prices after an allocated usage quota is exceeded. To this end, you can define a timed quota for a transactional item. Once set, JustOn selects an alternate price for a transactional item if the achieved quantity is larger than the quota defined for the given period.
The timed quota support is available as of JustOn 2.59.
For the feature to work, you need two prices – a (standard) price to apply for quantities within the quota, and an alternate price for quantities that exceed the quota.
- The price for invoice line items within the defined quota is taken from a price tier. That is, you create at least one price tier to define the standard price(s) to apply.
- To set the price for invoice line items that exceed the quota, you use the
Pricefield of the item. With the timed quota set and filled, JustOn bypasses the price tier and applies the price defined here.
- To set a different title and description for invoice line items that exceed the quota, you can use the item fields
With respect to the timed quota functionality, the following specifics apply:
- The period considered for the quota is one year starting with the item start date. If there is no start date set on the item, the subscription start date is used as fallback.
The service period start date of a transaction is used to determine the quota quantity period. If there is no service period start on the transaction, the transaction date is used as fallback.
Example period definition
Item Start Date Transaction Start Date Timed Quota Period 2018-03-01 2018-03-01 2018-03-01 - 2019-02-28 2018-03-01 2018-02-28 2018-03-01 - 2019-02-28 2018-03-01 2019-07-01 2019-03-01 - 2020-02-29
Example periods with leap years
Item Start Date Timed Quota Periods 2019-02-28 2019-09-28 - 2020-02-27
2020-02-28 - 2021-02-27
2021-02-28 - 2022-02-27
2020-02-29 2020-09-29 - 2021-02-27
2021-02-28 - 2022-02-27
2022-02-28 - 2023-02-27
If the quantity of a transaction exceeds the timed quota, JustOn splits the transaction into two invoice line items: one for the price below the quota and one for the price above the quota.
If the timed quota is set for an item, JustOn aggregates the transactions by the quota period.
Transaction aggregated by quota period
Transactions for an item with the start date 2018-03-01 before the aggregation:
Transaction Start Date Quantity 2018-03-01 2 2019-02-28 3 2019-03-01 7
The same transactions after the aggregation:
Transaction Start Date Quantity 2018-03-01 5 2019-03-01 7
If an invoice is cancelled, the quantities of the cancellation line items are removed from the timed quota of the related item.
In case of a partial credit, the quantity of the cancellation line item is removed from the timed quota of the related item if the partial credit has been created by quantity. Partial credits based on an amount refund do not affect the quota quantity.
If a partial credit has been created by quantity, JustOn first reduces the quantity above the quota. Only when this quantity is used up, JustOn starts to reduce the originally priced quantity below the quota.
Commissions and Commission Tiers
Certain business use cases require commissions to be charged as a (variable) remuneration for rendered services or sold products. For determining the payment, you can define a fixed commission for the corresponding item. This is a percentage rate for calculating the line item total based on its unit price and the defined percentage. The quantity is always assumed as
There may be some logic involved to define the unit price as the base for calculating the commission. You can, for example, aggregate order values or "feed" a fixed value taken from some other object.
You can set up commission tiers, a means to calculate different commissions for an item based on the sales volume. Basically, they work the same way as price tiers do: You define price ranges and a commission for each. Depending on the actual unit price (which represents your sales volume), JustOn determines the commission percentage to be applied.
Certain business models require invoicing a minimum fee, usually on a monthly base, irrespective of the actually incurred costs.
With JustOn, you can put such scenarios into practice as follows: You create a subscription item with the billing type
Minimum Fee. The price of this item represents your base charge. The subscription items that you intend to charge up against this minimum, like usage data items, for example, must be marked as included accordingly.
Now if the sum of the included items is lower than or equal to the minimum price, only the minimum fee item shows up on the invoice as a single invoice line item. If, however, the sum of these grouped items is larger than the minimum price, the individual items appear on the invoice as individual invoice line items. Any items not marked as included in the minimum are not subject to this calculation.
For transactional items, there are two modes for applying the minimum comparison:
- Global minimum: Compares the sum of all included items to the minimum
- Group minimum: Compares the sum of included items that are grouped by a transaction criterion to the minimum
The corresponding calculations are performed on net prices.
Subscription Price Increases
Certain business use cases require the prices for subscription items to be increased automatically on a regular basis.
The following subscription details control this behavior:
|Price Increase||Specifies the percentage value by which to increase the prices of this subscription. Note that the price increase affects all items equally.|
|Price Increase Date||Specifies the date (
The subscription price increase feature makes use of price tier groups. If set up accordingly, a scheduled job duplicates the latest price tier group and increases the price of all subscription items by the defined percentage value once a year at the defined date.
For the date, the following options are available by default:
||Month and day of the subscription start date|
||Month and day of the subscription end date|
You can add more month/day combinations to the picklist. For details, see Adding Price Increase Date Options.
The price increase considers subscriptions and items if the following conditions are true:
- The subscription status is
- The corresponding price increase settings at the subscription are set
- The subscription end date is empty or after the current date
- The item status is
- The item end date is empty or after the current date
The item has price tiers whose
- End date is empty
- Start date is empty or at least nine months in the past
JustOn creates the new price tier groups at the earliest nine months before the price increase becomes valid.