Inspired by Peter Goodman’s 12 Things You Should Dislike About PHP and15 Cool Things About PHP That Most People Overlook I’ve created a list of reason that make me dislike vTiger .
- Total lack of coding documentation. External and in-line! vTiger is a very complicated system and finding out how a simple module works can be quite a challenge.
- The coding standard comes close to “Just throw it in and pray noone will ever need to edit it”.
- User privileges are stored in a file. Can anyone tell me why?
- The main and sub tabs are defined in the database as well as in 2 files… and also the language files. which makes it tricky to add a tab.
- Too many duplicate SQL queries.
- Mixing of PHP & HTML. The vTiger team did their best separating PHP & HTML by using Smarty but they didn’t always feel like it. Examples given: The login page & the footer containing version information & copyright.
- Something goes wrong and the system will still smile at you and tell you everything has worked a-OK. For example, you try to import invoices and it crashes somewhere because of an SQL error, it will still tell you everything has been imported. Same story when using the CRMentity class to insert data.
- When I wrote my import invoices script, I checked the database for the correct date format… YYYY-MM-DD . It would be logical to pass the same date format to the CRMentity class? Right? WRONG! vTiger flips the date around and makes it DD-MM-YYYY . Resulting in having to provide the date in DD-MM-YYYY format so it’ll convert to YYYY-MM-DD. I’m guessing this is an old quick-and-dirty fix?
- (not really a vTiger issue) Lack of (good) themes. I can only hope someone will start creating vTiger themes in the near future. Should you be looking for a nice theme, I’d recommend “Softed theme“.
- All of the list views’ (eg: account list) data is fetched using AJAX. This results in not being able to use your back button, impossible to bookmark your current view and takes a long time to load.
- Overall, it doesn’t perform when handling a lot of data. E.g.: It takes a hell-a long time to load the calendar if you’re an admin and everyone has synced their calendar.
- vTiger has several quickfixes and most of them break other functionality, I quote: “modified by Richie as raju’s implementation broke the feature for addition of webmail to vtiger_crmentity.need to be more careful in future while integrating code“. Well Richie, thanks for fixing that but you broke something else!

Posted in
September 18th, 2007 at 7:58 pm
Thomas, thanks for the valuable feedback. We agree that the documentation and coding are not upto the standard and are making efforts to improve on it. We’ll be attending to some of the other issues as well in the upcoming releases.
thanks,
Sreenivas Kanumuru
vtiger Team
October 23rd, 2007 at 4:13 pm
I agree. vtiger kind of sucks. It took us forever to figure out some issues. Like the AD authentication, all the documentation (really just forum posts) keep talking about a patch. It is not until you find out for yourself, that the AD authentication functionality is actually built-into the latest version. But the vtiger team failed to make this easily available as a feature, or spec.
you are 120% right, their documentation sucks.
With that said, the system is a powerful system, I’m just concerned with its enterprise-ready status…
December 3rd, 2007 at 10:52 am
Thanks for mentioned Softed theme.
Backlink added
Lukas N
May 16th, 2008 at 8:33 pm
Just want to thank the vtiger team for all their work in maintaining a 100% open-source project.
Does it have rough edges? Yes. But it is by far the best open source CRM tool available. Perhaps if we contributed to documentation as a community it would get better, no?
August 11th, 2008 at 7:14 am
Thanks for the article, I am checking out vTiger as a solution for my web development customers. The article points out a few good issues. I’m also working on a few new themes for vTiger so will keep you posted.
August 16th, 2008 at 12:56 am
I’m attempting to hack version 5.0.4, and the coding standards are very poor.
There’s a separate language file PER MODULE. Simply searching and adding new phrases is a pain in the arse.
The database design is nasty. 312 tables? With mixed naming conventions? And cascading deletes? Seriously? I’ve gone cross eyed.
The app does its job - but is very slow even with a minimal amount of records.
I love open source and do appreciate the work that went into this app. I’m just saying it ain’t easy to work with this app.
August 18th, 2008 at 9:14 am
Hah… good luck with that Cornelius… we stripped the whole language thing out of vTiger since it was so frustrating and built in our own… But believe me, you’ll have a load of work stripping it out
If you want to improve the speed of vTiger, have a look here:
http://www.rdlt.com/vtiger-slow-accountproducts-popup.html
August 21st, 2008 at 10:02 pm
Thanks for the tip regarding speeding things up.
Using some bash scripting and the search/replace power of vim, I was able to get all the separate english language files concatenated into 1 “more manageable” language file.
But now that I have dug deeply into their PHP code, I am absolutely astounded. I am absolutely astounded human beings maintain this code. The cascading if/else statements go deeper than a hole to China. Single lines of code word wrap in my vim editor 7 TIMES. These developers should never be allowed to touch a keyboard again.
Had to vent. There’s a good chance I’m gonna scrap this thing.
September 10th, 2008 at 11:11 am
Hi, is anyone able to import Invoice successfully to vtiger?
I’d imported the invoice in csv into the database. But it does not get displayed in the Invoice module.
Help is appreciated.
Thank you.