NGO Management System

Step-by-step user manual · Odoo 18 Community

Funds · Donors · Beneficiaries · Projects & M&E · Distributions · Reports

Manual version 1.0 — covers module 18.0.1.0.0
About the pictures in this manual. The screen images below are accurate, hand-drawn recreations of the module's Odoo 18 screens (same layout, buttons and fields), not photographs of a live database — this manual was produced alongside the module, before installation. Colors and spacing on your system may differ slightly with your theme, but every menu path, button name and field name matches the module exactly. Red numbered dots 1 mark the spots each step refers to.

1.What this module does & who does what

The NGO Management System adds a new NGO app to Odoo that runs the day-to-day operations of a non-profit: money coming in (donations and grant funds), money going out (budgets, purchases, expenses), the people you serve (beneficiaries), the work you do (projects with logframes and indicators), and the aid you hand out (distributions). Everything is connected, so managers see live figures instead of spreadsheets.

The four roles

Every user is given one of four roles. What you can see and do in this manual depends on your role — each chapter states who it is for.

RoleWho it's forCan do
NGO UserAny staff memberView funds, projects, beneficiaries, donations. No editing.
NGO Project OfficerField & programme staffEverything a User can, plus: register and verify beneficiaries, enroll them, run distributions, maintain logframes and indicators. Can see national ID numbers.
NGO FinanceFinance staffEverything a User can, plus: create funds and budget lines, record donations, transfer money between funds, set fund fields on invoices and bills.
NGO ManagerDirectors, programme managersEverything above, plus: approve or refuse funds, close funds, delete records, configure sectors and categories.

The big picture — a fund's life

  1. Finance creates a fund with its budget lines and clicks Submit.
  2. A manager approves it. The fund becomes active and ready to spend.
  3. Everyone works: projects are linked to the fund, purchases and expenses are charged to its budget lines, officers enroll beneficiaries and distribute aid.
  4. The system keeps score: spent and committed amounts update themselves from real accounting entries.
  5. A manager closes the fund at the end with a closing note. Done.

2.First-time setup: assigning user roles

Audience: administrator. Done once per user.

  1. Open the Settings app and go to Users & Companies ▸ Users.
  2. Click the person's name to open their user form.
  3. Scroll to the NGO Management section 1 under Access Rights.
  4. Pick the role in the dropdown 2 — choosing Manager automatically includes all lower roles.
  5. Click Save. Ask the person to log out and back in.
SettingsUsers & CompaniesA
Users / Fatima DialloSaveDiscard
Fatima Diallo
Access RightsPreferencesSecurity
Accounting
Billing
NGO Management 1
NGO Project Officer 2
Project
User
Illustration 2.1 — Settings ▸ Users: the NGO Management role selector on a user form.
Tip. Start minimal: give most staff NGO User, then upgrade individuals when they actually need to edit something. You can change roles at any time.

3.Finding your way around

Audience: everyone.

After installation you'll find a new NGO icon on the Odoo home screen. Opening it shows the dashboard and a menu bar with six sections.

NGO DashboardFundsDonorsBeneficiariesProjectsReportingConfiguration F
Illustration 3.1 — The NGO app: top menu sections and (expanded) two of the drop-down menus.

The remaining sections: Donors (donors and donations, ch. 6), Projects (NGO projects, logframe, indicators, measurements, ch. 10), Reporting (pivot analyses, ch. 14) and Configuration (sectors and beneficiary categories — managers only).

Everywhere in Odoo: click New to create, click a row to open it, use the search bar's Filters and Group By to slice lists, and use the breadcrumb (top left) to go back without losing your place. Records with a message pane at the bottom (the chatter) keep a full history of who changed what.

4.Funds: create, budget, submit

Audience: NGO Finance. A fund is a pot of money — a donor grant, a restricted fund, or your unrestricted reserve — with a period, a total amount and a budget split into lines.

4.1 Create the fund

  1. Go to NGO ▸ Funds ▸ Funds and click New.
  2. Type the fund name 1. The reference (e.g. FUND/2026/0003) is assigned automatically when you save.
  3. Fill in the left column 2: Fund Type (Grant, Restricted, Unrestricted, Emergency), the Donor, and the Sector.
  4. Fill in the right column 3: Start / End dates and the Total Amount of the fund. The Responsible defaults to you.

4.2 Add budget lines

  1. On the Budget Lines tab 4, click Add a line for each budget item.
  2. Give each line a name, a Category (Program Activities, Staff & Salaries, Administration, Procurement & Logistics, Monitoring & Evaluation, Other) and its Planned amount.
  3. Watch the money boxes 5: Allocated is the sum of your lines; Spent, Committed and Available will fill themselves later from real accounting entries — you never type them.
  4. Click Save.

4.3 Submit for approval

  1. Click Submit 6 in the header. The status bar 7 moves from Draft to Submitted and an approval request is sent to all NGO Managers automatically (next chapter).
NGOFundsF
Funds / NewSaveDiscard
Submit 6Cancel DraftSubmittedApprovedActiveClosed7
0Projects
0Donations
0Expenses
0Purchases
FUND/2026/0003
Clean Water Initiative 2026 1
Grant
EU Humanitarian Office
Water, Sanitation & Hygiene
01/01/2026
12/31/2026
$ 250,000.00
Fatima Diallo
Amounts 5
$ 225,000.00
$ 0.00
$ 0.00
$ 250,000.00
Budget Lines 4Notes
Budget ItemCategoryPlannedSpentCommittedRemaining
Borehole drilling & rehabilitationProgram Activities$ 150,000.00$ 0.00$ 0.00$ 150,000.00
Field team salariesStaff & Salaries$ 60,000.00$ 0.00$ 0.00$ 60,000.00
Monitoring & evaluationMonitoring & Evaluation$ 15,000.00$ 0.00$ 0.00$ 15,000.00
Add a line
Send message · Log note · Activities  —  Fatima Diallo created this record · now
Illustration 4.1 — A new fund ready to submit. Note the smart buttons (top right), the automatic amount boxes and the budget lines tab.
Where do Spent and Committed come from? Spent = posted vendor bills / journal items that reference this fund's budget lines (chapter 11). Committed = confirmed purchase orders not yet billed. Available = Total − Spent − Committed. Because the numbers come from accounting, they are always audit-ready.

5.Approving a fund (managers)

Audience: NGO Manager. When a fund is submitted, every manager receives an activity (the clock icon in the top bar) and a request appears in the approval queue.

  1. Go to NGO ▸ Funds ▸ Approvals. The list opens filtered on To Approve 1.
  2. Click the request to open it. Use Open Related Record 2 to inspect the fund and its budget lines.
  3. Optionally write a Decision Note 3 — it is logged on the fund if you refuse.
  4. Click Approve 4 — the fund moves to Approved and its analytic account is created — or Refuse, which sends the fund back to Draft with your note in its chatter.
  5. Back on the fund, Finance (or you) clicks Activate to open it for spending.
NGOFundsM
Approvals / APR/2026/0007
Approve 4RefuseCancelOpen Related Record 2 To ApproveApproved
APR/2026/0007
Fund Approval
Fatima Diallo
02/03/2026 10:14
Request
Approval requested for fund [FUND/2026/0003] Clean Water Initiative 2026 — total $ 250,000.
Decision Note 3
Reason for approval or refusal...
To Approve — filter 1 is on by default in the Approvals list.
Illustration 5.1 — An approval request. Only NGO Managers see the Approve / Refuse buttons.
Only managers decide. Approve/Refuse are hidden from other roles, and the system double-checks the role even if someone tries a shortcut. A pending request can also be cancelled by its requester if it was raised by mistake.

6.Donors and donations

Audience: NGO Finance.

6.1 Mark a contact as a donor

  1. Go to NGO ▸ Donors ▸ Donors (or the Contacts app) and open/create the contact.
  2. Tick Is a Donor 1 and choose the Donor Type (Individual, Corporate, Foundation, Institutional, Government).
  3. The contact form gains two smart buttons 2: total donations and sponsored funds.

6.2 Record a donation

  1. Go to NGO ▸ Donors ▸ Donations and click New.
  2. Choose the Donor 3, optionally the Fund it feeds, the Amount and the Payment Method (cash, bank, cheque, mobile money, online, other). Tick In-Kind for goods instead of money and describe them.
  3. If the money is promised but not yet received, click Mark as Pledged. When it arrives, click Mark as Received 4.
  4. Click Send Receipt 5 to email a thank-you receipt to the donor. The button confirms with a "receipt sent" flag.
NGODonorsF
Donations / DON/2026/0012
Mark as Received 4Send Receipt 5Cancel DraftPledgedReceived
DON/2026/0012
Global Futures Foundation
[FUND/2026/0002] Back to School Programme
03/14/2026
$ 25,000.00
Bank Transfer
Log: Donation received. Receipt sent to [email protected]
Illustration 6.1 — A donation on its way from Pledged to Received.
Automatic donor flag. Recording a donation for a contact automatically marks them as a donor — you don't have to prepare the contact first.

7.Registering beneficiaries

Audience: NGO Project Officer. The beneficiary registry is the list of people (or heads of household) your NGO serves. Each person goes through a short quality gate: Draft → Verified → Active.

  1. Go to NGO ▸ Beneficiaries ▸ Beneficiaries and click New.
  2. Enter the Full Name 1; the Beneficiary ID (e.g. BEN/00042) is assigned on save. Add a photo by clicking the camera frame 2.
  3. Fill the Profile column 3: gender, date of birth (age is computed), National ID (visible to officers and above only, must be unique), Vulnerability level and Categories tags.
  4. Fill Contact & Household 4: phone, address, household size, head-of-household flag.
  5. Save, then click Verify 5 once documents are checked, and Activate when the person should start receiving services. Use Deactivate when they exit your programmes.
NGOBeneficiariesP
Beneficiaries / [BEN/00042] Amina Yusuf
Activate 5 DraftVerifiedActive
2Enrollments
3Aid Received
📷2
BEN/00042
Amina Yusuf 1
Profile 3
Female
05/12/1988  Age: 38
ID-99-004217
High
Female-Headed Household
Contact & Household 4
+123 555 0142
North District
6
EnrollmentsAid ReceivedCase Notes
ProjectEnrolled OnExit DateStatus
North District Boreholes02/10/2026Enrolled
Fatima Diallo changed Status: Draft → Verified · yesterday
Illustration 7.1 — A verified beneficiary, ready to activate. The Aid Received tab lists everything they were given.
Privacy. The National ID field is invisible to plain NGO Users — only Project Officers, Finance-with-Officer or Managers see it. The system also refuses two beneficiaries with the same national ID in the same company, protecting against duplicate registrations.

8.Enrolling beneficiaries in projects

Audience: NGO Project Officer. An enrollment links a beneficiary to an NGO project (a project that has a fund — see chapter 10). A person can be enrolled in each project only once.

8.1 Enroll one person

  1. Go to NGO ▸ Beneficiaries ▸ Enrollments and click New (or add a line on the Enrollments tab of a beneficiary).
  2. Pick the beneficiary and the project; the enrollment date defaults to today.
  3. Later, use Mark Completed or Drop Out on the enrollment; the exit date fills automatically.

8.2 Enroll many at once (Bulk Enrollment)

  1. Go to NGO ▸ Beneficiaries ▸ Bulk Enrollment. A dialog opens.
  2. Choose the Project 1 and the Enrollment Date 2.
  3. Add all the Beneficiaries 3 — only Verified or Active people can be selected.
  4. Click Enroll 4. People already enrolled in that project are simply skipped, so it is safe to select generously. The new enrollments open in a list.
NGOBeneficiariesP
Illustration 8.1 — The Bulk Enrollment dialog. Duplicates are skipped automatically.

9.Aid distributions

Audience: NGO Project Officer. A distribution is one aid delivery event — food kits, cash assistance, school supplies — with a line per beneficiary. Its lifecycle: Draft → Confirmed → Done (with Cancel available before Done).

9.1 Prepare the distribution

  1. Go to NGO ▸ Beneficiaries ▸ Aid Distributions, click New.
  2. Give it a title 1 (e.g. "October food kits — North district") and set Project, Fund, Date and Location 2.
  3. On Beneficiary Lines 3, add one line per person: a stock Product or a free-text Item, quantity and Unit Value (the estimated monetary value — feeds reporting). Totals appear at the bottom 4.
  4. Click Confirm 5. At least one line is required.

9.2 On distribution day

  1. Print the signature sheet: Print ▸ Distribution Sheet (the cog/print menu). It lists every beneficiary with a signature column.
  2. As people collect their aid, tick Received / Signed 6 on their line.
  3. When finished, click Mark Done. The event is locked and counted on the dashboard.
NGOBeneficiariesP
Aid Distributions / DIST/2026/0018⚙ Print
Confirm 5Cancel DraftConfirmedDone
DIST/2026/0018
October food kits — North district 1
North District Boreholes
[FUND/2026/0003] Clean Water Initiative 2026
10/07/2026
North District, Village A
Beneficiary Lines 3Notes
BeneficiaryItemQtyUnit ValueTotalReceived 6
[BEN/00042] Amina YusufFamily food kit1.00$ 35.00$ 35.00
[BEN/00043] Joseph OkelloFamily food kit1.00$ 35.00$ 35.00
Add a line
2 beneficiaries 4$ 70.00
Print ▸ Distribution Sheet produces the PDF signature list for the field.
Illustration 9.1 — A distribution in Draft, with per-beneficiary lines and reception check-boxes.
Done means done. A completed distribution can no longer be cancelled or edited — that's your audit trail. Cancel a wrong one before marking it done; a cancelled event can be reset to draft and fixed.

10.Projects, logframe & indicators (M&E)

Audience: NGO Project Officer.

10.1 Turn a project into an NGO project

  1. Open any project (from NGO ▸ Projects ▸ NGO Projects or the Project app) and go to its NGO tab 1.
  2. Set the NGO Fund 2 — this is what makes it an NGO project — plus the Sector and Target Beneficiaries.
  3. Three smart buttons appear 3: Beneficiaries, Distributions, Indicators.

10.2 Build the logframe

A logframe is the project's results ladder: one Goal, with Outcomes under it, Outputs under those, and Activities at the bottom.

  1. On the NGO tab (or NGO ▸ Projects ▸ Logframe), add elements top-down: create the Goal first, then each Outcome with the Goal as its Parent Element, and so on 4.
  2. Open an element and add Indicators on its tab: a name, a unit, the Baseline (where you start) and the Target (where you want to end) 5.

10.3 Record progress

  1. After each monitoring visit, open the indicator and add a Measurement line: date and the cumulative value reached, with your evidence source in the notes.
  2. The Progress % bar updates itself: (achieved − baseline) ÷ (target − baseline). The average across indicators shows on the project and on the dashboard.
NGOProjectsP
NGO Projects / North District Boreholes
37Beneficiaries
4Distributions
3Indicators
3
North District Boreholes
DescriptionSettingsNGO 1
Funding & Classification
[FUND/2026/0003] Clean Water Initiative 2026
Water, Sanitation & Hygiene
Targets
1,200
37
58%
Logframe 4
TypeStatementParentIndicators
Goal / ImpactImproved health of rural communities through safe water access0
OutcomeHouseholds use safe water sources daily[Goal] Improved health…1
Output12 boreholes drilled or rehabilitated 5[Outcome] Households use…1
Illustration 10.1 — The NGO tab of a project: fund link, targets, live progress and the logframe ladder.
Baseline ≠ target. The system refuses an indicator whose target equals its baseline — progress would be impossible to compute. For "reduce" indicators, set the baseline high and the target low; the formula handles both directions.

11.Charging bills, purchases & expenses to funds

Audience: NGO Finance (bills), any purchaser/employee (POs, expenses). This is how the fund's Spent and Committed figures fill themselves.

11.1 Purchase orders → Committed

  1. In the Purchase app, create the purchase order as usual.
  2. Next to the vendor reference, set the NGO Fund 1 and the Fund Budget Line 2 it draws from.
  3. Confirm the order. Its untaxed amount now shows as Committed on the fund until the vendor bill is posted.
  4. When you create the bill from the PO, the fund and budget line carry over automatically — nothing to re-enter.

11.2 Vendor bills & journal entries → Spent

  1. On a vendor bill / invoice / journal entry, Finance users see an NGO Fund field near the reference. Set it and the fund flows to every line.
  2. For precise budgeting, open the line columns (the ⚙ column picker) and set the Fund Budget Line per line.
  3. Post the bill. The amounts move from Committed to Spent on the fund and its budget line.

11.3 Employee expenses

  1. In the Expenses app, create the expense as usual.
  2. Set NGO Fund and Fund Budget Line — the fund's analytic account is placed in the Analytic Distribution for you.
  3. Submit and approve as usual; once the expense entries are posted, they count as Spent.
PurchaseOrdersF
Requests for Quotation / P00027
Confirm OrderSend by Email RFQPurchase Order
P00027
Drill&Co Contractors
Q-2026-118
[FUND/2026/0003] Clean Water Initiative 2026
FUND/2026/0003 / Borehole drilling & rehabilitation
04/20/2026
05/15/2026
ProductQuantityUnit PriceSubtotal
Borehole drilling — Village A1.00$ 18,500.00$ 18,500.00
After Confirm Order: fund shows Committed +$ 18,500. After the bill is posted: Committed −$ 18,500, Spent +$ 18,500.
Illustration 11.1 — A purchase order charged to a fund budget line.
Rule of thumb. Choose the fund and the budget line whenever you spend. Fund only = the money is tracked at fund level; fund + budget line = it also appears in the right budget row and in Budget Analysis.

12.Transferring money between funds

Audience: NGO Finance. When a reallocation is agreed with donors, move budget from one fund to another with a full audit trail.

  1. Open the source fund and click Transfer in its header, or go to NGO ▸ Funds ▸ Transfer Between Funds.
  2. Pick Source 1 and Destination 2 funds — they must share the same currency and company.
  3. Enter the Amount 3 (it cannot exceed the source fund's Available balance) and a mandatory Justification 4.
  4. Click Transfer 5. Both funds' totals adjust, a message is logged on each, and a numbered transfer record (e.g. TRF/2026/0004) is created in NGO ▸ Funds ▸ Fund Transfers. Transfer records can never be deleted.
NGOFundsF
Illustration 12.1 — The transfer dialog. The system blocks currency mismatches, cross-company moves and amounts above the available balance.

13.Closing a fund

Audience: NGO Manager (or Finance with manager sign-off).

  1. Open the fund and click Close Fund in the header. A dialog opens.
  2. Write the mandatory Closing Note 1 — final report reference, treatment of unspent balance, donor sign-off.
  3. If confirmed purchase orders are still unbilled, the system refuses to close and tells you the committed amount. Either bill/cancel those POs, or tick Close Despite Open Commitments 2 deliberately.
  4. Click Close Fund 3. The status becomes Closed and the note is logged in the fund's chatter forever.
NGOFundsM
Illustration 13.1 — Guided fund closure with a mandatory audit note.
30-day heads-up. The system automatically creates a reminder activity for the fund's Responsible 30 days before its end date, so closures never sneak up on you.

14.Dashboard & reports

Audience: everyone (some reports are role-restricted).

14.1 The dashboard

NGO ▸ Dashboard shows eight live cards. Every card is a button — click it to open the records behind the number.

NGODashboardF
NGO Dashboard
Live overview of funds, donations, beneficiaries and programme progress.
Active Funds
2
Total: $ 370,000
Spent
$ 96,400
Available: $ 248,100
Donations (Year)
$ 245,500
3 received
Donors
3
Active partners
Active Beneficiaries
248
People served
NGO Projects
2
Fund-financed
Distributions Done
4
Aid events completed
Indicator Progress
58%
Average across all indicators
Illustration 14.1 — The NGO dashboard. Cards are clickable shortcuts.

14.2 Analyses (pivot & graph)

Under NGO ▸ Reporting:

ReportAnswersWho
Fund AnalysisHow is money spread across states, types, sectors, donors?Everyone
Budget AnalysisPlanned vs Spent vs Committed per fund and category — your burn rate.Finance
Donation AnalysisWho gave how much, to which fund, per month?Everyone
Distribution AnalysisWhat aid value/quantity reached which beneficiaries and products?Everyone

In any pivot: click + on rows/columns to add a grouping (e.g. rows = Fund, columns = Category), click Measures to choose the figures, and use the download icon to export to Excel.

14.3 PDF documents

DocumentWhere to printUse
Fund StatementA fund ▸ ⚙/Print ▸ Fund StatementDonor reporting: summary, budget lines, donations, projects.
Donor Contribution ReportA contact ▸ Print ▸ Donor Contribution ReportAll of one donor's donations and sponsored funds.
Distribution SheetA distribution ▸ Print ▸ Distribution SheetField signature list for aid delivery.

15.Troubleshooting & FAQ

Symptom / questionExplanation & fix
"I don't see the NGO menu at all."You have no NGO role yet. Ask your administrator to set one (chapter 2), then log out and in.
"The Approve button isn't on my screen."Only NGO Managers can approve. Ask a manager, or check your role.
"I can't pick my project when enrolling someone."Only projects with an NGO Fund set count as NGO projects. Set the fund on the project's NGO tab first (chapter 10.1).
"I can't select a fund on my purchase/bill."Only Approved or Active funds of your company can be charged. Check the fund's status.
"Odoo refuses my beneficiary: national ID already registered."That ID exists on another beneficiary in your company — a duplicate-protection feature. Search for the ID to find the existing record.
"The transfer wizard says the amount exceeds what's available."Available = Total − Spent − Committed. Reduce the amount, or bill/cancel open purchase orders to free committed budget.
"Why can't I delete a fund transfer?"By design: transfers are an immutable audit log. Make a reverse transfer instead, with a justification.
"Fund Spent didn't move after I created a bill."Spent counts posted entries only, and only lines carrying the fund/budget line. Post the bill and check its lines have the budget line set (chapter 11.2).
"Can a beneficiary be in the same project twice?"No — one enrollment per person per project. Re-activate or edit the existing enrollment instead.
"I marked a distribution Done by mistake."Done distributions are locked for audit reasons. Create a correcting distribution and note the error in both chatters.
"Where do I add new sectors or beneficiary categories?"NGO ▸ Configuration — visible to NGO Managers only.
"We run several country offices — can data be separated?"Yes. All NGO records are company-aware; users only see records of their allowed companies, and cross-company fund transfers are blocked.

NGO Management System for Odoo 18 Community · User Manual v1.0 · The screen images are illustrative recreations of the module's interface. For installation and technical documentation, see the module's README.md and docs/ folder.