Automated Upgrades and Downgrades

From WHMCS Documentation

How it works

With the automated upgrading and downgrading features in WHMCS, your clients can upgrade or downgrade their products and packages from the client area. When they place an upgrade or downgrade order, they will receive a refund of whatever they haven't used of the current cycle on the existing product or service. Then, the system will charge them for the remainder of the cycle at the new product's or service's price. The next due date doesn't change.

Old Product/Service
Price Per Day * Number of days until next due date = Amount Credited

New Product/Service
Price Per Day * Number of days until next due date = Amount Debited

Total Payable Today = Amount Debited - Amount Credited

Free to Paid Products

When a free product is upgraded to a paid product, you must set a Next Due Date to determine when it will renew. WHMCS sets this automatically to one billing cycle from the date of upgrade.

For example, if a client upgraded from a free product to a monthly paid product on the 1st of January, the Next Due Date would be set to the 1st of February.

Promotion Codes

Upgrade Discounts

You can configure promotion codes to apply to upgrades. This is useful for incentivizing clients to upgrade to higher tier products. When the client places an upgrade order, they will receive the opportunity to enter a promo code. The system calculates the discount based on the total amount due. Clients receive this as a discount on the amount payable today.

Total Payable Today (from above) - Discount = Discounted Upgrade Price

Lifetime Promotions

You can configure promotion codes to last the lifetime of a client's service, even sustaining it through upgrades and downgrades. If this is the case, the system calculates the recurring discount using the full product price after the upgrade has completed. The recurring price is reduced accordingly and then updated on the client's service.

Upgrade Order Handling

If an upgrade order is not paid before the renewal invoice is generated by the daily cron task, the upgrade order will be cancelled automatically and the renewal invoice will be generated using the current service details. If the client wishes to upgrade, they will need to place another upgrade order.

Clients Self Service

In order to place an upgrade or downgrade order, the client has to login to the client area, navigate to the Services >> My Services section, click to view the full details for the product or service they wish to manage, and then select the options to either upgrade the Package or upgrade the Configurable Options.

Admin/Staff Upgrades

Staff can also create upgrade orders from the admin area. The system doesn't restrict staff to the products or options in the product config, so staff can upgrade any single package to any other. Using the upgrade process will create the prorata invoice for the difference, and then auto provision it upon payment. To create an upgrade order from the admin side, navigate to the service to upgrade and click the "Upgrade/Downgrade" button in the top right of the product details tab.


Product Upgrades

In order to allow clients to upgrade and downgrade their packages, you need to specify the products that can upgrade to and downgrade to each of your packages. Do this in Configuration () > System Settings > Products/Services or, prior to WHMCS 8.0, Setup > Products/Services > Products/Services on the Upgrades tab of the product configuration.

To select multiple products that can upgraded or downgraded, hold the Ctrl key while selecting the products in the list.

Configurable Options Upgrades

With the configurable options upgrade configuration, this allows your clients to upgrade or downgrade the configurable option selections you offer on the product. You do not need to specify any further configuration for this. Select the checkbox and the client will see the upgrade options in the client area. The system calculates the upgrade price for configurable options the same way as the products above.