WHMCS

Handle cancellations, upgrades and downgrades in WHMCS

Configure how WHMCS handles cancellation requests (immediate or end of period), process them automatically, and set up pro-rata upgrades and downgrades between plans.

IntermediateWHMCS2 min read

Customers change their minds: they upgrade when a site grows, downgrade to save money, or cancel. WHMCS can handle all three automatically – with the correct billing and server changes – if the settings are right.

Before you start

  • Products linked to a server module (for example cPanel/WHM) so changes are applied on the server. See server module setup.
  • A working cron job.

How cancellation requests work

Clients open their service in the client area and click Request Cancellation. They choose:

  • Immediate – the service is cancelled straight away.
  • End of Billing Period – the service runs until the paid period ends.

They can add a reason, which you can review in reports to understand churn.

Process cancellations automatically

  1. Go to Configuration → System Settings → Automation Settings.
  2. Tick Auto Cancellation Requests (or Process Cancellation Requests) so the cron terminates services when the requested date arrives.
  3. Decide whether unpaid invoices for cancelled services should be cancelled automatically – usually yes.

Review pending requests under Clients → Cancellation Requests. You can still contact the client with a retention offer before the date.

Warning: termination removes the account from the server. Clients should download backups first – mention this in the cancellation confirmation email.

Enable upgrades and downgrades

  1. Edit a product and open the Upgrades tab.
  2. Select the products the client may switch to (hold Ctrl or Cmd for several).
  3. Tick Configurable Options upgrades if clients may change options like extra disk.
  4. Choose the upgrade email template if needed.
  5. Save, and repeat on other products so downgrade paths exist too.

Pro-rata billing

Under General Settings → Ordering (or Invoices), configure upgrade billing. WHMCS calculates the difference for the remaining days of the period: an upgrade creates an invoice for the extra amount; a downgrade can add credit to the account. Tick Upgrade Package immediately after payment for a smooth experience.

What happens on the server

After payment, WHMCS calls the module's Change Package function – for cPanel this switches the WHM package, adjusting disk, bandwidth and features without downtime. Check Utilities → Logs → Module Log if it fails.

Manual changes by staff

On a service in the admin area, you can change product, price, billing cycle and next due date directly, then click Change Package in the module commands to apply it on the server. Use Upgrade/Downgrade to create the correct invoice instead of editing prices by hand.

Troubleshooting

  • Upgrade button missing for clients: no upgrade targets on the product's Upgrades tab, or the service is not active.
  • Server not updated after upgrade: package name mismatch or API error in the Module Log.
  • Cancelled service still invoiced: automatic cancellation of invoices is disabled, or the request was set to end of period.

Next steps

Was this guide helpful?

Still stuck?

Ask MdmHost AI for a quick answer, or open a ticket and our team will take a look. We are here 24/7.