ERPNext decided to start new domain Non-Profits. This will help all NGO/NPO to track their funding, contribution, events, and survey related information.
If anyone has any ideas, suggestion and feedback. reply.
Since we ERPNEXT are now a non-profit we will also use it internally.
Contact, extend existing DocType as per chosen Domain. Contact can already be invited as user.
Event Management, Also helpful for businesses not just NGOs, Extend Event and add related tools
Membership Type must be similar to current Campaign, users can add more Memberships Types later. It can be Organization as mentioned in wiki. Member may have one or many contacts.
e.g.
Member
Type: Indivdual
Contacts: Primary + Spouse (or Just Primary)
Member
Type: Corporate Gold
Contacts: Primary + Member’s employees
NGOs with Membership Types based on other demographics can add memberships later. e.g. Membership based on age.
Case Management Also helpful for businesses not just NGOs, Currently Communication Doctype is used for this, Case Management can be a page/report/tool to filter Communication interactions
Very interesting project. Non-profit really needs an affordable and efficient all-on-one solution. They can have open source specialized tools for managing members or funding but many NGOs have generic management needs.
I will gladly participate to the wiki, as a freelancer who work regularly with local NGO for several years.
PS : I may contribute to the code too, as soon as I confirm my move from Odoo to ERPNext…
Typically member information, is personal data ( fields like relative, blood group, address etc. ) could be needed. It is similar to employee doc type in many ways.
Member donations would need tracking ( something like employee ledger where we have party and party type of employee).
Spend of donations by members against projects would need to be tracked.
Many NGOs send out publications to members like magazines etc, there would be a need to track these also.
I prefer to let you choose what you think is relevant to the NGO project, I will throw ideas here.
NGO modules
Membership
Each NGO should opt for 1:n membership
Each membership can be restricted within two dates and a default price
Filtering on current members, past members…
Configurable email reminder for membership renewal
Ask for membership / provisional registration directly on website / portal
Website : membership directory (members can choose if they appear or not in their profile / in the portal)
Reports : member localization, age, gender… common things useful for NGO yearly activity report
Technical : using default product management should be a good thing, because we then can use multiple payment, pricelists etc. (that’s the way Odoo does it)
Volunteering
Skills management (each member / contact may have a list of linked skills and levels)
Volunteer work
Every member should be able to fill volunteer work : by project, task maybe, time… maybe on the portal (or directly in Desk)
Volunteer work should be cost highlighted : when a volunteer fills his work, he may select a value for the hour of work
Technical : I guess ERPNext already have many things here around timesheet and project management
Survey / democracy
Members can be consulted through surveys
Simple questions and answers or more complex vote
Here Loomio, Limesurvey… can be interesting sources
Generic modules
These ones can be useful for NGO and for enterprises or groups in my opinion.
Hybrid realtime / mail messages
Each NGO can create a discussion channel
Linked or not to a project
On which every message is replicated by a mail (mailing list like)
Public, private…
With internal own search
Odoo Discuss can be a source, as a basic Slack alternative which handle these cases
Technical : base can be chat and realtime Frappé features
Meetings
Date choice : simple tool to help choosing a date, like Doodle or Framadate (maybe via portal or public CMS)
Events : shown in website, maybe with subscription (Odoo can be an inspiration here too)
Many things from existing Frappé App handling meetings
Mobile synchronization
Contacts sync
Calendar sync
Technical : may be done implementing DAV server and CardDAV and CalDAV protocols. Inspirations can be found with Python existing servers like Radicale or Xandikos
Suggestion box
FAQ / forum, may be linked to project
Collaborative editing (wiki), may be linked to project
PS : I only edit the wiki page to add some open source references to handle membership, logistics etc.
There has to be something about funders and a provision for them to see the status of on-going projects and programmes that they are subscribed to (controlled by staff). Usually NGOs get bogged down with the reporting to their funders regarding project/programme results.
For data collection alot of NGOs in developing regions will use surveys in rural areas or generally areas of unrealible if any connectivity. Offline data capture is essential. See tools like dhis2.org or commcarehq.com. SMS can also be a useful tool for data capture and community engagement, see RapidPro [community.rapidpro.io], a great open source SMS utility.
Fundraising and donations can be done pretty much they way ERPNext sells products on the site with minor adjustments.
I think this is an awesome feature. One thought about the initial setup workflow:
Currently on provisioning a new instance, the setup wizard asks a load of questions, e.g. customer, suppliers, products etc. which are clearly all geared up for “For Profit” organisations. It would be great to be asked whether you are setting up a for or not-for profit organisation.
If not-for-profit:
Only relevant modules will be added to the dashboard (e.g. Memberships, Chapters, Volunteer Management, Donor Management, Event and Grant)
Initial questions will query for donors rather than customers etc.
I’d like to mention a few issues that came up after I discussed the Non-Profit Module with some of my higher-ups:
Data duplication
The way the system is setup is very redundant, There are contacts, customers (I’ll get to where those come in - in a sec), and donors, three places where the same information is stored and three places for confusion. The same goes with donations and payment entries. There’s no reason to have an extra doctype that only shows a little bit of information, it’s only a waste of time for those that need to use it.
Accounting
In QuickBooks (we use this currently, so this is what I can compare too), Donors are customers (both give you money), a donation is a purchase/transaction, and a pledge is an invoice. Even currently (in ERPNext), you can’t use a donor as a party in a Payment Entry, and for the sake of data duplication, it’s definitely better not to make that possible. The same goes with donations and pledges, and furthermore, there’s no need to make two doctypes that show the exact same information in only a slightly different form.
I think that the best resolution to this would be to simply replace the donor with a checkbox that says “Donor”, and now you can filter out donors from plain customers and also add membership types and other things. Also, do the same with donations and payment entries. I think you get where I’m going with this.
I agree with @chabad360 about reusing doctypes. As a monolith system, this should be one of the main concern in developing ERPNext. Otherwise, it is a megalith platform that has many modules that may not inter-working between modules and may create more confusion.
This is almost the case with some existing domains: services, retail, wholesaler.
Activating those domains doesn’t make any different with the available doctypes. They are just there.