EdZola
CRM & Fundraising

Chart of accounts mapping for grant integrations

A nonprofit chart of accounts that works with a grants system has a short list of natural accounts (what kind of money) and a handful of dimensions (whose money, for what). The grant itself is a dimension, not an account. This post gives you a template and a field-by-field mapping for four common ledgers. It sits under our grant-to-accounting integration field guide, which covers the wider architecture.

Why one account per grant fails

It’s the most common thing we see in organisations that grew grant by grant. Each new award gets its own income and expense accounts. After a few years the chart has hundreds of lines and three problems appear:

  • Functional expense reporting breaks. US nonprofits report expenses by nature and function (programme, management and general, fundraising). If the grant is baked into the account, you can’t cut by function without a spreadsheet.
  • Connectors break. Every new grant needs a new account created before the integration can post, so someone does it by hand, or forgets.
  • Year-on-year comparison breaks. Closed grants leave dead accounts that still appear in reports.

A template: natural accounts plus dimensions

Natural accounts (examples, renumber to your scheme):

Range Account Used by
1200 Grants / contributions receivable Grantee
2100 Grants payable Funder
2150 Refundable advances (conditional cash received) Grantee
2160 Deferred contributions (Canada, deferral method) Grantee
4100 Contributions and grants, without donor restrictions Grantee
4110 Contributions and grants, with donor restrictions Grantee
4200 Government grants Grantee
5100 Grants awarded Funder
6xxx Salaries, travel, supplies, professional fees, occupancy Both

Dimensions (tag every line):

Dimension Example values Source of truth
Grant / award ID G-2026-0142 Grants system
Fund / restriction Without restriction · Purpose · Time · Endowment GL policy, set from grant record
Programme Youth employment · Literacy Programme MIS
Function Programme · Management & general · Fundraising GL policy
Funder Foundation name / ID Grants system
Location (optional) State, province, district Grants system

Five or six dimensions is enough for most organisations. Every extra one is a field someone must fill on every line.

Field-by-field mapping

Grants-system field QuickBooks Online Sage Intacct NetSuite Zoho Books
Organisation ID Vendor (custom field for ID) Vendor ID Vendor (external ID) Vendor (custom field)
Grant ID Class or Project Project or user-defined dimension Custom segment or Project Reporting tag "Grant" or Project
Fund / restriction Class (if grant uses Project) User-defined dimension or Class Class or custom segment Reporting tag "Fund"
Programme Class / custom field Department or Class Department Reporting tag "Programme"
Function Account sub-type or class Dimension Department/segment Reporting tag "Function"
Location Location (transaction level) Location Location / Subsidiary Branch or reporting tag
Approved budget lines Budget by class Budget by dimension Budget by segment Budget filtered by tags

A few platform notes, all worth checking against your edition:

  • QuickBooks Online allows one class per line and one location per transaction, and class tracking needs a Plus or Advanced plan. If you need more than two dimensions, plan for custom fields or a different ledger.
  • Sage Intacct is built around dimensions, which is why many US foundations use it. RSM describes tagging grant transactions with dimensions so commitments can be tracked as they’re paid down.
  • NetSuite offers department, class and location as standard segments, plus custom segments.
  • Zoho Books gives you up to 10 reporting tags with 500 options each, applied on line items for invoices, bills, expenses and journals.

Worked example: one grant through the mapping

Grant G-2026-0142, $150,000, unconditional, restricted to youth employment, from a US foundation, delivered in two locations.

  1. Grants system fires “Award approved” with org ID, grant ID, amount, restriction = purpose, programme = youth employment.
  2. Connector finds the vendor or customer by org ID in the cross-reference table (never by name), and creates it if missing.
  3. Grantee GL posts Dr 1200 Grants receivable / Cr 4110 Contributions with donor restrictions, tagged Grant = G-2026-0142, Fund = Purpose, Programme = Youth employment, Funder = foundation ID.
  4. Every expense on the programme is tagged with the same Grant and Programme values, plus Function and Location.
  5. Monthly, a report filtered by Grant = G-2026-0142 gives budget vs actual, and the release of restriction is posted for the amount spent.

When we set this up on Zoho, the grant record lives in a Zoho Creator app and the tags are pushed to Zoho Books by the same ID, so a programme manager never types a grant code by hand. That’s how FundZola builds utilisation reports straight from tagged lines.

Two adjacent reads: for when tranches should post at all, see conditional vs unconditional grants under ASU 2018-08. If your grantees include individuals, their bank details are personal data, and our DPDP compliance checklist covers how to handle them in India.

Checklist before you build

  • Natural accounts describe the type of money, not the funder.
  • Grant ID exists in both systems and is required on every line that touches a grant.
  • Restriction is a dimension, consistent with your net asset or fund policy.
  • Function is captured at entry, not reconstructed at year end.
  • Budgets use the same dimensions as actuals.
  • Closed grants are deactivated as dimension values, not deleted.

Map one grant, end to end

Bring one grant agreement and last month’s GL export. In a 45-minute working session we’ll map that grant from approval to audit and hand you the field mapping.

Book a grant-mapping session →

Start with one part of the work that feels harder than it should.

Bring one tracker, form or workflow. We’ll help you find a practical first step, whether that means a clearer process, a connected system or better use of what you already have.

Prefer email? [email protected]

EDZOLA NEWSLETTER

Hear more about the work, once a month.

Subscribe for practical ideas, field notes and updates from EdZola’s work with social-impact organisations.

A monthly email from EdZola. You can unsubscribe at any time.