bin/console runs maintenance tasks on the server. Run it as the account user that owns the installation, with the same PHP version as the web server:
cd /home/user/billing
php bin/console <command> [options]
On CWP, use the domain’s PHP version, for example /opt/alt/php-fpm83/usr/bin/php bin/console cron.
Commands
| Command | What it does |
|---|---|
install --url=… --db-name=… --db-user=… --db-pass=… --admin-email=… [--license=…] | Installs without a browser. Without --license, it starts the free trial. |
cron | The regular job, every 5 minutes: payments waiting, monitors, the security monitor, and once a day the billing automation |
massmail:send | Sends queued mass e-mails at their rate. Run it every minute. |
migrate | Applies database updates after an update. |
billing:preview | Shows what the next daily run would do (renewal invoices, overdue, suspend, terminate) without changing anything. |
admin:create <username> <email> [--first=Name] [--last=Name] | Creates a staff member and prints a random initial password. |
admin:reset-2fa <username> | The staff member’s next login shows a new QR code for 2FA. The password stays the same, and other sessions end. |
server:add --name=… --hostname=… [--ip=…] [--group=…] [--port=2304] [--no-verify-ssl] [--max-accounts=0] [--nameservers=ns1,ns2] | Adds a CWP server. |
server:list | Lists the servers. |
server:pair-token <server id> | Creates a pairing token for the CWP Billing module. |
product:add-cwp --name=… --package=… --price=… [--cycle=monthly] [--currency=USD] [--group=…] [--server-group=…] [--disk_quota=… …] [--hidden] | Creates a CWP hosting product and prints its ID. |
import:whmcs [--only=clients,users,services,…] | Imports the WHMCS database. See Moving from WHMCS. |
import:whmcs-secrets | Reads the decrypted WHMCS passwords and keys from tools/whmcs-export.php on stdin. |
mail:resend --since="2026-11-01 22:00" [--dry] | Sends e-mails again that failed, for example while SMTP was down. Mails with one-time links are skipped. |
stripe:link [--dry-run] | After a WHMCS migration: finds the clients’ saved Stripe cards at Stripe (by e-mail and last 4 digits) and links them, so automatic charges keep working. |
captcha:off | Emergency switch when a wrong captcha setup locks staff out |
theme:publish | Copies the theme assets to the web root (public_dir). |