Skip to main content
.com domains from $2.99 — free WHOIS privacy on every name

Operations Notes

WHMCS vs manual billing — WHMCS is a workload, and it has to be hosted like one

Your billing runs on a spreadsheet and a good memory, and the advice you keep getting treats the alternative as a subscription rather than as an application you now have to run.

The short answer

Treat it as infrastructure: WHMCS is a PHP application with a MySQL database, an ionCube requirement and a cron run that has to complete every night, so the decision is as much about where you host it as about whether you need it.

Stay manual while the client list is small. Once missed renewals cost more than the licence, automate — and put the install somewhere with the PHP version control, cron access and staging to upgrade it without taking billing down. Reseller plans here include a licence.

By the HostingFast team · Reviewed 24 August 2026

99.9%

Uptime target

24/7

Humans on duty

Free

SSL on all plans

NVMe

Disk class

Renewal dates are where reseller revenue quietly disappears. Manual systems miss them at a rate owners consistently underestimate, and the first automated billing run routinely surfaces invoices that should have gone out months ago.

The part nobody warns you about is that the fix is itself a system to run. It has a database, a nightly job, a licensing check and an upgrade path, and hosting it carelessly turns a billing solution into a second source of outages.

What the application actually needs

WHMCS runs on PHP with MySQL behind it and ionCube Loader present, which makes the PHP version an operational decision rather than a default. Per-site PHP version switching in the control panel is the feature that keeps this manageable, because it lets the billing install sit on the version it supports while your other sites move on.

Give it its own database and, ideally, its own account rather than an addon domain sharing an allocation with a busy site. A billing system contending with somebody's traffic spike is a bad arrangement on the one night of the month it matters.

Storage is unglamorous but real: invoices, tickets and logs accumulate. Turbo carries 20 GB of NVMe and 50 MySQL databases, which is generous for a billing install; Overdrive goes considerably further if the ticket desk becomes the main system of record.

The nightly cron is the part that has to finish

Almost everything automated in WHMCS hangs off a scheduled task: invoice generation, card capture attempts, dunning, suspension of overdue accounts, termination of cancelled ones. If that job does not complete, the automation silently stops being automation.

So instrument it. Note how long the run takes today and watch that figure as the client list grows. A cron run that creeps from a couple of minutes to most of an hour is telling you something about database size or a failing integration long before anything visibly breaks.

Schedule it away from your traffic peak and away from your backup window. Three jobs contending for the same disk at the same hour is a self-inflicted problem, and moving one of them costs nothing.

Upgrading without taking billing offline

Billing software is the worst possible thing to upgrade optimistically. Clone the install into a staging copy, run the upgrade there, exercise an order and an invoice run, and only then touch production. Staging environments come with the plans, so there is no reason to skip this step.

Take a backup immediately before, and know how long a restore takes. Daily backups run on every plan with self-service restores from the panel, but the number worth knowing is how many minutes a restore of your specific database actually takes.

Keep the licence, the install and the credentials documented somewhere that is not the install itself. That sounds obvious until the one system that knows everything about your customers is the system that is down.

Deciding with a number instead of a feeling

Count the hours you spend on billing admin in a month and attach your own hourly rate to them. Then add the renewals you missed. Compare that total with the licence, which is included with reseller plans here and also available standalone.

Below a handful of clients the arithmetic genuinely favours doing it by hand. The break-even arrives earlier than most people expect, though, and plenty of resellers discover they crossed it a year ago and never re-ran the sum.

What automation buys beyond the money is consistency: the same rules applied at three in the morning without anybody deciding to be lenient. That is worth something on its own, and it is the part a spreadsheet can never provide.

A founder running their own hosting brand from one screen

The unglamorous half of automation

Most writing about billing software describes the features. This page describes the hosting requirements, because that is the half that decides whether the features ever run.

Free migration applies here too: if your billing install is somewhere awkward, our engineers move it across without a fee and without a gap.

  • Its own account, its own database
  • PHP version pinned per site
  • Cron duration tracked as it grows
  • Upgrade on staging, never in place

Why HostingFast

Standard on every plan

Per-site PHP version control

Pin the billing install to the version it supports while everything else on the account moves forward.

Cron jobs from the panel

Schedule the nightly run yourself, away from your traffic peak and your backup window.

Staging for upgrades

Clone, upgrade, exercise an invoice run, then ship — rather than testing on live customer data.

Daily backups, panel restores

A restore point every day and a restore you run yourself, which is the only kind that helps at 3am.

A licence with reseller plans

Reseller tiers here are ready to wire straight into WHMCS billing, with a licence included.

NVMe under the database

Invoice runs and ticket searches both hit the disk, and the disk is NVMe on every tier.

Quick Start

From order to online

  1. 1

    Time the nightly run today

    Record how long the scheduled task takes at your current client count and keep watching it. A run that creeps upward is a database or integration problem announcing itself weeks before it becomes an outage.

  2. 2

    Give billing its own account

    Do not park it as an addon domain beside a busy site. A billing system contending for CPU with somebody's traffic spike fails on exactly the night you needed it.

  3. 3

    Rehearse the upgrade on staging

    Clone the install, upgrade the clone, place a test order and run an invoice cycle on it. Only then touch production, and take a backup immediately before you do.

Built In

Loaded onto every plan

  • Per-site PHP version switching, so the billing install stays on a supported version
  • Cron jobs configurable from the control panel
  • Staging environments for rehearsing an upgrade before it ships
  • Daily backups with self-service restores you run from the panel
  • NVMe SSD storage behind the database on every tier
  • MySQL databases in quantity, with phpMyAdmin available
  • SSH with Git and Composer for deployment and maintenance work
  • Reseller plans ready to wire straight into WHMCS billing
  • Free migration if the install currently lives somewhere awkward
  • A renewal price identical to the price you ordered at

Frequently Asked

What people ask us most often

What does WHMCS need from PHP and the database?

A supported PHP version with ionCube Loader available, and a MySQL database of its own. The PHP version is the part that catches people, because the billing install often needs to sit still while the rest of the account moves forward — which is exactly what per-site PHP switching is for.

Where should the billing install live relative to the sites it bills?

In its own account with its own resource allocation, not as an addon domain beside a busy site. Sharing an allocation means a traffic spike on somebody else's project can starve the invoice run, and that only becomes visible on the night it fails.

How do I test a WHMCS upgrade without breaking live billing?

Clone the install into a staging copy, upgrade the clone, then place a test order and run an invoice cycle against it. Staging comes with the plans. Take a backup immediately before touching production and know how many minutes a restore of your database actually takes.

How long should the nightly cron take?

There is no universal figure — it scales with client count, invoice volume and how many integrations it calls. What matters is the trend. Record the duration now and watch it; a run that grows steadily is telling you about database size or a slow external call while there is still time to act.

Keep reading

  • Hosting for Portfolios With Booking

    Running the billing application itself on hosting that respects its cron and its database.

  • WHMCS Hosting

    Panel overhead, backup windows and provisioning time across a populated reseller pool.

  • WHMCS (Glossary)

    What the software does, which parts are automated, and where the licence sits.

  • WHMCS License

    Automate billing, provisioning and support for your own hosting clients.

  • Ecommerce Hosting

    Fast, cached foundations for online stores on whichever platform you are running.

Changing hosts? Run through our checklist first.

A straightforward sequence for a switch your visitors never feel: which files move first, how to shift email across without losing a single message, the right moment to repoint DNS, and the two mistakes behind almost all the downtime we get asked to rescue.

You'll get the checklist email, then occasional pointers on keeping a site running fast. Unsubscribe the moment you want out — the privacy policy covers the rest.

Host the automation properly.

Per-site PHP, panel cron, staging copies and NVMe under the database — with a licence included on the reseller tiers.

View WHMCS License plans