We are building an accounting web application. In our database, we store basic data about our customers, like phone number, their login informations, because these things are tied into our web application. Now we need a CRM system to do things like sending marketing mails to users who signed up, but never used the service, we also want a database of potential customers or partners, who we would like to contact some day etc. etc.

Such functionality is basic in any CRM system and I would hate to have to implement all these features ourselves. At the same time, I cannot see how we could utilize a CRM solution like SalesForce without having to store some data in two places and with all the complications that that would lead to. What should we do? Is there any CRM system that can be put upon our PostgreSQL database and just utilize the data we have and store what we do not have?

  • 1
    Existing CRM solutions bring they own data model. Always! If you gonna keep your own data model, you should try to keep the data automatically in sync. This can be achieved, for example, directly on the database, by using triggers, most easily if both systems work on the same database system (but you have to understand parts of the CRMs data model in depth, of course) – Doc Brown Apr 16 '13 at 13:02
  • Is this for a single company, selling to other companies or providing SAAS? – JeffO Apr 16 '13 at 14:11
  • @JeffO Sorry for my late reply. It is SAAS. – David Apr 17 '13 at 18:29

Off the shelf tools exist to meet customer needs.

Building an off the shelf tool that does everything any customer might need is a kind of panacea that a lot of companies try to build.

The problem client companies like yours have is that no "all in one" system will ever do absolutely everything your company needs.

So extensibility and customisability are both important things for the "all in one" system.

IMHO, you will not find a system that does everything, and you will always have to compromise.

That may mean buying a second system, or building something else, and managing data between them.


Is there any CRM system that can be put upon our PostgreSQL database and just utilize the data we have and store what we do not have?

here's your problem - you want a CMS, but you don't want to use the functionality that CMS offers you, you want to bend it to your requirements. Here's a suggestion: why not look for a CMS that does the things you are building, and bend your design to its structures? Most CMSs come with way more functionality, and include things like customer details. You then move from building a CMS to modifying your existing system.

In the case where you cannot do this, the trick is to build a service-style component that presents your existing data to the CMS, so you replace the bit that would read from a customer phone number (say) from its DB, and replace that code with a call to your service that returns the phone number from your old DB. Good code will be structured in this way already so modifying it to read (and write) will be relatively trivial - if you're lucky you'll just need to change a DB connection and some SQL.

Open Source CMSes are ten a penny, you could try vtiger which is a salesforce clone, or investigate the options offered by more generic systems like drupal, joomla or plone. See which one could be altered the easiest.

  • +1 for "there is no spoon" style advice. Don't try to change the CMS to work with your system, change your system to work with the CMS. – Adrian J. Moreno Apr 16 '13 at 20:53
  • I meant Customer Relationship Management not Content Management System, I am sorry for the confusion. I still believe that your answer kind of applies, though. – David Apr 17 '13 at 19:23

Not the answer you're looking for? Browse other questions tagged or ask your own question.