A build-to-order ERPNext application that unifies donor and donation tracking, grant and fund accounting, beneficiary service delivery, and program budgeting on Frappe/ERPNext v15/v16. ECOSIRE scopes, builds, installs, and supports it for your organization — this is not an instant-download marketplace app. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $249.00 USD; request a quote for a scoped proposal.

A build-to-order ERPNext application that unifies donor and donation tracking, grant and fund accounting, beneficiary service delivery, and program budgeting on Frappe/ERPNext v15/v16. ECOSIRE scopes, builds, installs, and supports it for your organization — this is not an instant-download marketplace app.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Most nonprofits run their books on ERPNext because its accounting is genuinely strong, but donor and grant work quickly runs off the edge of what the core product models. ERPNext has no native concept of a restricted fund, a grant with reporting milestones, a beneficiary case file, or a pledge that has not yet been received. Teams end up tracking donors in a spreadsheet, forcing grants into Cost Centers that were never designed for compliance reporting, and reconciling restricted balances by hand at year end. When a funder asks "show me exactly how our USD 50,000 was spent," the answer lives across three disconnected tools.
Dedicated `Donor` DocType with giving history, contact roll-up, communication log, and consolidated tax-receipt generation
`Donation` and `Pledge` DocTypes that post to ERPNext's General Ledger and auto-create a Payment Entry when a pledge is marked received
Restricted vs. unrestricted `Fund` tracking using Accounting Dimensions so fund balances reconcile straight from the GL
`Grant` records carrying budget, disbursement schedule, reporting milestones, and funder-specific report templates
`scheduler_events` job in `hooks.py` that flags expiring grants and upcoming reporting deadlines before they lapse
`Beneficiary` case file with intake, eligibility, household members (child table), and service-delivery log
We build a proper Frappe app — a versioned, installable module with its own DocTypes, not a pile of Custom Fields bolted onto Sales Invoice. The core objects are Donor, Donation/Pledge, Grant, Fund (restricted vs. unrestricted), Beneficiary, Program, and Volunteer, each with the fields, links, and child tables your operation actually uses. Donations post through ERPNext's real accounting engine against the correct fund and program dimension, so restricted-fund balances come straight out of the General Ledger instead of a side spreadsheet. Grant records carry budget, disbursement schedule, and reporting deadlines, and a scheduler event registered in hooks.py flags upcoming milestones and expiring grants before they lapse.
Technically, the app leans on standard Frappe extension points so it stays upgrade-safe. Business rules live in server scripts and doc_events hooks (validate, on_submit, on_cancel) — for example, auto-creating a Payment Entry when a pledge is marked received, or blocking a program expense that would overspend a restricted fund. Client scripts drive the in-form UX (dynamic filters on donor/fund fields, receipt preview). Everything is reachable over the Frappe REST API and purpose-built @frappe.whitelist() methods, so your donation portal, payment gateway, or Power BI dashboard can read and write cleanly. Role Profiles and permission rules (including User Permissions for field-office data isolation) keep case workers, finance staff, and program managers in their lane. Built and tested against Frappe/ERPNext v15 and v16.
Because this is build-to-order, nothing ships until we agree on scope. We start with a short scoping call, map your donor/grant/beneficiary workflow to concrete DocTypes and reports, and send a fixed written specification. Typical delivery is 2–4 weeks from confirmed scope, depending on how many funder report formats and integrations you need. You get the full source code for your version, a UAT build on a staging site, a documented rollback plan, and a post-go-live support window — plus the git repository so you are never locked in.
Needs restricted-fund balances, grant burn-down, and a Statement of Functional Expenses that come out of the ledger — not a manual spreadsheet — so funder audits and annual reports are defensible.
Manages multiple grants with different budgets, milestones, and reporting deadlines and needs automated reminders plus spend-vs-budget visibility per program before money runs out.
Wants donors, beneficiaries, grants, and accounting in one ERPNext system instead of scattered spreadsheets and tools, without paying for a separate expensive nonprofit CRM.
Owns the ERPNext instance and needs an upgrade-safe Frappe app with clean DocTypes, REST APIs, and a git handover — not fragile Custom Fields that break on the next update.
Buy the license on ecosire.com and download the NGO & Nonprofit Management for ERPNext app ZIP from your account dashboard.
Extract the ZIP into your bench's apps folder, or run `bench get-app` with the path to the extracted app.
Run `bench --site SITE_NAME install-app APP_NAME` followed by `bench migrate` to install NGO & Nonprofit Management for ERPNext and apply its schema.
Open the ECOSIRE License settings on your site and activate your license key. Requires the free ecosire_connect and ecosire_license_client apps.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Fit to your nonprofit workflow | Built to your exact donor/grant/beneficiary process | Also tailored, but you carry all the risk | Generic feature set, take it or leave it | |
| Restricted-fund accounting | Posts to the GL via Accounting Dimensions | Depends entirely on your developer | Often a bolt-on spreadsheet-style tracker | |
| Grant milestones & reminders | Scheduler jobs flag deadlines automatically | Must be designed and built from zero | Rarely covers reporting deadlines | |
| Time to deliver | Typically 2–4 weeks from confirmed scope | Months of hiring, spec, and build | Instant install, but generic | |
| Upgrade safety (v15/v16) | Standard Frappe app, documented, upgrade-tested | Varies with developer discipline | Maintainer's roadmap, not yours | |
| Support & accountability | Named ECOSIRE team + support window | Whoever you hired, if still available | Community forum / ticket queue | |
| Code ownership | Full source + git repo handover | You own it, if properly delivered | Usually closed or licensed | |
| Total cost of ownership | Fixed build price, then optional retainer | Unpredictable; rework risk | Low license, high fit-gap cost |
No. This is build-to-order. ECOSIRE designs, builds, installs, and supports the app around your specific donor, grant, and beneficiary workflow. There is no instant download — we start with a scoping call and a written specification before any code ships.
Typical delivery is 2–4 weeks from confirmed scope. The exact timeline depends on how many funder report formats, integrations (payment gateway, portal), and custom workflows you need. We confirm dates in writing after the scoping call and the fixed specification are agreed.
Every build includes a post-go-live support window for bug fixes and questions. Because you receive the full source and git repository, any Frappe developer can maintain it afterward. We also offer ongoing support and upgrade retainers (for example, when you move from ERPNext v15 to v16) as a separate arrangement.
We build and test against Frappe/ERPNext v15 and v16. We confirm your exact version during scoping and target that version so the app installs cleanly on your instance.
The app is a proper Frappe module using standard extension points — its own DocTypes, `hooks.py` doc events, server and client scripts, and whitelisted API methods — rather than fragile ad-hoc customizations. That keeps it upgrade-safe. We also document the logic so upgrades are predictable, and can handle the version migration for you.
Yes. We expose `@frappe.whitelist()` methods and use the Frappe REST API so an external donation portal, payment gateway (Stripe, Razorpay, PayPal, and others), or BI tool can create donations and read fund/grant data securely. Integrations are scoped and priced as part of your build.
You own it. We hand over the full source code for your version and the git repository at delivery. You are never locked to ECOSIRE — though most clients keep us on for support because we know the codebase.
A build-to-order ERPNext application that unifies donor and donation tracking, grant and fund accounting, beneficiary service delivery, and program budgeting on Frappe/ERPNext v15/v16. ECOSIRE scopes, builds, installs, and supports it for your organization — this is not an instant-download marketplace app.