Upgrades and Downgrades

In WHMCS, your clients can upgrade or downgrade their services directly in the Client Area.

For steps to place an upgrade or downgrade order, see Upgrade or Downgrade a Service.

How do upgrades and downgrades work?

When clients place an upgrade or downgrade order, they will receive a refund for any value that they haven’t used of the current cycle on the existing service. Then, the system will charge them for the remainder of the cycle at the new service’s price. The Next Due Date value doesn’t change.

For example:

Old ServicePrice Per Day * Number of days until next due date = Amount Credited
Price Per Day in this calculation is the Recurring Amount of the client’s service divided by the number of days in the billing cycle.
New ServicePrice Per Day * Number of days until next due date = Amount Debited
Price Per Day in this calculation is the cost of the new service divided by the number of days in the billing cycle.
TotalTotal Payable Today = Amount Debited - Amount Credited

Free to Paid Products

When a client upgrades a free service to a paid product, you must set a Next Due Date value 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 service to a monthly paid product on the 1st of January, the Next Due Date value would become the 1st of February.

Promotion Codes

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.

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

You can also configure promotion codes to last the lifetime of a client’s service, including through upgrades and downgrades. For these, the system calculates the recurring discount using the full product price after the upgrade. The recurring price is reduced accordingly and then updated on the client’s service.

For more information, see Promotions.

Order Handling

If the client has not paid the upgrade order before the system cron generates the renewal invoice, the system cancels the upgrade order automatically and generates the renewal invoice using the current service details. To upgrade, the client must place another upgrade order.

Configuration

To allow clients to upgrade and downgrade their services, you must specify the products that can upgrade to and downgrade to each product.

You can do this in the Upgrades tab at Configuration () > System Settings > Products/Services for each product.

Last modified: October 30, 2024