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
- Go to Configuration → System Settings → Automation Settings.
- Tick Auto Cancellation Requests (or Process Cancellation Requests) so the cron terminates services when the requested date arrives.
- 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
- Edit a product and open the Upgrades tab.
- Select the products the client may switch to (hold Ctrl or Cmd for several).
- Tick Configurable Options upgrades if clients may change options like extra disk.
- Choose the upgrade email template if needed.
- 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.
