Back to blog

WHMCS Reseller Hosting: Automate Billing and cPanel Provisioning

IM Host EditorialOctober 14, 20267 min read
WHMCS Reseller Hosting: Automate Billing and cPanel Provisioning

WHMCS turns a reseller hosting account into a business that runs itself: it bills your clients, creates their cPanel accounts automatically after payment, suspends them when invoices go unpaid, and gives them a client area and support tickets. You connect it to your reseller WHM through the cPanel/WHM server module using an API token, then map each WHMCS product to a WHM package. This guide walks through that setup and the decisions around it.

What WHMCS does for a reseller

  • Billing: recurring invoices, payment gateways, credit balances, late fees and automatic reminders.

  • Provisioning: creates, suspends, unsuspends, upgrades and terminates cPanel accounts on your WHM through the server module.

  • Client area: clients see their services, invoices and domains, and can open cPanel directly from there with single sign-on.

  • Support: ticket departments, email piping, a knowledge base and announcements.

  • Domains: registration, transfer and renewal through registrar modules, if you sell domains.

If you are still deciding whether reselling suits you, start with the types of web hosting explained and the guide to starting a white-label reseller hosting business.

Step 1: prepare packages in WHM

WHMCS does not define disk, bandwidth or email limits itself; it tells WHM which package to apply. So build your packages in WHM first:

  1. Log in to your reseller WHM and open Packages > Add a Package.

  2. Create one package per plan you will sell, for example Starter, Business and Pro, each with its disk, bandwidth, email account and database limits.

  3. Write down the exact package names. On a reseller account, WHM prefixes them with your reseller username, for example yourname_Starter, and WHMCS needs that full name.

Keep the total you sell realistic against the resources of your reseller plan. The reseller hosting pricing and profit guide helps you design packages that leave room for margin and growth.

Step 2: create an API token in WHM

An API token lets WHMCS act on your WHM without storing your password, and you can revoke it at any time without changing your login.

  1. In WHM, search for Manage API Tokens and generate a new token.

  2. Give it a clear name such as whmcs. If your WHM offers per-token permissions, grant only what account management needs.

  3. Copy the token immediately. WHM shows it only once.

Step 3: add the server in WHMCS

  1. In the WHMCS admin area, go to Configuration > System Settings > Servers and add a new server.

  2. Choose the cPanel module, then enter the server hostname, your reseller username and the API token.

  3. Click the test connection button. If it fails, check the hostname, make sure the token was copied in full, and confirm the machine running WHMCS can reach WHM on port 2087.

  4. Fill in the nameservers your clients should use. WHMCS inserts them into welcome emails.

  5. Assign the server to a server group, even if you only have one. Adding a second server later then takes minutes.

Step 4: map products to WHM packages

  1. Go to System Settings > Products/Services, create a product group such as "Web Hosting", then create a product of type Shared Hosting inside it.

  2. On the Module Settings tab, select the cPanel module and your server group, then pick the WHM package from the list. WHMCS reads the package names from your server.

  3. Choose when to provision. For most resellers that is automatically as soon as the first payment is received.

  4. Set billing cycles on the Pricing tab, and edit the welcome email so it carries your brand rather than template defaults.

Then place a test order as a test client and mark the invoice as paid. Confirm the account appears in WHM with the right package, terminate it from WHMCS, and confirm it disappears from WHM too.

Step 5: set up automation

Automation is where WHMCS earns its keep. Under System Settings > Automation Settings, decide:

  • how many days before the due date invoices are generated;

  • when payment reminders and overdue notices go out;

  • after how many overdue days a service is suspended, and when, or whether, it is terminated;

  • whether a suspended service is unsuspended automatically when the client pays.

None of this happens without the WHMCS cron job. Add it on the server that hosts WHMCS, running every five minutes:

*/5 * * * * php -q /home/youruser/whmcs/crons/cron.php

Adjust the PHP binary and the path to match your server. The admin dashboard warns you when the cron has not run recently, so check it the day after setup. Be conservative with automatic termination: terminating an account deletes it together with the client's files and email, so leave a generous gap after suspension.

Domain registrar modules

If you sell domains, configure a registrar module under System Settings > Domain Registrars and set your TLD pricing. WHMCS can then register, renew and transfer domains automatically and keep expiry dates in sync. If you do not sell domains, leave this off and let clients point their own domains to your nameservers.

Where to host WHMCS itself

You can technically install WHMCS on one of your reseller cPanel accounts, but a separate small server is the better choice:

  • Independence. If the hosting server has a problem, your billing system and support desk stay online, so you can still talk to clients.

  • Security separation. WHMCS holds client data and an API token that controls every account. Keeping it off the shared hosting server reduces exposure.

  • Control. You choose the PHP version, the ionCube Loader that WHMCS requires and the cron setup.

A small Linux VPS is enough for a starting WHMCS installation. Keep in mind that IM HOST Linux VPS is unmanaged: you install and maintain the web server, PHP and database yourself, and daily backups are an optional add-on that is worth enabling for a billing system.

Security checklist for WHMCS

  • Serve both the admin and client areas over HTTPS only.

  • Rename the admin directory and restrict admin access by IP address where you can.

  • Turn on two-factor authentication for every admin user.

  • Move writable folders (attachments, downloads, template cache) and the crons folder outside the web root, following WHMCS's own hardening documentation.

  • Keep WHMCS, its modules and PHP up to date, and keep your licence active so you keep receiving updates.

  • Back up the database and configuration.php regularly, and test a restore at least once.

Frequently asked questions

Is WHMCS included with IM HOST reseller hosting?

No. IM HOST reseller hosting is WHMCS-compatible, but the WHMCS licence is not included. You buy the licence separately and connect it to your WHM.

Do I need root access to connect WHMCS?

No. WHMCS connects with your reseller username and an API token, and it manages the accounts that belong to your reseller account.

Can WHMCS suspend unpaid accounts automatically?

Yes. With the cron running and automation settings configured, WHMCS suspends overdue services and can unsuspend them once the client pays.

What happens when I add a second server?

Add it under Servers, put it in the same server group, and WHMCS places new accounts across the group according to the fill rule you choose.

Reseller hosting at IM HOST

IM HOST reseller hosting includes cPanel/WHM with white-label branding, CloudLinux LVE isolation with guaranteed RAM and CPU per account, NVMe storage, automated daily backups per cPanel account and free Let's Encrypt SSL on every hosted domain. It is WHMCS-compatible (licence not included), comes in 12 plans from 20 to 500 cPanel accounts, and includes free migration of your existing client accounts.

More from our blog

Discover more practical guides and product insights from the IM Host team.

View all articles