NGO dashboard
The NGO dashboard is the head-office view across every centre. Only users with the Platform Admin role see it in the sidebar. It answers four questions at a glance:
- How much has the NGO received this year, across all centres?
- How much has been spent?
- Is any centre’s audit chain unhealthy?
- Where are the pending approvals piling up?
How the rollup works
Each centre’s data lives in its own database. The NGO dashboard does not perform cross-database joins on every page load — that would be slow and brittle. Instead:
The aggregator runs every 15 minutes on a scheduled Celery task. It reads POSTED totals from each centre via an explicit per-centre database handle, never the default router — this removes any possibility of context-leak between centres. The results land in two small Control-Plane tables that the dashboard queries.
Manual refresh
If you need numbers “right now” (say, a trustee meeting is
starting and the aggregator last ran 12 minutes ago), click
Refresh now at the top of the dashboard. This
runs the aggregator synchronously for every Active centre and reloads the
page. It is idempotent and safe to click as often as you like.
Reading the Centres table
The table below the KPI cards lists every Active centre with:
- Donations MTD / YTD — month-to-date and year-to-date postings.
- Expenses YTD.
- Net YTD — donations − expenses.
- Pending — number of expenses awaiting approval at that centre.
- Audit — green Verified or red Failed based on the most recent chain verification.
- Freshness — how long since this row was last recomputed.
Click a centre’s name to jump to the Tenant detail page, where you can view its config, its user roster, and drill into its reports.
When a chain goes red
What you cannot do from here
- Create, edit, or void transactions at a centre — do that inside the centre context.
- Grant roles for a specific centre — use the Users & Roles screen.
- Unlock a closed period at a centre — go to the Period locks page for that centre; it requires step-up.
The dashboard is deliberately read-only. Mutations happen inside the centre context so that per-centre audit logs tell a coherent story of what happened there.