Skip to content
Shahid Malla

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.

PartWhat I check or move
DatabaseA consistent dump with mysqldump --single-transaction, restored and checked for table count, row counts and character set.
FilesThe WHMCS directory, custom modules, hooks, client area templates, attachments, downloads and the writable templates_c folder.
configuration.phpDatabase credentials and the $cc_encryption_hash. Losing that hash makes stored payment data and encrypted fields unreadable.
LicenseReissued for the new IP and domain, then confirmed with a license check from the admin area.
CronThe WHMCS cron job recreated with the right PHP binary path and run frequency, then watched through one full daily run.
IntegrationsPayment 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.

SymptomUsual causeHow I prevent it
Blank page or error 500Missing ionCube Loader, wrong PHP version, or a missing PHP extensionI compare the new server against WHMCS system requirements before copying anything.
"Invalid license" messageLicense still bound to the old IP addressI plan the reissue for cutover time and run the license check on the new server as soon as it is done.
Invoices stop generatingCron missing, wrong PHP path, or cron user lacks permissionsI create the cron job, run it by hand and read the activity log.
Servers show as unreachableThe cPanel/WHM server firewall does not allow the new WHMCS IPI add the new IP to the allow list and re-test every server module.
Gateway callbacks failWebhook URL, SSL certificate or an IP restriction changedI run a small live payment and check the callback reaches WHMCS.
Emails land in spamNew server IP has no SPF, DKIM or reverse DNSI 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. 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. 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. 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. 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. 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.

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