Multi Tenant WHMCS Guide: How to REALLY Manage Resellers
Resellers in WHMCS
If you are looking for ways to manage resellers, it is very likely that you are a provider and you're looking for ways to let web agencies, developers and IT professionals resell your services and domains.
Let me say loud and clear that your thoughts on the matter are probably wrong. WHMCS in fact is not a multi-tenant software (more on that later) and there's a high chance it will never be. Before we dig into the topic, you must reset your approach to this need.
WHMCS already supports resellers. All you need to do is pick a web hosting control panel like cPanel or Plesk and connect it to your WHMCS. Then you create as many reseller plans (also known as multi-domain) as you need and you are ready to go.
Visitors come to your site, order the reseller plan that better match their needs and can freely host as many website as they want. In this context, they pay your for the available resources in their plans (eg. 50 GB disk space, 200 FTP accounts). That's all you need to care about. The number of sites they are going to host is not relevant to you.
So far so good but let's quickly jump to the main problem. Some of your resellers may need a platform like WHMCS to manage their customers. This hypothetical platform should be white-label so that your business name never gets revealed to end-users.
The answer to this question is pretty simple. Like you, they need to use WHMCS. If you are thinking about fancy ways to let them use your WHMCS with sub-accounts, special roles or any customization that comes to mind, just stop.
You can't offer this kind of service to resellers. Let me try to explain what I mean with an example. If I need I car, I need to buy one. There's no way you can offer me a fraction of your car as we can't drive it in the same time to go to different places. Like WHMCS, cars are single-driver.
The article could stop here but we already know that it won't stop you from looking for other sources so let's face this problem head-on.
That's the name of what you are looking for. The term "multitenancy" refers to a software architecture designed to serve a group of users who share a common access to the software instance each one with specific privileges and roles.
Speaking of WHMCS, you probably want to place yourself at the top of the hierarchy as provider with full permissions. Then you want to accomodate as many resellers as possible with limited permissions.
Maybe you also want to make it work with resellers depositing money in advance. Since we're talking about features of WHMCS, why don't we give resellers the possibility to use a simplifed version of WHMCS?
This way they could use the inbuilt features such as domain availability checker, hosting configuration, shopping cart and payments to manage their customers. It sounds great.
What else? Let them customize the template with their logo, text and make it work with their own domain name. Last but not least, we could offer API access for resellers who are interested in creating custom integrations. Let me recap.
These are all speculations based on the incorrect perception of WHMCS. It's a bit like pareidolia phenomenon where people see images of animals or object in cloud formations, faces on Mars surface etc.
You can magically make WHMCS multi-tenant just because some of its features fit the vision you have of the software. This is one of the most common WHMCS mistakes to avoid.
It doesn't matter how much you want it. WHMCS can't fullfill your requirements since it's doesn't have a multi-tenant architecture. But let's say we really want to do that. Get ready to face hundreds of problems.
In this multi-tenant view, you get the money from your resellers' customers and issue invoices. This would be a billing paradox as you need to "redirect" all the money to your resellers. Not to mention the implications on privacy and GDPR.
What about API access? They don't support multiple access levels. Every command runs with full administrator permissions. Restricting access so that a reseller can't affect customers, services and domains owned by other resellers and your own company is a Rubik's cube.
We're just scratching the surface but we are already facing complex problems that would require months of work. It isn't worth the effort. Especially because all you need to do is to sell/provide a WHMCS license to resellers.
"But what if..."
Over the years we've been asked many times to make WHMCS multi-tenant. Even when we explain in detail the reasons why this is not a viable option, there's always a "what if". People create plans that are impossible, unrealistic, or have a very little chance of succeeding.
It looks like when people waste time to figure out how to integrate WHMCS with WordPress when they could directly use it as CMS that includes WHMCS SEO.
Ironically multi-tenant is not even a problem. As we said earlier, the solution already exists. It is cheap, quick and easy to implement. It consists in providing WHMCS to resellers.
Still many refuse to adopt this approach because they don't want to reveal they're using WHMCS themselves. As if it were a state secret.
The most successful hosting providers have already solved the problem of multitenancy a long time ago by directly including WHMCS licenses in reseller plans. This way each reseller can start an hosting business. That's the very point of using WHMCS.
There's no need to reinvent anything or to create hyper complex solutions. Simply apply to WHMCS reseller program and value to your hosting plans for resellers. They will be tankful to you as you are giving them a software that solves many problems.
We understand that offering WHMCS to resellers has a couple downsides but they're pretty minor in the greater scheme of things. In fact some resellers could come up with the idea of expanding to self-hosted solutions or move to a competitor but that's part of the game. Your role is to offer them a good service and not trying to hold them back or to hide the reality.