Multi-Country Outcome Ledger
Five country offices, three funder formats, one ledger — program data is captured once and reshaped automatically for every reporting obligation.
The challenge
The organization runs learning programs for roughly 46,000 students across five countries, with each country office maintaining its own monitoring & evaluation records. Ahead of every donor deadline, the M&E team faced:
- Five country offices tracking outcomes in independent spreadsheet workbooks
- Indicator definitions that had quietly diverged between programs over several years
- Three funders each requiring a different reporting template, frame, and cadence
- Two to three weeks of manual copy-and-reconcile work before every submission
- No single number anyone could point to as the organization's current enrollment or completion rate
- Duplicate data entry between program staff and finance during grant reporting
Reporting cycles landed every six to eight weeks across the three funders, so the 14-day scramble was recurring, not occasional.
How it works
One canonical ledger, three report shapes on top of it
Rather than build another reporting template, the engagement targeted the data layer underneath all of them:
- 01
Audited data collection practices and indicator definitions across all five country offices
- 02
Built a canonical indicator taxonomy that mapped cleanly onto each of the three funder frameworks
- 03
Stood up nightly ETL pipelines pulling program and enrollment data from each country office into a central ledger
- 04
Modeled the ledger around beneficiary, indicator, period, and geography so any funder cut is a query, not a rebuild
- 05
Generated parameterized report templates for each funder directly from the ledger schema
- 06
Added a validation dashboard flagging missing or out-of-range entries before they reach a report
- 07
Trained country M&E leads on the new intake process and handed off ledger ownership to headquarters staff
What we built
Key capabilities
Single source of truth
One ledger now holds every country's outcome data, replacing five independently maintained workbooks.
Funder-format generation
Each donor's report is a parameterized view over the same ledger — no manual reformatting per submission.
Built-in data quality checks
A validation dashboard catches missing fields and definitional drift before it reaches a funder report.
Cross-country comparability
A shared indicator taxonomy means enrollment and completion figures mean the same thing in every country office.
Before vs after
What changed in the reporting cycle
- Funder reporting time
- 14 days → 3 days
- Indicator definitions
- 5 divergent sets → 1 canonical taxonomy
- Data consolidation
- Manual spreadsheet merge → nightly automated sync
- Report generation
- Hand-built per funder → 3 formats from 1 ledger
Business impact
What it changed
11 days recovered every reporting cycle
Funder reporting dropped from 14 days to 3 — a 79% reduction repeated across three funders and multiple cycles a year.
Program staff back in the field
Time previously spent reconciling spreadsheets before deadlines now goes to field verification and program support.
One defensible number per indicator
Leadership and funders now work from the same enrollment and completion figures, closing a recurring source of audit questions.
Technology stack
“A reporting problem that looked like a template problem turned out to be a data-model problem — fix that once, and every downstream report gets faster.”
Keep reading

