Change of bundle for an account or customer

Link copied to clipboard

You have the flexibility to replace or remove the bundle assigned to an account or a customer at any time. This applies whether the bundle is assigned directly or via a main/add-on product.

EXAMPLE
A customer currently uses a Basic Data Plan that provides 10 GB of data per month. They request to upgrade to the Premium Data Plan, which provides 30 GB per month. To do this, the admin changes the product on the customer's account to the one that includes the Premium data plan.

A bundle can be changed or removed manually by an admin or via the API. Customers can change their bundles using external portals such as the Cloud PBX Self-Care Portal offered by PortaOne in the Add-on Mart.

If you replace the bundle within a specific product, this new bundle will be immediately applied to all accounts that use this product.

When you change the bundle for a user by changing the add-on product assigned to the account, you can:

  • Schedule when the new add-on product will be activated. PortaBilling will replace the active add-on product with the new one on the stated date.
  • Replace the already active add-on product immediately. PortaBilling applies the bundle that’s defined in the new add-on product at once.

In this chapter, we’ll dive into the specifics of bundle changes for these bundle types:

Changing the “Balance-dependent renewable” bundles

Link copied to clipboard

While changing the Balance-dependent renewable bundle, note that:

  • When bundle A is replaced with bundle B in a product, any unused service volumes from bundle A will roll over to bundle B if the rollover feature is enabled in bundle A.
  • When an add-on product containing the bundle is unassigned, the fee that has already been charged will not be refunded.

Changing the “One-off with top-ups” bundles

Link copied to clipboard

When the One-off with top-ups bundle is replaced by another bundle of the same type and priority, any unused service volumes from the old bundle can be added to the new bundle's service volume, if the items in both bundles meet the following conditions:

  • Identical code group that belongs to the same code group set (e.g., both bundle items in both bundles are associated with the US & Canada code group from the North America code group set).
  • Identical service (e.g., for both bundle items provide voice call minutes).
  • Identical threshold type (e.g., the provided service volumes are based on the service used).

Changing the “Renewable by calendar” bundles

Link copied to clipboard

When the Renewable by calendar bundle is replaced by another bundle of the same type and priority, any unused service volumes from the old bundle can be added to the new bundle's service volume, if the items in both bundles meet the following conditions:

  • Identical service (e.g., both bundle items provide voice call minutes).
  • Identical code group that belongs to the same code group set, (e.g., both bundle items in both bundles are associated with the US & Canada code group from the North America code group set).
  • Identical threshold type (e.g., the provided service volumes are based on the service used). Identical renewal periods (e.g., both service volumes are renewed monthly).
  • The Prorate thresholds for first usage period option is set identically – either enabled or disabled for both (e.g., when a bundle is assigned in the middle of a billing period, both service volumes are recalculated based on the number of days left until the end of the current billing period).
    If the "Prorate thresholds for the first usage period" option is enabled for both bundles, unused service volume from the old bundle will also be prorated. See the Prorated threshold section for details.
  • The Rollover period of service volume is set identically (e.g., both service volumes can be rolled over twice).

The system can prorate the service volumes within the new bundle based on the hour it is updated for the customer:

If the bundle is changed during the last hour of a billing period
Link copied to clipboard

If the bundle is assigned or changed during the last hour of the current billing period (starting from 11:00 PM in the customer’s time zone), the new bundle is activated only at midnight. Customers can only use the remaining service volume of the previous bundle until midnight, after which they start using the new bundle. In this scenario, prorating for both the previous and new bundles will not happen.

If the bundle is changed at any other hour of a billing period
Link copied to clipboard

When a user switches to a new bundle before 11:00 PM on the last day of a billing period, the new bundle is activated immediately. The service volume in the previous bundle is prorated based on the elapsed days of the billing period, excluding the day of bundle change. Meanwhile, the service volume in the new bundle is prorated according to the number of days remaining in the first usage period, including the day of the bundle change.

If the bundle is changed but prorating conditions are not met
Link copied to clipboard

If you change the prorated bundles but the conditions are not met, the user receives the prorated service volume only from the newly assigned bundle.

EXAMPLE
John Doe has a monthly billing period and a bundle that grants 60 minutes of calls to the UK and 10 GB of data per month. Let's see what happens if John changes his bundle to a new one, depending on the prorating setting and other conditions.

Bundle change when proration is disabled (the time of change does not matter)

Scenario Old bundle New bundle After the bundle change
Changing to a bundle with a bigger service volume 60 minutes of calls, 50 is already used 500 minutes of calls John has 510 minutes in total, where 10 minutes are left from the old bundle and 500 are from the new bundle.
Changing to a bundle with a smaller service volume 10 GB of internet, 8GB is already used 7 GB of internet Unable to browse the internet for the rest of the month because John has already used up all his new bundle (8 out of 7 GB). Starting next month, John will only have 7 GB of Internet traffic available.

Bundle change when proration is enabled (the time of change matters)

Scenario Old bundle New bundle After the bundle change
Bundle change during the last hour of a billing period, e.g., 11:15 PM on the last day 60 minutes of calls, 50 is already used 100 minutes Only 10 minutes (60-50=10) are available from the current bundle till midnight. Starting at midnight, John starts using the new bundle with 100 minutes (no prorating).
Bundle change at any other hour of the billing period, e.g., 6:00 PM on the last day 60 minutes of calls, 50 is already used 100 minutes John has a total of 61 minutes available for the rest of the month, where 58 minutes (60*29/30=58) comes from the previous bundle and 3 minutes of calls (100*1/30=3) comes from the new bundle.

Next month, John starts using the new bundle with 100 minutes.

Bundle change but the proration conditions are not met 100 minutes per month of calls to the USA, 59 minutes are already used 200 minutes of calls to the USA and Canada Only 107 minutes (200*16/30=107) of calls to the USA and Canada are available from the new bundle for the rest of the month. Since the new bundle provides calls to a new code group (USA&Canada), no unused minutes are carried over to the new bundle.

Bundle change using the API

Link copied to clipboard

To change a bundle using the PortaBilling API, use the following methods:

  • To change bundles included in the main product for a specific account, use the i_product parameter in the Update_account method.
  • To change bundles associated with add-on products for the account, use the assigned_addons structure in the Update_account method. When using this method, the assigned_addons structure must contain the complete list of add-on products applicable to an account (i.e., the add-on products that will not be changed plus new add-on products that must be assigned to an account).
  • If you need to change bundles assigned directly to a specific account, use the i_vd_plan parameter in the Update_account method.
  • To change bundles assigned to a specific customer, use the i_vd_plan parameter in the Update_customer method.
  • To change bundles included in any product, use the i_vd_plan parameter in the Update_product method.
Docs for
What's new
Admin manuals
Handbooks
UI help
Developers documentation