When it comes to billing systems, most people in my line of business have heard of WHMCS. It is the defacto billing and automation system for most hosting providers but it is also very popular with many other types of business as well, such as ISP’s, website design agencies or anyone selling IT services etc.
Even though WHMCS is intended for hosting providers and is more of a provisioning and automation system, it still manages to beat other dedicated billing platforms due to its flexibility and configurability and is also very cheap, starting at only $15 per month.
I have been using WHMCS for at least the last 15 years or so through my former companies and during that time I have tried various other WHMCS alternatives, such as box billing, blesta and others. I have also used many other general billing systems such as freshbooks, quickbooks, zoho and many others.
Another area where I have always been on the lookout for the best solution is a CRM / project manager. I have tried so many different solutions over the years, I have lost count, these include Trello, Bitrix24, Hubspot, Asana and many more.
Some of them were good, some of the were awful. The free or affordable solutions always had some missing features or functionality and/or I did not find them very intuitive. The rest were just too bloated and expensive for my megre requirements.
One of my favourite project/task management apps I have used was Paymo, which I used when it was still in beta and is a great app and it has improved a lot since then. So if you need task/time tracking and task billing then I give Paymo a look.
Then in 2019, quite by chance, I came across this hidden gem on CodeCanyon called Perfex CRM.
Perfex is one of those rare finds that seems almost too good to be true for the price. Not only does it have a ton of features and functionality that would normally need multiple different apps to achieve, but amazingly it costs only $59. That’s it, there are no recurring costs unless you need ongoing support and who can’t afford $59?
The list of features available for this small price is quite staggering. And depending on your specific requirements, this may actually cover all the bases and even be a viable alternative to WHMCS as a billing system, as long as you do not require the provisioning/automation features of WHMCS.
I found very little information online RE Perfex and certainly no useful comparison between it and other solutions, so I decided to write one myself.
Below I have listed the core features of both systems for comparison. I am only listing the ones I feel are most relevant, but If there is something important I have missed, feel free to let me know in the comments.
NOTE: I am aware that WHMCS and Perfex are 2 very different apps meant for different purposes. So to clarify, the purpose of this article is primarily to compare them as a billing system.
But I will be mentioning the other features and functionality for completeness in case it is useful to anyone who is looking for those features
|Project Management||with paid addon|
|Task Management||with paid addon|
|– WYSIWYG editor|
|– Set ticket reminders|
|– Assign ticket to specific contact|
|– Add billable tasks to tickets|
|– Recurring Invoices|
|– Bill for tasks/billable time on tickets|
|– Credit Notes|
|– Automatic payments|
|– Credit/Debit Cards|
|– Direct Debit|
|Shopping Cart / Online Store|
|Automation / Provisioning System|
|REST API for external integration|
|3rd party modules / Addons|
|Domain Name Registration/Renewal|
|Resell third party services (Security, backup, hosting, email etc)|
I used Perfex for about a year for all my freelance/web design work and overall I have been very happy with it (for the price). But eventually I did get to the point where I really wanted the automatic provisioning, domain name renewals and other automation features of WHMCS.
So I once again bit the bullet and switched all my recurring billing over to WHMCS. I do however still use Perfex for my project management, one-off invoices, leads, contracts etc since it is also a CRM, which WHMCS is not.
NOTE: all the WHMCS screenshots below are using the Lara WHMCS admin theme.
Billing is the primary focus of this comparison article, since that is the one trait that both Perfex and WHMCS share in common.
Perfex is the better option for one-time/ad hoc billing, because you can create a customer (without their interaction) and send them an invoice, which they can just pay by clicking a link, no login required. Whereas with WHMCS, your client needs to register, create an account and set a password, then they need to login make a payment, which is a whole fiasco they don’t need just to make a one-time payment.
WHMCS is better for recurring billing, mainly due to the fact that it charges customers automatically with no manual interaction from the client. As soon as they have made their first card payment, a token is stored, which allows all future payments to be taken automatically. Plus WHMCS supports direct debit payments via GoCardless, which is great if you do not want to worry about cards being declined or expiring.
Every single product and service you setup in WHMCS can be set as recurring or one-time payment with optional setup fees. If you need to bill a client for something non-standard for which you do not have a pre-defined product/service for it, then you would setup a “billable item” which is essentially the same as a recurring invoice.
With Perfex, customers must pay all invoices manually, even recurring invoices, which means constant chasing of those clients who do not pay on time or ignore emails telling them a payment is due. This may not be a problem for you, but chasing clients for payment isn’t something I like doing 🙂
Perfex does support Stripe subscriptions, which will allow you to take payments automatically. But this feels like a rather clunky solution, as it has to be setup via stripe, where you create your products/plans. Then you create a subscription via Perfex, which will allow you choose from your stripe plans. So you can only bill clients a set amount as per the subscription. If the monthly amount changes, you must setup a new subscription.
If subscriptions could at least be created automatically via Perfex, then that would at least be an improvement but it is a strange decision on the part of the developer to do this way, especially when stripe supports tokens as standard which allows for automatic payments like WHMCS.
Currently the only other way to setup automatic billing is via a payment gateway, such as via direct debit with GoCardless and then manually mark the invoices as paid in Perfex once payment was received. You are able to turn off invoice reminders in the case that you have setup a direct debit, so it won’t harass your client if you forget to apply the payment.
Perfex allows you to set a reminder on any invoice, so you can send yourself an email telling you to chase it up. While this is useful, it does seem a bit counter productive that this has to be done manually. I would prefer that these reminders were enabled by default or at least prompted during the invoice creation, otherwise chance are that you won’t remember to set a reminder.
Both apps allow you to set automatic reminders to send to the customer. In the case of WHMCS it will only send 3 and that’s it. In the case of Perfex, it will continue sending reminders until the customers pays, which is much better IMO.
Both apps allow you to apply manual payments with a transaction ID if you have processed an offline payment, such as through paypal or BACS for example.
I find Perfex far more intuitive in the way it displays the invoices and all the information relating to that invoice. When you select an invoice, you have tabs for “Payments, tasks, activity logs, reminders, notes, email tracking, views tracking”.
The views and emails tracking is unique to Perfex as WHMCS does not have this, and it is very useful, as this shows you when the emails were sent and if they were opened and whether your client has viewed the invoice and when and from what IP. So if your client tells you “I didn’t get the emails” then you will know if they are telling porky pies.
From this page you also have the ability to:- Send an overdue notice, create a credit note, attach a file, copy invoice, pause overdue reminders.
WHMCS allows you to send any of your pre-defined invoice related email templates, which is a bit more flexible although doesn;t apply so much to perfex due to the lack of automatic billing.
WHMCS also allows you re-attempt a payment capture from any of the clients saved credit/debit cards, so you can retry a card that had failed or if they have multiple cards stored and one failed, you can try another one.
Selling Products & Services
Perfex CRM does not have any kind of shopping cart or online store functionality at all, there is also a complete lack of product configuration in general. All you can do is create an item (i.e. something you sell) and give it a description and price, that’s it, so it is only really good for selling very simple products and services.
WHMCS by comparison has the ability to create products with setup fees, monthly, annually, bi-annually etc pricing, addons and configurable options for every product, which makes it very flexible, plus the ability to upgrade and downgrade products, create product bundles and resell pre-defined products from the WHMCS market connect.
That said, WHMCS is still not an online store, more just a basic ordering/provisioning system as it was primarily designed for hosting providers. You cannot add product images or detailed descriptions, SKU’s or anything of that nature for example. What most people do is to have the products/service pages on their main website and just have the order button link through to WHMCS.
If you need an actual online store then I can recommend taking a look at Ecwid, which is a nice and simple eCommerce system that can be easily integrated into WordPress. This is what I have been using for all my simple one-time purchase services. Note that Ecwid does not support subscriptions.
Automation & Provisioning
Since Perfex is not a provisioning system it has zero features in this dept.
WHMCS has automatic ordering and provisioning for domain names, hosting, email, SSL, servers, wix, sitelock, spam experts and more. You can also find a ton more provisioning modules in the market place.
As great 80’s rock band Cinderella once said, you don’t know what you’ve got till it’s gone. So had I never used WHMCS, I would have been more happy with Perfex, and for any small agency or freelancer, it is a perfectly adequate solution.
But once you get to a certain size, doing things manually becomes a PITA and is more prone to human error, which is where automation really becomes a necessity.
If you are selling services like hosting, domain names, SSL or any of the built in products/services then WHMCS is a no brainer. For anything else, you can always get a custom provisioning module created.
If you deal with more than a few dozen of these types of products/services then WHMCS is probably the preferable solution as Perfex does not have any kind of provisioning or automation in that respect, unless you are prepared to pay to get such custom modules created.
There is however an increasing number of custom perfex modules available on codecanyon which adds additional functionality and integrations. So it may just be a matter of time until somone turns perfex into a provisioning system.
If you don’t sell services like this and do not require this kind of automation and provisioning, then Perfex will likely suit you just fine.
Both WHMCS and Perfex are fairly equal when it comes to how support tickets work and functionality is almost identical, both are very basic on this front.
Basic features are: create depts, create ticket, assign tickets to depts, assign ticket to staff member, assign to client account and product it is related to, change ticket status, add ticket notes, view related tickets.
Perfex does have a few advantages though. It allows you to set a reminder on a ticket, so that you don’t forget to follow up in case the customer does not respond. You can also create a task on a ticket or convert the ticket to a task and them record billable time against those tasks, which can then be invoiced. This obviously makes it a lot easier to bill customers for time spent doing support.
WHMCS does have the ability to add a billing entry to a ticket, and then invoice it immediately or add to clients next invoice, but this is very basic, not especially useful and also easy to miss or forget to do it. I was using WHMCS for a very long time before I noticed this option and then never remembered to use.
One other big improvement Perfex has is that it will display HTML in tickets and also has a WYSIWYG editor, allowing you to insert HTML and even images into ticket replies. This is something WHMCS sorely lacks, despite users requesting it for many years.
Perfex also allows you to use aliases without any additional configuration. So all email that comes into your ticket mailbox will be imported, regardless of what address it was sent to.
So if you wanted info@ support@ and help@ to all come into the same dept, you just alias/forward all those addresses to same inbox, that’s it.
With WHMCS you have to setup a separate dept for every single email address, otherwise the emails will be rejected. This is very annoying when you have multiple domain aliases (e.g. .com, .co.uk, .uk) that you wish to pipe email into the ticket system for.
On the downside, Perfex does not allow you to pipe emails to different depts using aliases. You are required to have a separate imap inbox for every dept, whereas WHMCS does support this.
A few WHMCS only features are:- the ability to watch a ticket. This is useful if a ticket is not assigned to you, but you want to receive/monitor all activity on that ticket. It also has a ticket log which you can view to see all staff and user activity.
I have used quite a few project manager / task management apps over the years and I have to say that for the price, Perfex is very good and it does most of what I need.
All the basic/typical functionality you need to manage projects and tasks is there, tasks, gantt charts, nites, milestones, timesheets. From within the project you can view associated contracts, invoices, proposals, estimates, expenses, credit notes and subscriptions.
I suggest trying out the demo.
Some particular items of note are:-
A task does not require a project, you can create a stand alone task or it can be related to anything else in the system. a project, client, task, proposal, invoice, estimate, contract or lead. This is very neat and of course rather useful.
Perfex does have a TODO list, which is great for keeping track of really basic task lists, but because tasks can be open and not assigned to anything or anyone, this means you can also use the task manager for internal/personal stuff too, meaning you can make use of the time tracking, lists, notes etc.
Tasks can also be set as repeatable using days/months/weeks and years and you can also set an hourly rate on a per task basis. Both of which are features I have found lacking in many other PM systems I have used.
So not only do I use Perfex for my client work, I also use it to keep track of tasks at home as well. You know, all those little jobs that you have been putting off for years, which your wife reminds you about every few months 🙂
One annoying/lacking feature is the reminders. These can be set on just about everything, not just tasks, but they only remind once. Reminders really need to be recurring, in case you you miss/forget the first one.
WHMCS does have an official project management addon to add this functionality, but since it is an addon, I won’t be covering it here. I have not tried it and it does seem a bit too basic to me.
This is a weird feature of Perfex and I am not entirely sure how useful it is.
As the name suggests, it allows you to create discussions on a project, it works rather a forum, in that replies are nested and has a basic WYSIWYG editor and allows you to attach files.
Annoyingly it does not allow you to reply to discussions via email, you must login to respond. This has a tendency to result in clients not bothering to reply, probably because they couldn’t do so when they rea dthe notification email and had to until they were in front of a computer and then forgot.
Since tickets can be linked to projects, I have tried to use tickets instead, but the issue with this is that tickets are not always visible unless the client has replied and not visible at all once they have been closed.
It does seem a little confusing having both tickets and discussions available on a projects.
An estimate in Perfex is the same as a quote in WHMCS. It is basically the same functionality as generating an invoice, except no payment is due since it is just a quote for how much somehting will cost. If the client accepts it, then you convert it to an invoice.
You have the ability to add additional notes to the client, plus WHMCS has the advantage that you can create a quote for a new client and enter the client details at the same time. But Perfex only allows you to select an existing client, so you would need to create the client first.
Proposals + Contracts
Only Perfex has this feature.
A proposal can be related to either a lead or a customer. It is basically an estimate plus a contract. As with an estimate or an invoice the proposal can have multiple line items.
The contract can only be assigned to a customer and can only have a total contract value, no line items.
Both can have tasks assigned to them but only proposal can have reminders. Both can have attachments but bizarrely they both handle attachments in a different way which is just confusing.
A contract has a start date and an end date whereas a proposal has a creation date and an open-until date, after which I assume the client cannot accept it.
The client can leave notes on the proposal or the contract, i.e. to ask for changes or haggle the price etc. Once they are happy they can then accept the proposal or contract, which you can then convert to an estimate or an invoice.
When accepting a proposal or contract, the client must provide a electronic signature.
Honestly I am not really sure what the point is in having both as they both seem to serve the same purpose.
Only Perfex has this feature.
A proposal holds the potential client details, a last contact date, you specify the status of the lead (new, contacted qualified, working proposal sent, customer) , you set the source of the lead (Facebook, Google etc) and can assign it to a staff member.
You can add your leads manually or import them from a CSV file, making sure your csv is in the required format first.
A lead can also have tasks and proposals assigned to it as well as notes and reminders (to follow up). If you are successful with your lead then you can convert it to a customer.
There is also an activity log if you want to see what actions have been taken with this lead, either by yourself or whomever it is assigned to.
Perfex has theme customisation built right in, making it real easy to change all the colours on both the front end and backend. It even has an area for you to add custom CSS if you want to do further customisation.
WHMCS sadly does not have any such customisation options, so you would have to manually add your own customisations to the custom_css file to achieve the same, which does require you to know some CSS. Also very annoyingly, WHMCS will overwrite that custom_css file with an empty file, every time you update WHMCS. Nobody knows why and many have told WHMCS devs to stop doing this.
Perfex also makes it easy to customise the view files, simply by copying the original file and naming it my_filename.php, and this file will then be used instead of the original.
I have used this method myself to add a link to my terms and conditions at the end of all invoices by default, rather than having to add it manually to every invoice.
WHMCS on the other hand requires you to create a whole new theme. This is a better solution if you are doing a lot of customisation, but not if you just want to do some minor changes.
In either case, you do need to remember to check if any of the files you have customised have been changed after installing updates, and then re-apply your customisations to the new versions of those files.
I hope you have found this Perfex CRM vs WHMCS comparison useful in making a decision as to which product to use or it has helped you discover the hidden gem that is Perfex CRM for the first time, as an alternative CRM and billing system that doesn’t cost an arm and a leg.
Even though I have switched my own billing to WHMCS, I am still a big fan of Perfex and it has a lot of potential to be a killer product.
The one thing holding Perfex back is that it is built and maintained and all support by a single developer, so if anything happens to that guy, that is the end for Perfex CRM. Whereas WHMCS is a proper company with a team of developer and support staff.
This does however put WHMCS to shame that a single developer has managed to achieve so much when the WHMCS devs have regularly taken up to10 years to add highly requested features and functionality and have a habit of breaking important functionality with every release, even when that functionality has not changed or been updated.
Obviously both products are going to receive updates after I have published this article, meaning that it will eventually become out of date as new features get added.
So if you notice any mistakes or outdated info, let me know in the comments.