Odoo is genuinely great for non-profits. Low cost, one platform that replaces 30+ disconnected SaaS tools, accounting and projects on the same data layer. We're not here to displace it — we're here to fill the one gap it never closed: the workflow between "a donor awarded us €2.3M" and "we know where every euro went". That's where most non-profits lose evenings. togrant.com fills that gap without changing how Odoo works.
Every non-profit running grant money through Odoo ends up with one of these:
Someone builds a grants module inside Odoo — fields on the project, custom views, server actions. It works for a year. Then Odoo 17 → 18 happens and half of it breaks. Now you're paying the integrator to forward-port the module on every upgrade, forever.
Finance keeps Odoo. Programmes runs Excel. They reconcile monthly. They diverge weekly. When the auditor asks "where did this number come from?", nobody knows which version is canonical.
You buy a SaaS grants tool that doesn't talk to Odoo at all. Now finance has to re-key everything, twice. The accounting is in Odoo, the donor reports are in the SaaS, the bank reconciliation lives with the bookkeeper. Three sources of truth.
togrant.com runs as a separate web app at my.togrant.com.
It owns the grant lifecycle — applications, donors, budgets, reporting
cadence — and writes the parts Odoo needs (projects, analytic
accounts, budget lines) through the standard XML-RPC API.
No fields are added inside Odoo. No Studio customisations. No server actions. Your Odoo install stays vanilla and upgradeable. We use Odoo's three analytic-plan structure (Project / Donor budget line / Donor budget detail) which is built-in to the Community and Enterprise editions from version 17 onward.
| Concept | togrant.com | Odoo |
|---|---|---|
| Donor record | Source of truth | Read-only mirror |
| Application (pre-award) | Source of truth | Not visible |
| Grant (post-award) | Source of truth | Synced as Project |
| Project (implementation) | Source of truth | Synced as Project |
| Budget categories | Per cycle | Plan 2 analytic accounts |
| Budget detail lines | Per project | Plan 3 analytic accounts |
| Bank transactions | — | Source of truth |
| Journal entries | — | Source of truth |
| Actuals per category | Cached + period-filtered | Source of truth |
| Donor reports | Exported | Underlying data |
A typical onboarding looks like this:
No data migration, no Odoo-side configuration beyond enabling the Analytic Accounting module if it isn't already on. We don't touch your chart of accounts or your fiscal-year settings.