Importing from WHMCS
Clients, products, services, domains, invoices, transactions and tickets are read straight from a WHMCS database. WHMCS is never written to.
Preparing
- Create a MySQL user on the WHMCS database with SELECT rights only, reachable from the server that runs TWERPLEX.
- Set up the things an import cannot invent first: currencies and tax rules, payment gateways, servers and registrars, and your email settings.
- Make a backup.
Running an import
System → Import data → WHMCS. Enter host, port, database name, user and password; the connection is tested and the WHMCS version and record counts are shown. Then:
- Dry run. Everything is read and checked, and a report is produced; nothing is written. Fix what the report lists in WHMCS or decide to skip it.
- Import. Records are created in batches from the cron job. You can limit the import to some entities (currencies, product groups, products, clients, contacts, services, TLDs, domains, invoices, transactions, departments, tickets). Clients that already exist here with the same email address can be linked instead of duplicated.
- Review. Imported products are hidden from the storefront until you publish them; imported services, domains and invoices are listed with a link to their origin.
- Go live. Until you confirm Go live, automation is on hold: no invoices, reminders, suspensions or emails go out for imported data.
What is and is not carried over
- Passwords and panel credentials are not imported. When you choose to notify clients, each receives an email that their account has moved, with the sign-in address and a link to the forgotten-password page to set a new password; it is sent in batches by the scheduler.
- Invoices and transactions keep their dates and amounts so history and totals match.
- In the mapping step you tell the import which of your servers and connections correspond to the ones in WHMCS; services whose server has no mapping are imported without one and listed in the report.
- Not imported: ticket attachments, configurable options and addons, affiliates, quotes.
Running it again
An import can be repeated: records already imported are updated, records changed here since the last run are kept and listed as such, and nothing is duplicated. The same import is available from the command line:
php artisan twerplex:import whmcs --dry-run
php artisan twerplex:import whmcs --only=clients --only=services --link-existing