Bundles are packages that offer a predefined amount of services, typically at a lower price than if purchased at pay-as-you-go rates. A bundle can combine multiple services, such as mobile data, voice calls, and SMS, or focus on specific service types like voice calls to a particular region. Service providers use bundles to increase revenue and improve customer retention.
In PortaBilling, you can create three different types of bundles depending on your business scenario:
- Renewable by calendar bundles (formerly “Quotas”)
- One-off with top-ups bundles (formerly “Service wallets”)
- Balance-dependent renewable bundles
Let’s explore the specific features of each bundle type and when to use them.
| Balance-dependent renewable | Renewable by calendar | One-off with top-ups | |
| Billing model | Prepaid | Postpaid (to charge customers for the bundle, apply a subscription fee) | Prepaid or postpaid |
| Example | A mobile operator offers a “prepaid SIM” package: "1000 minutes of domestic calls, 10 GB of data, and 100 domestic SMS for 30 days at $20" | A service provider offers a “Comfort” package for their postpaid retail customers – for a $20 monthly fee, the customer receives unlimited domestic calls, 100 minutes of calls to the EU, and 20 GB of Internet per month | A service provider offers their new customers 50 free minutes of calls to the US. After the free minutes are used, calls to the US are charged at standard pay-as-you-go rates. Customers can choose from available top-up options, such as 100 minutes for $9.99 or 200 minutes for $16.99, both valid for 14 days. These minutes will be reserved for US calls, even if the customer’s balance runs out |
| Activation and auto-renewal | Is only possible if a customer has sufficient balance. Auto-renewal can be disabled | Does not depend on the customer balance and is based on the calendar. Even if a customer has an overdue invoice, they can still use the service until it is suspended | Some initial service allowances (such as minutes, data, or monetary units) may be provided upon bundle activation, but the activation does not affect the customer’s balance. There is no automated renewal; customers can manually top up (“recharge”) the allowances as needed |
| Renewal period | Fixed (e.g., 30 days) and is the same for each service | Based on the calendar (daily, weekly, semimonthly, or monthly) and can be set individually for each service | Not applicable |
| Individual service top-ups (recharges) | Yes | Not applicable | Yes |
| Can be assigned | Via main or add-on product | Via main or add-on product, or directly to customer/account | Via main or add-on product, or directly to customer/account |
How it works
Each bundle can include multiple items that define the service type and corresponding service volume. For example, a Balance-dependent renewable bundle might include three items: "1000 minutes of domestic calls", "10 GB of data", and "100 domestic SMS."
The specified service volumes (e.g., 1000 minutes) serve as thresholds. During the usage period, PortaBilling calculates the service volume used for each item. Once the counter for any item reaches its threshold, PortaBilling either starts charging the customer at pay-as-you-go rates, blocks the service, or limits it (i.e., reduces the internet bandwidth), depending on the bundle configuration.
Bundle configuration
Before creating a bundle, make sure you have configured a code group set.
In PortaBilling, a bundle always includes a code group set, which must contain at least one code group. These code groups are assigned to bundle items and may include phone prefixes (e.g., 1206) and/or special rate codes (e.g., NETACCESS) used for the services provided within a bundle item. The code group is needed for PortaBilling to identify whether a bundle item is applicable. For example, when a customer makes a call, PortaBilling searches for a matching rate code in the bundle item, comparing it against the rate selected earlier in the tariff. If a matching rate code is found, the corresponding bundle item is applied to that call. You can find more details about rate code matching here.
To create a bundle, navigate to Service catalog > Bundles, click Add, and fill in the details, such as bundle name, currency, code group set, and bundle type. Some parameters may differ depending on the bundle type.
Once the bundle is created, you can add the needed bundle items to it, configure top-up options and their lifetime (for Balance-dependent renewable and One-off with top-ups type of bundles), customer notifications, service restrictions when service volume is used up, and more.
Assigning bundles
Typically, bundles are assigned to accounts through a product (main or add-on). To assign a bundle for a specific product, open the product configuration. Once the product is assigned to an account, the corresponding bundle is automatically assigned too.
Note that even when a bundle of the Balance-dependent renewable type is assigned, it cannot be activated if the customer lacks sufficient funds to cover the renewal (activation) fee.
Although we recommend including bundles in products, it is also possible to assign bundles of the Renewable by calendar and One-off with top-ups types directly to a customer/account. For example, say you offer a “Family” package to your postpaid customers where all service units, such as unlimited domestic calls, 200 minutes of calls to the EU, and 40 GB of internet, are shared between all the customer’s accounts (i.e., family members). In this case, you can assign the bundle (as well as the corresponding subscription, e.g., $25) directly to the customer.
