Jump to content

Showcase for non-hosting IT service website (WHMCS 7)

Recommended Posts

This is a showcase of a non-hosting WHMCS custom integration for my small business IT service and consulting company based in Houston, TX.

Main site: https://www.felinepc.com
Client portal: https://secure.felinepc.com

When I started looking into building a client portal to streamline client management, billing and support for my IT service clients, it soon became evident to me that most of the existing products and solutions on the market simply do not meet my standards. The idea of using WHMCS for my project stems from my years of experience as a customer with various hosting providers since the early 2000's. I knew exactly what WHMCS  looked like inside and out. I understood that it would take a lot of work to customize all the templates, hooks and wordings to achieve what I wanted, and that it may inevitably require some wrestling and compromises.

But ultimately I decided to go with WHMCS and I'm overall very satisfied with the final product. It was definitely not a very easy task: it's only when you dig deep into the details that you realize hosting is after all what WHMCS lives and breathes. The references and layouts are everywhere. In the end, about 30 template TPL's were modified (mostly related to the pages after customer logs in), another 20 or so email templates as well. Over 100 lines of language overrides. Lots of hooks to customize the menus/titles etc and lots of CSS  styling overrides (I have to say WHMCS's built-in CSS codes are quite a mess).

If others want to implement WHMCS for non-hosting businesses, please feel free to get in touch with me and I'd be happy to provide some insights.




Edited by startover909

Share this post

Link to post
Share on other sites

Very nice and thank you for sharing. I like to think as hosting as anything that involves hosting a service somewhere regardless of what data it involves. If you think it that way, WHMCS can be used to sell anything that involves a time one product or a recurring product. Of course, its more fit for services, and mostly tech related services but this can be anything from a simple web hosting package to a manage support IT package or a complex cloud metered solution, software or a combination of all. The more flexible and open a product is, the more it can fit a custom business and I think this is what WHMCS should always try to follow as every company, even in the same market is different in the way they sell services or provide products.

From a local IT company, to a global company selling in mass quantities, it can all work with enough customization and integration. I see many companies that don't sell hosting or domains using WHMCS, for example software developers or companies just providing IT support. Most of them are small business and rely on heavy modifications on their installations. This is also why I think WHMCS should increase the time they support versions, as for those customers, it requires far more time and work to integrate everything back on each major upgrade.

Edited by yggdrasil

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Webmaster001
      We have a product and it has 5 custom fields. Each of these custom fields is defined by using an input box during the checkout.
      When the product is created we want to send these values (which the client typed) to them for their record.
      WHMCS suggest using {$client_custom_fields.1} in the email template. But our clients receive empty input for those. We double checked the clients. In the Product section they have those values defined and we can see them however we are unable to see those in the sent emails. They are not encrypted by MD5 so we technically should be able to send them.
      Can anyone suggest how we should set up the email template so the clients receive those 5 custom field values?
    • By sherwin_flight
      I know how to create a new page in the client area of WHMCS that requires the user to log in to view, I have that part figured out. I want to add a custom link to this page from the product management menu.
      When a user goes to the "My Products & Services" page there is a drop-down menu next to each product that says "View Details", I want to add a link to that menu.
      Right now there is only one option in that menu, called "Upgrade/Downgrade" which points to
      I would like to add a link item with a URL like this:
      Is this possible?
    • By elijahpaul
      I've created a custom table in the WHMCS DB, and would now like to display the contained table data on a custom page I've also created, in the form of an html table.
      In mycustompage.php, I've passed the data to an array like so:

      $result = mysql_query("SELECT * FROM tblclientscustom WHERE userid=".$ca->getUserID()); $data = mysql_fetch_array($result); $customdata = $data; $ca->assign('customdata', $customdata);
      Then in mycustompage.tpl (using the clientareainvoices.tpl as a 'template') I've done the following:

      {foreach from=$customdata item=customdata} <tr> <td>{$customdata.id}</td> <td>{$customdata.domain}</td> <td>{$customdata.email}</td> <td>{$customdata.organization}</td> <td >{$customdata.timestamp}</td> <td><a href="viewcustdata.php?id={$customdata.id}">{$LANG.customdataview}</a></td> </tr> {foreachelse} <tr> <td colspan="5">{$LANG.norecordsfound}</td> </tr> {/foreach}
      However the above just populates every row with the results from the first row of my custom DB table (tblclientscustom).
      Have I made a mistake in setting the variable/array $customdata?
      Also what is the 'item=customdata' setting? in the clientareainvoices.tpl template it's set to 'item=invoice'. Have I set this wrong too?
      Any help appreciated.
    • By Webmaster001
      We have a custom ajaxcart order form. We want to know if it is possible that we alter the style.css somehow that if there is an error message instead of showing the message inline (as block) it pops up so it won't move other input fields we customized.
      Right now, when the error messages shows up it partially gets covered by other input fields and makes the cart look messed up.
    • By microvb
      I have been looking into consolidation several sections of WHMCS into a single page so that my customers don't have to click through so many pages in order to do simple things like access cPanel for their hosting services, or to view all domains on their account.
      The problem I found is that one cannot simply merge the tpl files for these sections as the smarty variables are not defined for those pages ---
      If you combine `clientareahome.tpl` with `clientareadomains.tpl`, you will not get a list of the domains on the account on the `clientareahome.tpl` page. Instead, you will get errors.
      I dug a bit deeper, and I could not find anywhere to force the variables to load the appropriate information for these pages --- most likely because the files that control the flow of this data seem to be all IonCube encoded.
      I am seeking assistance with this as I (and my customers), have found WHMCS client area to be unnecessarily excessive on the amount of clicking necessary in order to reach common information. This makes the 2 clicks from my home page seem horrendous when you count the 4 clicks to get to cPanel for a particular hosting package (Login, View, View Details, Login to cPanel). I am just using the cPanel button as an example of distance from user entry to action. This applies to other things such as Domains, SSL control, Profile editing, and so on, which could be consolidated more efficiently.
      I have sought out third party assistance from 'theme integrators', however they only migrate the header/footer html, and do nothing with the actual content itself. I have restyled everything using Bootstrap3, and modern components (if I could hack the tables, I would use a jQuery sortable table rather than the one that requires a page reload on every sort change -- which supports filtering as well).
      Any assistance in this would be fantastic -- or if the only way is to have the source for the 'clientarea.php' file, instructions on how one may obtain a source license would be great.... even if it is just the client area sources. I can put up with the nuances in the administration area, so I am really just concerned about UX/UI for the user area.
  • Recently Browsing   0 members

    No registered users viewing this page.


Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated