You can offer your customers prepaid bundles that combine different services – such as voice calls, data, and SMS – for a single fixed fee, all sharing a common lifecycle. The allocated service volumes are available throughout a defined period (bundle lifecycle) and can be automatically renewed at the end of this period for a fee. Each service volume can be additionally "recharged" for a separate fee.

This feature is introduced within a global redesign of “Volume discount plans,” which are now represented as “Bundles.” The new prepaid bundle type is called “Repeated use with renewal.” The old “Volume discount plans” are now available as “Legacy (quotas and wallets)” type.

Add a prepaid bundle


Link copied to clipboard

Say you offer a prepaid bundle that:

  • Includes 100 minutes of domestic calls to mobile numbers, 20 GB of data, and 50 domestic SMS
  • Is priced at $20
  • Has a 30-day lifecycle
  • Has automatic renewal (i.e., if a customer has $20 of available balance at the end of the current lifecycle, $20 will be withdrawn and a new lifecycle will start)
  • Allows rollover of unused service volumes to the next cycle
  • Allows topping up voice calls/SMS/data service individually. The units from these top-ups (such as 5 GB for $6.99 or 10 GB for $10.99) have a separate lifetime of 20 days.

A customer chooses this bundle and pays $20, which grants them access to the allocated services for 30 days. On the last day of the bundle lifecycle, the customer’s prepaid balance is $30. Since the customer has enough funds ($30), the bundle automatically renews: $20 is withdrawn from the balance and they receive another 100 minutes, 20 GB, and 50 SMS for the next 30 days.

If the customer had unused service volume from the previous period, e.g., 1 GB of mobile data, by default, this volume expires. However, as in our case rollovers are enabled, this 1 GB will be added to the 20 GB from the renewed bundle, providing the customer with a total of 21 GB.

If the customer purchases a top-up, e.g., 5 GB for $6.99 that has a lifetime of 20 days, the volume from this top-up will be available within 20 days regardless of whether the bundle is active or expired.

Key features of the prepaid bundles

Link copied to clipboard

Let’s explore the key features of the new prepaid bundles (classified as “Repeated use with renewal”):

1. Specific lifecycle
Link copied to clipboard

You can set a specific lifecycle (in days) for each bundle. All allocated service volumes expire at the same time.

2. Bundle auto-renewal (optional)
Link copied to clipboard

To ensure service continuity for customers and improve your cash flow, you can enable bundle auto-renewal. When your customers have enough funds on their balance, PortaBilling will automatically charge the renewal fee on the last day of the active bundle lifecycle.

You can notify end users N days before the bundle expiration, so that they can top up their balance in time.

3. Rollover option
Link copied to clipboard

To encourage your customers to top-up regularly (at the end of each cycle) and thus provide a reliable cash-flow, you can enable rollover of unused service volumes to the new lifecycle on the condition that a customer has enough funds for the bundle renewal. For example, if a customer uses all their minutes and SMS but only a part of the allocated data (19 out of 20 GB), the remaining 1 GB can be rolled over to the next lifecycle upon bundle renewal. If there is no bundle renewal, the unused 1 GB will be lost.

The rollover is possible if the bundle is renewed on the last day of the bundle lifecycle or within X days afterward (“grace period”). For example, if you set a 7-day grace period, this means that if the bundle is renewed within these 7 days, the unused volumes will still be rolled over.

Unused volume can be rolled over only once. The rolled-over service volume is consumed before the newly allocated service volume.
4. Individual service top-ups (recharges)
Link copied to clipboard

In case a customer needs more service volume before the bundle renewal, they can purchase individual service top-ups (e.g., data volume). Top-ups (“recharges”) are typically more expensive per unit than the bundle rate.

Consider a scenario where on November 1st, a customer has minutes and SMS messages available but is nearly out of data, with only 1 GB of their 20 GB bundle remaining. Their bundle is due for renewal on November 10th. To keep using the mobile internet service, the customer purchases additional 5 GB data for $6.99, valid for 20 days (expiring on November 21st). After this top-up, data usage will first be deducted from the remaining 1 GB of the original bundle, which expires on November 10th, and then from the 5 GB top-up, expiring on November 20th. If the customer lacks sufficient funds to renew their bundle on November 10th, they will not receive new minutes, SMS, or data units. However, they will still have the data units from the top-up available.

If your business scenario requires the top-up service volume (5 GB) to be used before the remaining bundle volume (1 GB), you can achieve this by making such top-ups via API.

Note that each new top-up extends the lifetime of any remaining volume from previous top-ups. This means that if the customer has 2 GB of unused data from the top-up expiring on November 21st, and purchases another 5 GB data top-up expiring on December 1st, a total of 7 GB will expire on December 1st.

  • Increase sales by introducing a simple product that bundles different services at a single price. You can combine more popular services, such as mobile voice calls or data, with less popular ones, such as SMS, in a single bundle, maximizing overall profitability.
  • Improve cash flow by offering automatic bundle renewal.


Link copied to clipboard
  • Currently, early renewal (before the last day of a bundle lifecycle) is unavailable.
  • The bundles can be assigned only via main or add-on products (but not directly to a customer or account).
  • The priority for the prepaid bundles is “fixed” (“reserved” on the UI), regardless of the product priority. Suppose an account has several add-on products assigned, and one of these add-ons includes a prepaid bundle. If these add-ons include volumes of the same service, e.g., minutes of calls to Europe, the volume from the prepaid bundle will always be used after all volumes from add-on products with priority from “high” to “medium low”.
  • It’s not allowed to assign more than one prepaid bundle with the same service, e.g., minutes of calls to Europe, to an account.
  • When bundle A is replaced with bundle B in a product, the unused service volumes from bundle A will roll over to bundle B if the rollover feature is enabled in bundle A.
  • When an active bundle is unassigned from an account, for example, when a user removes the corresponding add-on product, the fee that has already been charged will not be refunded.
  • Setting separate service volumes for peak and off-peak periods is unavailable.
  • Manual bundle renewal by the admin is currently unavailable and will be added in future releases.
  • The former “Volume discount plans” of the “Discount” type or with discounts applied to “Service pool” are no longer available.


Link copied to clipboard

By default, the system initiates bundle renewal at 23 hours before midnight when the bundle expires. You can modify the default value according to your system performance and the number of accounts using the RenewalWindowTime option on the Configuration server web interface.

Set up the Renewal Window Time

To configure a $20 bundle with auto-renewal that includes 100 minutes of calls, 20 GB of data, and 50 SMS for 30 days (as described in the example):

  1. Go to Service catalog > Bundles and click Add to create a bundle:
    • Bundle type – select Repeated use with renewal
    • Automatic renewal – select On sufficient funds
    • Bundle lifetime, days – specify “30”
    • Renewal fee – specify “20”

      Add a prepaid bundle

  2. Configure a Bundle item for each service (voice calls, data, and SMS) within the bundle:
    • Add a bundle item and specify the allocated service volume, e.g., 20 GB

      Add a bundle item

    • Allow rollovers in the bundle item configuration

      Allow rollovers

  3. Optionally, configure Top-ups for a specific bundle item.

    Configure top-ups

  4. Set the created bundle as default for the main product.

    Add the bundle to the product

  5. Create a prepaid customer with an account and assign the main product with the bundle to this account.
  6. If a user wants to purchase additional service volume, you can make a top-up for them (if top-ups are configured at step 3).

    Top up the service


On this page

What's new
Admin manuals
UI help
Back to main menu