Documentation

Install BillingEvo, connect your gateways, servers and registrars, and move your data across. The full reference, including the API, is inside the admin.

Last updated:

Requirements

Item Requirement
PHP 8.4 or newer (tested on 8.4 and 8.5)
Database MySQL 8 or MariaDB 10.11+
PHP extensions pdo_mysql, mbstring, openssl, curl, json, fileinfo, zip, ctype, tokenizer, xml, dom, bcmath, sodium
Cron One job every 5 minutes, or cron over HTTP
Redis, background workers Not needed. The queue, cache and sessions use the database
Hosting Shared hosting (cPanel, DirectAdmin) or a VPS
HTTPS Strongly recommended. The admin API only answers over HTTPS in production
Outgoing internet Needed for gateways, registrars, hosting panels and the licence check

BillingEvo does not need the intl extension or the proc_open function. It uses a fallback when they are missing.

Install

  1. Buy a plan. You receive the BillingEvo package and your licence key.
  2. In your hosting panel, create a database and a subdomain, for example billing.yourcompany.com, with HTTPS enabled.
  3. Upload the files, set the site address and the database details, and create the first superadmin account. The package includes step-by-step installation instructions.
  4. Set up the cron job (see below).
  5. Sign in and open System > Health to confirm that PHP extensions, writable folders and disk space are all in order.

A guided web installer that runs these steps in the browser is coming soon.

Cron

BillingEvo’s automation (invoices, reminders, suspensions, domain sync, backups) runs from one cron job every 5 minutes. The exact command for your server is in the installation instructions.

If your host does not allow crontab, you can call the cron over HTTP instead. HTTP cron is off by default. When you turn it on, it is protected by a secret key and an IP allow-list.

System > Automation status shows whether each task ran, with an OK, Warning or Error badge and a 7-day trend. A summary email is sent daily.

Activate your licence

Open System > Licence and enter your licence key. BillingEvo then checks the licence once a day. Each check sends only the licence key, domain, installation ID and version.

  • If the server cannot reach the internet, upload the licence file instead.
  • After you upgrade your plan, the new modules open at the next check.
  • If the licence server cannot be reached for a while, BillingEvo keeps running during a grace period, and superadmins see how many days remain.

Set up your business

In Setup, work through the system settings:

  • company details, logo and accent colours for light and dark mode;
  • invoice number format and late fees;
  • tax rules by country and state, with your own tax label;
  • currencies and daily exchange rates;
  • email: a main SMTP server and an optional backup SMTP that takes over when the main one fails. Send a test before saving.

Email templates (60 built in) and every text your customers see can be changed in the template editor and the Translation Editor.

Payment gateways

BillingEvo supports Stripe, BayarCash and CHIP, and bank transfer with proof-of-payment upload. You need your own merchant account with each provider.

  • Stripe shows the payment methods Stripe enables for your account and country.
  • BayarCash uses FPX by default, plus DuitNow, DuitNow QR and cards if they are enabled on your BayarCash account.
  • CHIP shows FPX, cards and e-wallets on the CHIP payment page.
  • Bank transfer: customers upload proof of payment, and staff review it before the invoice is marked paid.

Gateway logs are redacted and kept for 90 days. Customers can also pay a single invoice without logging in, through the QuickPay link in their emails.

Hosting servers

Automatic provisioning works with DirectAdmin. Add each server with its login details and run the connection test. You can then:

  • group servers so each new account goes to the server with the fewest accounts;
  • choose for each product when accounts are created: on order, after the first payment, after staff approval, or not automatically;
  • monitor server ports, load and uptime.

Products that are not DirectAdmin hosting, such as VPS or managed services, can be set to wait for staff approval, so your team sets them up by hand while BillingEvo handles invoices and renewals.

Domains and registrars

Enable the registrar modules you use: ResellBiz, Spaceship, Namecheap, NameSilo or Cloudflare. For TLDs without an API, the Manual driver tracks expiry dates and turns each action into a staff task.

Set your own prices for each TLD, for registration, transfer and renewal from 1 to 10 years, with special prices for client groups if you need them.

WhatsApp notifications

Connect MacroWA Pro or WAHA with your own account. You can then send new invoices, payment confirmations, reminders, hosting-ready notices, ticket replies and follow-ups over WhatsApp. Login codes and password links are never sent over WhatsApp, and customers can opt out.

Backups and file storage

Set up daily backups to SFTP, FTP, Dropbox or Google Drive (through your own OAuth app), with optional AES-256 encryption. You receive an email if a backup fails.

Ticket attachments, client files and product downloads can be stored on the server itself, or on FTP, SFTP or Google Drive.

Move from WHMCS or ClientExec

Open System > Data import. You need either a connection to the old database or an SQL dump of it. For WHMCS service and server passwords, you also need your WHMCS encryption key.

  1. Connect to the source, or upload the dump.
  2. Review the check: source system, version, and anything that blocks the import.
  3. Run the dry run and fix any issues it reports.
  4. Run the real import. Problem rows are logged and skipped.
  5. Compare the reconciliation report with your old system.
  6. Send password reset emails where needed, then switch automation back on.

The old database is only read. While the import runs, billing, domain and hosting automation is paused, so nothing is sent for imported data.

API

The admin API is at /api/v1 and is off by default. Turn it on in the API settings, then create credentials for a staff member. The secret is shown once and stored as a hash. You can require HMAC signing, limit credentials to API roles and IP addresses, and use idempotency keys.

A read-only store API at /api/v1/store gives your website the catalogue, prices, TLD prices and domain availability. It is also off by default.

The OpenAPI document and the developer guide, with curl, PHP, JavaScript and Python examples, are inside the admin.

Updates

New versions come as a release package with upgrade instructions while your support and updates period is active. Release notes are in the changelog. One-click updates from inside the admin are coming soon.

Getting help

During your support period, contact us with your licence key, your BillingEvo version and a description of the problem.

Orders are not open yet

BillingEvo is not taking orders yet. Message us and we will tell you when orders open, or try the live demo in the meantime.