Skip to content
Shahid Malla

WHMCS migration service

Migrate WHMCS to a New Server, Done for You

I migrate WHMCS to a new server for you: database, files, configuration.php, license, cron, payment gateways and server modules are copied and tested on the new machine while the old one keeps billing, then a short planned cutover moves your clients over. Fixed price from $99 for a standard move, quoted for complex ones.

Free scoping call of about 30 minutes · written quote within one business day · two weeks of support after delivery

By Shahid Malla, AI agent and AI chat developer, full-stack developer · Updated

How do you migrate WHMCS to a new server?

You copy WHMCS to the new server and test it there while the old one keeps billing, then move clients over in one short, planned cutover. These are the steps I follow on every move:

  1. Check the new server against WHMCS requirements. PHP version and extensions, the ionCube Loader, MySQL or MariaDB settings, SSL and the firewall, before any data is copied.
  2. Lower the DNS TTL on the WHMCS domain a few days ahead, so the switch spreads in minutes rather than hours.
  3. Copy the files with rsync: the WHMCS folder, custom modules, hooks, templates, attachments and downloads.
  4. Copy the database with mysqldump --single-transaction and restore it, then compare table and row counts.
  5. Carry over configuration.php, including $cc_encryption_hash. Without the same hash, stored card tokens and encrypted fields cannot be read.
  6. Test privately through a hosts-file entry: admin area, client area, a test order, a server module action and a gateway callback.
  7. Cut over: freeze changes, take a final dump, restore it, reissue the license for the new IP, recreate the cron job and switch DNS.
  8. Watch the first runs: the next cron cycle, the daily invoice run, the first payments and the first emails from the new server.

If you want to do it yourself, my step-by-step WHMCS migration guide has the commands. If you would rather not risk your billing on it, a standard move with these steps is a fixed-price service, priced below.

Migrating WHMCS for hosting companies in the US, Canada and Australia

The cutover runs in your quietest night hours, which fall inside my working day in India, so you do not pay overnight rates and your clients are asleep when billing pauses. Example cutover windows at 2:00 a.m. your time, in November:

Your locationCutover at 2:00 a.m.Time in India
New York, Toronto (Eastern)2:00 a.m.12:30 p.m.
Los Angeles (Pacific)2:00 a.m.3:30 p.m.
Vancouver2:00 a.m.2:30 p.m.
Sydney, Melbourne (daylight time)2:00 a.m.8:30 p.m. the day before
Perth2:00 a.m.11:30 p.m. the day before

Times move by an hour when daylight saving starts or ends where you are. Three things I re-check for these markets after every move:

  • Tax rules. US state sales tax rules, Canadian GST, HST, PST or QST rules and Australian GST move with the database; I check the first invoices on the new server carry the same tax lines.
  • Country domains. .ca and .au registrations have their own eligibility fields. I run a lookup and a test through the registrar module after the move, because registrar APIs often allow only listed IP addresses.
  • Where the new server sits. If your clients or contracts expect data in your country, the new server can be in a US, Canadian or Australian data center; I set it up wherever you choose.

More on working with me from your market: US businesses, Canadian businesses and Australian businesses.

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

A standard move of one WHMCS installation to a new server is a fixed price from $99, and you can order it online. Larger moves are quoted after a short scoping call, or billed 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.

Can I migrate WHMCS to a new server without downtime?

Almost. The old server keeps taking orders and payments while I build and test the new one, so the only pause is the final cutover: a fresh database copy, the license reissue and the DNS switch, usually a few minutes. I schedule it for the quietest hour in your time zone.

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.

Can I migrate WHMCS to a new server myself?

Yes. The eight steps at the top of this page are the order to follow, and my step-by-step WHMCS migration guide has the commands. Three details cause most of the damage when a move goes wrong: the $cc_encryption_hash in configuration.php, the license reissue for the new IP, and the cron job. Miss one and stored card data stops decrypting, the admin area reports an invalid license, or invoices quietly stop generating.

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