TWERPLEX

Version 1.0.0 · CodeCanyon edition · PHP 8.3 or newer

Importing from WHMCS

Clients, products, services, domains, invoices, transactions and tickets are read straight from a WHMCS database. WHMCS is never written to.

Preparing

  1. Create a MySQL user on the WHMCS database with SELECT rights only, reachable from the server that runs TWERPLEX.
  2. Set up the things an import cannot invent first: currencies and tax rules, payment gateways, servers and registrars, and your email settings.
  3. 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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

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
↑