Docs / Migration

Migrating from WHMCS

The built-in migration tool imports supported business records from a private MySQL copy of WHMCS. Modules and custom data require compatibility review and, in many cases, adaptation.

Before you start

1. Connect to WHMCS

Restore a copy of the WHMCS database to a separate private staging database. In KBilling, open System Settings → WHMCS Migrator and connect with a SELECT-only source account. Never restore a WHMCS dump over the KBilling database.

2. Pick what to import

Everything is checked by default — clients, products, services, invoices, quotes, and tickets with replies. You can untick anything you don't want, for example old cancelled services.

Client passwords cannot be transferred (WHMCS stores them in a non-reversible hash). Clients use the "forgot password" link on first login, or you can email them a reset link in bulk from the import summary screen.

3. Reconnect server modules

Your WHMCS server groups are imported, but you should re-enter API keys under System Settings → Servers as a precaution. Products keep their module settings, so provisioning picks up where it left off.

4. Switch payment gateways

Enable the same gateways in KBilling (Stripe, PayPal, Bank Transfer) and paste your existing keys — a Stripe or PayPal account can stay connected to both systems during the transition. Just don't run the same subscription in both places at once.

5. Go live

  1. Put WHMCS in maintenance mode.
  2. Run the import one last time to catch anything new.
  3. Point your billing domain at KBilling.
  4. Turn off the WHMCS cron (whmcs/crons/cron.php) so the two systems never double-bill.
  5. Enable the KBilling cron (see the installation guide).

Keep the old WHMCS database around, read-only, for a few months. You probably won't need it, but it's cheap to keep.

Migration questions

Will my custom WHMCS modules work?
Do not assume drop-in compatibility. Open-source PHP modules can often be adapted after review. IonCube modules cannot be safely inspected, and modules using WHMCS runtime services such as Capsule or localAPI() require changes.
Does my WHMCS theme carry over?
No. Client-area templates are different, but the KBilling client area is ready out of the box and white-label branded.
Can I import from a different billing system?
The built-in tool covers WHMCS. For anything else, export clients and services to CSV and import via Utilities → Import.

Not using WHMCS?

Start with configuration →