September 3, 2013

CRM Software Developer

Several clients of FlatCoder Ltd, past and present, have required bespoke Customer Relationship Management solutions (CRM) or Enterprise Resource Planning (ERP).  This short article will discuss two recent scenarios and detail the solutions delivered by FlatCoder Ltd.

Bespoke CRM Case Studies

Customer Relationship Management

Bespoke CRM

Why bespoke when there are many commercial and non-commercial CRM applications out there?  It’s a good question.  It is very rare that an “out of the box” solution works for a business.  More often, a CRM system needs to be taken and ‘massaged into shape’ to fit the business at hand.  The very terms themselves (CRM and ERP) aren’t clear cut and vary wildly in implementations available off the shelf.  Likewise, terminology, work flow, reporting and other requirements vary massively from business to business (even the classic ‘sales funnel’ does not always apply!).

FlatCoder Ltd. uses the “core” open source SugarCRM Platform.  From there, the approach is most often to remove everything that is not needed and start building modules to suit the business at hand.  The case studies below will explain more.  SugarCRM is a great choice as it is very flexible and “friendly” to us developers!  It is also web based which allows for rapid company wide deployments and support on Mobiles / Tablets.  🙂


Case Study 1:  Job Manager Application for Building & Construction

Arguably not even CRM depending on your definition!  Though the principles for this scenario were identical.  The key difference for this business was that as opposed to “Customers” being the corner-stone of CRM, the company wanted to keep track of “Jobs” and their progress.  Regardless of terminology, beginning with SugarCRM was still a fantastic starting point for this system.  In summary, key development points:

1. A module was created to capture Jobs.  Users can create, edit and update jobs in the system (e.g., “Build Hotel XYZ”).  All changes and entries are fully audited and reportable.  Jobs can be closed (complete) or invalidated (cancelled).  Other fields in the system capture the start date, prospected completion date and similar.

Job Screen

2. Against a job, a user can create a Timesheet and Mileage claim.  It details hours worked, mileage and expenses.  The timesheet automatically calculates hours based on start/end times and mileage based on start/end mileage.  A timesheet is associated with a job (though for ad-hoc/small pieces, the system will allow timesheets that have no job!).

Timesheets, Mileage, Expenses

3. Users can record documents against Jobs.  For example, Health and Safety Inspections or Site Plans/Drawings.

4. Users can browse the system looking at Jobs, Timesheets or Mileage in isolation.  In each case, a powerful search allows them to find the exact data they are looking for while also allowing them to change the columns displayed.  Essentially, this allows for complete custom reporting at will by the companies Admin staff.  For example, Timesheets by an Individual, Timesheets by Job, Timesheets by Date Period, Documents by Job and so on.

Powerful Searching & Reporting!


Case Study 2:  A More Traditional CRM

1.  An emphasis on good data for later reporting.  For example, if some data can be captured by a tick box, radio button set or drop down selection – it should be!  Limiting options for data is massively important if you are to get anything useful out of data mining (reporting) on the system later!  Consider a simple “Employee” field.  If this were free text entry it would not take long until “bad data” entered the system (a name spelt wrong in this instance could result in items being missed from reports!).

2.  An emphasis on recording all data.  Nothing ever gets deleted.  The company operated in a field highly audited by the government.  All records had to be kept forever.  Having seen the “filing room” for the companies old paper based operation, I completely understood the need to “get paperless” and get data in shape!

3.  What CRM calls “Accounts” was renamed to “Clients” in the system.  “Leads” became “Enquiries”, “Opportunities” became “Quotes” plus a few other similar changes to make CRM land language consistent with the business!

4. New custom module for handling Contracts.

5.  Custom data fields across the board.  Contracts had to capture exact work types and details, for example.

6. Advanced reporting.  The ability to generate bespoke reports to satisfy audit requirements.  What the company called “Registers”.  A new module was developed for CRM for this purpose.

7.  Calendaring.  Meetings, telephone calls, tasks and similar on a shared calendar and recorded against Contracts.

8.  Ability to email from CRM.  Again, emails recorded, captured against Contracts.

Contract Management

In Conclusion

Two very different scenarios, both of which were able to be satisfied by a bespoke version of an open source CRM system!

Hopefully, this quick overview has given you an idea how flexible such a system can be.