ERPNext for Non Profits

ERPNext for Non-Profits

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.

ERPNext Foundation


My suggestions.

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.

Type: Indivdual
Contacts: Primary + Spouse (or Just Primary)

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…


Some thoughts:

  1. 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.

  2. Member donations would need tracking ( something like employee ledger where we have party and party type of employee).

  3. Spend of donations by members against projects would need to be tracked.

  4. 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)
    • Summons / invitation (per mail) and presence management. Configurable email reminders.
    • Agenda / order of business
    • 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.


@ Yakulu,
Hi there, any progress on this, we are interested to contribute, we have urgent need.

  1. 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.

  2. 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 or SMS can also be a useful tool for data capture and community engagement, see RapidPro [], a great open source SMS utility.

  3. Fundraising and donations can be done pretty much they way ERPNext sells products on the site with minor adjustments.

Looking forward to further contributions!

1 Like

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.
1 Like

This there any advancement in Non-Profit system? Like tracking of Donation with respect to Grant and integration with Chart of Account.

To track development milestones here are general tips, not specific progress on Non-Profit progress

I think V11 is due for release in the next several weeks so watch for that to test drive.

These Frappe developer team monthly updates may offer you insight:

It should also have a way to add donations (I.e. for accounting purposes) and associate them with the respective donors.

1 Like

The previous posts here do not note this, in the current documents

And your post too thanks chabad360

I’d like to mention a few issues that came up after I discussed the Non-Profit Module with some of my higher-ups:

  1. 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.

  2. 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.

Hi @vishdha,
Maybe you can share the story how ERPNext use this domain internally?
Thank you

I will admit that I have some issues with parts of the way that is done, but that is for another post…

it would be awesome to here there is new update to do that.