WHMCS services
WHMCS Migration Service
I migrate WHMCS between servers, hosts and versions. The database, files, license, cron jobs, payment gateways and server connections are rebuilt and tested on the new machine before DNS changes, so your billing keeps running until a short, planned cutover.
Free scoping call of about 30 minutes · written quote within one business day · two weeks of support after delivery
By Shahid Malla, Freelance WHMCS developer and web developer · Updated
What a WHMCS migration includes
A WHMCS migration is the move of a live billing system to a new server, hosting account or version without losing client data, invoices or recurring billing. The database is only part of it. Most failed moves go wrong in the details around the database.
| Part | What I check or move |
|---|---|
| Database | A consistent dump with mysqldump --single-transaction, restored and checked for table count, row counts and character set. |
| Files | The WHMCS directory, custom modules, hooks, client area templates, attachments, downloads and the writable templates_c folder. |
| configuration.php | Database credentials and the $cc_encryption_hash. Losing that hash makes stored payment data and encrypted fields unreadable. |
| License | Reissued for the new IP and domain, then confirmed with a license check from the admin area. |
| Cron | The WHMCS cron job recreated with the right PHP binary path and run frequency, then watched through one full daily run. |
| Integrations | Payment gateways, domain registrars, fraud tools, WHM/cPanel servers, email piping and any third-party API that whitelists by IP. |
What usually breaks after a WHMCS move
These are the problems I see most often on migrations I am asked to repair. Each one has a cheap fix if it is found before cutover and an expensive one after it.
| Symptom | Usual cause | How I prevent it |
|---|---|---|
| Blank page or error 500 | Missing ionCube Loader, wrong PHP version, or a missing PHP extension | I compare the new server against WHMCS system requirements before copying anything. |
| "Invalid license" message | License still bound to the old IP address | I plan the reissue for cutover time and run the license check on the new server as soon as it is done. |
| Invoices stop generating | Cron missing, wrong PHP path, or cron user lacks permissions | I create the cron job, run it by hand and read the activity log. |
| Servers show as unreachable | The cPanel/WHM server firewall does not allow the new WHMCS IP | I add the new IP to the allow list and re-test every server module. |
| Gateway callbacks fail | Webhook URL, SSL certificate or an IP restriction changed | I run a small live payment and check the callback reaches WHMCS. |
| Emails land in spam | New server IP has no SPF, DKIM or reverse DNS | I set those records and send test messages to the major mailbox providers. |
If you plan to do the move yourself, my low-downtime WHMCS migration runbook lists every step in order, including the checks above.
Should I move and upgrade WHMCS together?
No, not if you can avoid it. Moving to a new server on the same WHMCS version changes one variable. Upgrading changes many, including database schema, templates and module compatibility. Doing both at once makes failures hard to trace. I move first, confirm the new server is stable for a few days, then upgrade as its own step. The exception is when the old server cannot run a PHP version the new WHMCS release needs. In that case I plan two linked stages inside one project.
Moving to WHMCS from another billing platform
Switching platforms is a data-mapping job rather than a file copy. I export clients, products, services, domains and open invoices from the old system and import them through the WHMCS API or SQL, preserving client IDs where the source allows it. Then I compare client counts, active services and outstanding balances line by line against the old system. Anything that does not match is fixed before you go live. Payment tokens stored by a previous system rarely transfer, so clients may need to re-enter card details. I tell you that up front.
What I need from you
- Admin access to the current WHMCS and SSH or root access to the old and new servers.
- A list of installed addons and custom modules, and who built them if you know.
- A quiet period for the cutover, ideally outside your ticket peak.
- Access to DNS, so the TTL can be lowered and the switch made on time.
What I will not do
I do not move or install nulled, cracked or unlicensed WHMCS copies, and I will not edit WHMCS core files, because those edits disappear on upgrade. Customizations go in the supported hooks, modules and template folders. I also do not delete your old server. It stays as a fallback until you say otherwise.
Cost and timing
Every installation is different, so I quote a fixed price after a short scoping call, or work hourly at $55 to $65 per hour if you prefer. The main cost drivers are the number of custom modules, the number of integrations that need re-testing, and whether a version upgrade or a platform switch is included. For related work, see WHMCS development, server migration and backup and the WHMCS security audit.
Who this is for
- Hosting companies moving WHMCS to faster or cheaper infrastructure
- Owners whose current host is slow, unreliable or shutting down
- Teams that must upgrade PHP or WHMCS and need a safe path there
- Businesses switching to WHMCS from Blesta, ClientExec, HostBill or a spreadsheet
What is included
- Full backup of database, files and configuration.php before anything is touched
- Copy of modules, hooks, templates, attachments and downloads
- License reissue for the new IP and a working license check
- Cron jobs recreated and verified, including the daily invoice run
- Payment gateway, registrar and WHM/cPanel module connections re-tested
- Email deliverability check for the new server (SPF, DKIM, PTR)
- Cutover plan with a rollback path and a written handover note
How the work runs
-
1
Audit
I read your current setup: WHMCS version, PHP version and extensions, custom modules and hooks, gateways, cron schedule and integrations. You get a list of risks before any work starts.
-
2
Build the target
I prepare the new server to WHMCS requirements: PHP version, ionCube Loader, extensions, MySQL or MariaDB settings, SSL and firewall rules.
-
3
Copy and test
I restore a copy of your data on the new server and test it through a hosts-file override, so real clients never see the test.
-
4
Cut over
At an agreed time I freeze changes, take a final database dump, restore it, switch DNS and watch the first cron run and the first payments.
-
5
Stay close
For two weeks after cutover I fix anything that surfaces. The old server stays untouched as a fallback until you approve its removal.
Guides on this topic
All guides →-
How to Migrate WHMCS to a New Server With Minutes of Downtime
The order I use to move WHMCS to a new server with a maintenance window of minutes: what to copy, what to edit in configuration.php, when to reissue the license and what to check after DNS switches.
-
WHMCS Upgrade Guide: How to Update WHMCS to a New Version
How to update WHMCS with the built-in Automatic Updater: where it is, which update channel to pick, what to check and back up first, PHP and ionCube requirements, and what to do when an update fails.
-
WHMCS Alternatives: Seven Hosting Billing Systems Compared
A WHMCS developer compares Blesta, HostBill, Clientexec, WISECP, Upmind, FOSSBilling and Paymenter by license model, source access and integrations, then says when leaving WHMCS is worth it.
-
WHMCS System Requirements: PHP, ionCube and MySQL Versions
The WHMCS PHP, ionCube Loader and MySQL versions for 9.1, 9.0 and 8.13, read on the official docs on 12 October 2026, plus the System Health checks and what to confirm before an upgrade or a server move.
Frequently asked questions
How long does a WHMCS migration take?
A standard server-to-server move with no custom modules usually takes two to three working days, including testing. Installations with many custom modules, several payment gateways or a version upgrade take three to five days or more. I give you a date after the audit, not before.
Will my clients notice any downtime?
Only during the cutover window, normally a few minutes, planned for your quietest hours. Until then the old installation keeps taking orders and payments. I lower your DNS TTL a few days ahead so the switch propagates quickly.
Do I need a new WHMCS license when I change servers?
A WHMCS license is tied to the server IP address and domain, so it must be reissued for the new server. If you bought the license from WHMCS, you reissue it from your WHMCS account, or I do it with you as part of the move, and no new purchase is needed. If the license came from your current hosting provider and you are leaving that provider, it stays with them and you need a new license key for the new server.
Should I upgrade WHMCS at the same time as moving it?
Usually not. I move first on the same version, confirm everything works, and upgrade afterwards. If something breaks, you then know whether the server or the upgrade caused it. If your PHP version forces the upgrade, I plan it as two separate steps in one project.
Can you migrate me to WHMCS from another billing system?
Yes. I import clients, products, services and open invoices from Blesta, ClientExec, HostBill or a CSV export, then check balances and renewal dates against the old system. Historical invoices and tickets are a separate scoping question, so ask me early.
What access do you need?
SSH or root access to both servers, the WHMCS admin login, and the registrar and gateway accounts only if their IP restrictions need updating. I work in a staging copy first, not on your production system.
Related services
-
WHMCS Security Audit and Hack Recovery
I review WHMCS for exposed admin areas, weak access, file and PHP settings, missed security releases and leake...
-
cPanel Server Migration and Backup Setup
I move cPanel accounts, mail and DNS to a new server with a tested cutover, then set up local and off-site bac...
-
WHMCS Support and Maintenance
Ongoing WHMCS care, hourly or monthly: staged upgrades, PHP changes, cron and backup checks, module updates an...
Ready to talk about your project?
You deal with me personally from the first message to the handover. Choose the way that suits you; I reply within one business day.