how to customize for nonprofit use?

Just wondering if anyone has any tutorials or experience to share about doing this. We’d like to use SuiteCRM as a contact database for an environmental nonprofit (for organizing events, joint activities, contacting decision-makers, etc.). So we don’t want to use a paradigm of Sales and Marketing but something more like Ally Organizations, Media, etc.

I’ve made similar things work using Salesforce before, but I’m hoping that with Suite it may be more straightforward and graceful.

Any tips?

THANKS in advance.


I’ve used SuiteCRM for a few non-profits. There’s really not much to be said - just use the modules you need (Contacts, Accounts, Events) and don’t use the modules you don’t need (Quotes, Invoices, etc.).

But obviously when applying generic modules to a real world scenario, you need to see which functionality you need, and how much of it is already there. Often it is necessary to do some customizations and some custom code, but likely not much. I do advise having someone technical involved, or hiring customizations services from SalesAgility or some other company.

Thanks for the tips! That’s pretty much how I was approaching it, so it’s good to know that I’m not trying to do something that others have found problematic. I chose SuiteCRM specifically because I could choose which modules to load and rename/edit them as needed, unlike many other CRM applications that I’ve reviewed.

I probably won’t have more informed questions until I get some data from our campaigners to import and then I try to make all the relationships, views, and collaborations work easily. I can program in PHP if that’s necessary, but I think that in this case I’ll try to stick to core functionality unless they really need something that can’t be done without an extension. We already have so many different tools in our box, so what I’m hoping to do is to fill a specific gap rather than reinvent the wheel and have this replace others that are working fine for them now.

For now I think I’ll just try reducing the complexity to the bare minimum that I know will be needed and renaming modules and menus to match the data that will be imported and entered and see how it goes!


We have used SuiteCRM for many Non-profit organization and one of them is from World Food Programme branch of United Nations for one country.
One thing I would like to suggest is to make sure to use a base module as much as possible and if you have any module need to have extensive customization then go for creating Custom module, so you can have your own class and function to extend.

Good advice! So far it doesn’t look as if I’ll need any additional modules, but once the team starts using it you never know what they’ll ask for. I also want to not create anything new that would make updates problematic in the future, so if I extend anything it will be with that in mind.

I’m importing data for this project now, and I have some questions about how to use the core modules for our purposes (and create custom ones if necessary), so hopefully you Suite gurus can give me some guidance.

This database will be used by campaigners and communication staff for the organization, so we don’t really need to track donations/sales or anything like that. Essentially it will be a big rolodex of NGOs, companies, government officials, press contacts, volunteers, etc. So most of the core functionality is handled by using Accounts for the organizations and Contacts for individuals associated with them (I don’t think we need Leads or Opportunities at all).

I’m not sure how to do a couple key things, though, so I’d appreciate advice from folks who’ve done this before.

Our organization has standing programs and within those we have shorter-term campaigns. For example we have a Brazil program and a campaign to install solar panels in indigenous communities there. I would like to be able to relate accounts and contacts to either or both of these (many-to-many). So for example, a particular representative of an NGO may be related to multiple programs and campaigns.

What would be the best way to achieve this structure using the existing modules? I think that our campaigns could be Projects, but how could we relate these to our programs (and relate other items to these)? Or perhaps both things should be Projects (programs with no end dates and campaigns as projects within them)?

I’m also dealing with how to tag items based on assorted criteria, which I see is a common issue for others. What’s the usual method that people recommend to make this work and be user-editable? Should they just be typed into a text field like Description or something similar? That’s pretty clunky, but it seems as if it may work. The paid custom modules that I’ve seen online are too expensive for me to consider.

Thanks in advance for your advice!

I recommend a custom module that is not too expensive, especially when considering that it can be used in conjunction with all the existing modules: TagMe, which happens to be written by @urdhvatech who is also participating in this thread. :slight_smile:

Tagging is unstructured, meaning you are free to add any tags to any modules and mix tags between modules. They are colourful and users love them because they can use their own, without having to ask sysadmins to build any module structure for them.

If you use structured records and relationships, like Projects and Project tasks, it is less free, but can be more organized. So if you prefer that you could try:

  • use Projects as higher-level entities, with Project Tasks inside them (which could be your Campaigns, if I understand correctly). However, you can only relate Projects to Contacts, I don’t think you can relate Project Tasks to Contacts.

  • have a look at the Events module, it could also work for this. Each of your campaigns (pay attention - they’re not the same as a SuiteCRM Campaign module) would be an Event, and you can connect Accounts and Contacts with them.

I looked at the TagMe module, and it seems like exactly what we need. Alas, this is being used by a small environmental nonprofit, and I could never get them to pay that much for it. @urdhvatech: if you’d be open to donating a license, I could get you a US tax write-off and many thanks from grateful users!

I think that Projects and Project Tasks may work for us as you describe, and perhaps we can use Events for collaborative efforts with other organizations also.

I’ll give it a shot and see how it goes - thanks again!