December 1, 2004

The sweet taste of good customer relations

Author: Dave Fancella

SugarCRM offers a suite of customer relations management software. Sugar Sales is available in both an open and a closed source edition. The closed source package, Sugar Sales Professional, includes an Outlook plug-in and some additional features not found in the open source edition. I tested Sugar Sales, the open source version, which is available under a variant of the Mozilla Public License. I found the software has a lot of good things to recommend it, but still suffers from the incompleteness of many version 1.0 products.

Sugar Sales is a Web-based application written in PHP and designed and optimized for a LAMP server (Linux, Apache, MySQL, and PHP). While you can pay for a hosted service using Sugar Sales, SugarCRM suggests that you run Sugar Sales on your own server to achieve the best cost-effectiveness and maximal usage of corporatespeak.

Like most applications you can download over the Web, Sugar Sales has an installation script you execute by pointing a browser at it. A wizard asks for information, inspects the destination server's configuration, and prompts for database and root user information. The installation was simple and went off without a hitch. I've come to expect a PHP installer to check write permissions on the directories it needs, check write permissions on directories it doesn't need, and offer warnings when it can't write to directories it needs to write and warnings when it can write to directories it shouldn't be able to write. Sugar Sales gave me all of this helpful information and provided the expected mechanism to repair the environment without having to restart the installation from scratch. One minor caveat I had was that I wasn't told to delete the install.php file as a basic security precaution.

Entering information is straightforward, and I found the user interface to be easy to work with. The only fields available for customization involve money. You can set up different currencies with their associated exchange rates, ISO codes, and symbols. The good news is that if you're migrating from, Outlook, or Act!, Sugar Sales provides facilities for bringing your database with you. Alternately, if you can get your existing database into CSV format you can import that into Sugar Sales. Anything else will require some custom scripting, but since Sugar Sales is built on PHP you should be able to find supporting scripts or modules to handle the migration.


Click to enlarge

Once you've accumulated some customer information, you're going to want to run some reports on it. Sugar Sales has the typical sales funnel report, showing current opportunities and projecting sales figures from them. For daily reporting needs, Sugar Sales' reports do the job. For more complex reporting, such as historical performance charts, Sugar Sales isn't quite up to the task, but the company plans to include more reports in future versions.

I searched for third-party reporting tools and found a few, most of them linked from DataVision's Web site. DataVision is a Java-based open source reporting tool. The big caveat with using a third-party reporting tool in lieu of native Sugar Sales reports is that most of the tools require direct access to the database. One of Sugar Sales' strengths is that it can be installed in hosted Web space for small companies, but Web space providers don't usually give you direct access to the database, making third-party reporting tools useless to you, so if you need more informative reports you will definitely be looking for a Web-based reporting tool. I would prefer to have a template-based reporting tool rather than a slew of native Sugar Sales reports; this would make an excellent enhancement to the product.

I investigated how easy it would be to integrate arbitrary PHP scripts into Sugar Sales' user interface to generate custom reports. To place a PHP script into Sugar Sales, you have to create a directory for it in Sugar's modules subdirectory, create a handful of files, and modify a couple of others, and that's before you even write the report code itself. While it's not straightforward to stick an arbitrary PHP script into the interface, it could be worse. It only took me about ten minutes to get something showing that had its own happy tab in Sugar's interface, but the resulting page contained PHP errors from classes I didn't implement that the application expects. I estimate that an hour's time would have sufficed to complete the job for a basic report.

Sugar Sales lacks an embedded mail client, but it does have the ability to store email linked to contacts in the database. Go figure. To integrate a mail client with Sugar Sales, you have to use a plug-in, and the only plug-in available now is for Microsoft Outlook. While it makes sense from a business perspective to support Outlook early in the life of the product, it still requires your sales staff to run Microsoft's operating system. Without the plug-in your sales staff will have to copy every email they write and receive into Sugar Sales.


Since Sugar Sales runs on a LAMP platform, how well it scales to larger sales departments depends entirely on how well it handles delegation and access control. Delegation and access control are shades of the same concept, which is assigning specific functions to users (delegation) and enforcing the assignments (access control). Sugar Sales has limited support for delegation and no access control, limiting the size of the sales department that can work with it. I wish I could give you a hard number here, but the limitation is going to be determined by the makeup of your sales team. This isn't as bad as it sounds. Consider that if your company is small enough to find installing Sugar Sales in hosted Web space to be cost effective then your sales department is small enough not to notice that it doesn't happen to support delegation. On the other hand, if your company is large enough to find building its own server and hosting its own Sugar Sales installation more cost-effective, then your database administrator can enforce access control at the database layer rather than at the application layer. It's the companies that are in between that will feel the most need for delegation and access control and will have to modify Sugar Sales.

Extending and customizing Sugar Sales

Click to enlarge

Sugar Sales is designed to be extended. Writing a new module to add more features to the program seems fairly straightforward. Additionally, Sugar Sales provides a SOAP server, which means you can use a standard RPC API to plug in to Sugar Sales. The SOAP server is the first place I would look to create a plug-in for Thunderbird, Kontact, or Evolution. And since Sugar Sales is provided under a variant of the Mozilla Public License, you can customize the core code all you want, provided you're willing to support your own customizations to your sales staff. Sugar Sales also includes a script for processing form data from your Web site, providing more-or-less instant integration with your site.

Customizing Sugar Sales is a bit more trouble. It has solid theme and internationalization support, but many of the choices are hard-coded into the program. For example, you can create a task, schedule a meeting, or schedule a call with a contact. In a perfect world, you would be able to customize this so that you can create different types of events you can schedule with a contact, such as "Product Demonstration" or "Bid Negotiation." In addition, when you schedule your event you can choose for its status one of "Planned," "Held," or "Not Held." In the case of having a "Product Demonstration," it would be nice to be able to mark the event as "Product Installed."


Sugar Sales should be able to satisfy most of the CRM needs of small to medium-sized businesses. As an open source product built to run on top of other open source products, Sugar Sales offers the same cost-effectiveness you find with any open source product, and it has an impressive feature set for the time it has been in development. That means we can reasonably expect it to improve quickly too.

The genre of customer relations management is one of the last areas where expensive proprietary solutions dominate open source software. This is unfortunate, since CRM is one kind of software that usually requires customization that's never available from the vendor. Sugar Sales does a good job of giving companies that need CRM software a way to make open source work for them.


  • Enterprise Applications
Click Here!