Skip to content
EMPOBase
en

How to prepare an NGO annual report from records you already have

By the EMPOBase team · · 4 min read

Short answer

Build the annual report from records you already keep: project plans, indicator results, budget versus actual, donor reports, and incident and complaint summaries. Agree the audience, list sources for each section, pull and check figures once, write short sections, and have someone outside the team read it. Plan the work early so it is not a year-end rush.

Key points

  • Decide the audience and purpose first; one report cannot serve every reader.
  • List the source record for every figure before you write.
  • Pull and check numbers once, then reuse them in every section.
  • Include what went wrong and what you learned, not only successes.

What is an annual report for?

An annual report tells your readers what you set out to do, what you did, what it cost and what you learned. Readers include donors, partners, your board, government bodies and the communities you work with. They want different things, so choose a main audience first.

A board wants decisions and risks. A donor wants results against the agreement. A community wants to know what changed and what you plan to do next. If you try to cover all of it in one document, it will serve none well.

Which records can you reuse?

You probably hold most of what you need. Look for:

SectionExisting record
What we didProject plans, activity records, SitReps, monitoring notes
ResultsIndicator values, donor reports, evaluation or review notes
MoneyBudget versus actual, grant finance records, audited accounts
PeopleStaff counts, training records, policy acknowledgements
Risk and learningRisk register, incident summaries, complaints and feedback summary, after action reviews
GovernanceBoard decisions, compliance calendar, key policy changes

Write the table for your own NGO before you write any text. Add a column for the owner and one for the date the source was last updated. A gap in the table is a gap in your records, and it is better to find that in February than in the final week.

How do you collect and check the figures?

  1. Name one owner for each section.
  2. Fix the reporting period and the cut-off date.
  3. Pull each figure once from its source, and write the source next to it.
  4. Reconcile. The money in the report should match the accounts. Results should match the donor reports you already sent.
  5. Mark anything uncertain, and explain it or leave it out.
  6. Store the final figure sheet so later reports use the same numbers.
  7. Freeze the figures on an agreed date. If a late correction arrives, change the sheet once and update every section, not just one.

A short example shows why. A country office reports 40 trained staff in the activities section and 38 in the people section, because one list was updated and the other was not. A reader who sees both loses trust in everything else. One figure sheet prevents that.

Beware of counts. A total of records is not the same as a number of unique people, so describe numbers carefully, for example “2,400 participations” and not “2,400 people” unless you removed duplicates by another method.

How should you structure it?

A simple structure works for most NGOs.

  1. A short message from leadership.
  2. Who we are and what we aim to do.
  3. What we achieved, with a few key results against targets.
  4. What it cost and where the money came from.
  5. What went wrong and what we learned.
  6. What comes next.
  7. Thanks and contact details.

Give each section a one-line headline that states the finding, such as “We reached all four planned districts”, then support it with evidence. Use a table or a short chart for key figures, and keep the narrative short. One real example, told with permission and without identifying details, often says more than a page of numbers.

How do you tell the honest story?

Readers trust a report that admits problems. Include at least one thing that did not go to plan, why, and what you changed. Link a result to its evidence. If you cannot prove a claim, soften it: “participants reported” is more honest than “this caused”.

Take care with people’s stories and photos. Get clear permission, remove identifying details where there is risk, and read our article on handling sensitive program data.

How do you review and publish?

  • Ask someone outside the team to read it and mark anything unclear.
  • Check every number against the figure sheet.
  • Have finance sign off the money section.
  • Agree who approves publication, and keep the approved version.
  • Share it where your audience will look, and note the date.
  • Offer a version in the languages your communities and partners use.
  • Ask readers for feedback, and write down what to change next year.

Then keep the figure sheet and the source list. Next year’s report will be half done.

Where EMPOBase fits

Many sources for an annual report live in EMPOBase: Projects, Monitoring and indicator values, Budget vs Actual and Grant Finance, Risk & Learning, Complaints & Feedback (CFM), SitReps and the compliance records. You can pull figures from each and check them against the source records. EMPOBase does not write your report for you, and its ledger is for projects and grants, not statutory accounting, so audited accounts still come from your accounting process. Totals are counts of records, not unique people. See the platform page and the indicator library.

Questions people ask

How long should an annual report be?

As short as it can be while still answering the readers' questions. Many NGOs publish a short public version of a few pages and keep a longer version for donors and the board.

When should we start?

Start collecting at the beginning of the year, with a quarterly check. Start writing after your accounts are closed, so the numbers will not change.

Do we have to include financial statements?

Rules vary by country and by registration type. Check with your auditor or a qualified adviser what your law and donors require.