EdZola
HomeSolutionsGrant-to-accounting integration
Guide · Fundraising, grants & finance

Grant-to-accounting integration.
A field guide

How to connect a grants system to your general ledger: who owns what, conditional grants, restricted funds, field mapping, sync rules and a readiness check.

Part of the Fundraising, grants & finance series

The direct answer

Grant-to-accounting integration means your grants system owns the award (who gets what, on which schedule, under which conditions) and your general ledger owns the money (what was committed, paid, received and spent, and which restriction it sits under). A shared grant ID and a small set of events pass between them. Get that boundary right and the integration is mostly plumbing. Get it wrong and the two systems disagree every month-end, and someone rebuilds the truth in a spreadsheet.

01 · Overview

At a glance

It's written for foundations and larger grantees running Fluxx, Foundant, SmartSimple or Submittable next to Sage Intacct, QuickBooks, NetSuite, Financial Edge NXT or Zoho Books.

Key takeaways
  • One owner per fact. The grants system owns award terms, conditions and schedules. The GL owns entries, balances and net asset classes.
    • Award, commitment and payment are three different numbers. A conditional tranche isn't a liability or revenue until the condition is met.
    • Map to dimensions, not new GL accounts. Tag grant, fund or restriction, programme and function.
    • Integrate events, not tables. Each event has a GL effect you can write down.
    • Reconcile monthly, three ways: grants system, GL, bank.
Disclaimer] A systems design guide, not accounting, tax or legal advice. The standards cited change, and how they apply depends on your agreements. Confirm treatment with your auditor before you configure anything.

02 · Who owns what

Who owns what: the source-of-truth boundary

Most broken integrations we're asked to fix share one cause: both systems were allowed to own the same fact. Sound familiar? The grants team edits a payment date, finance edits the bill, and nobody knows which is right. Draw the line once, in writing, before anyone builds a connector.

Data System of record What the other system receives
Grantee or funder organisation, bank details, due diligence Grants system (bank details verified in AP) GL gets a vendor or customer record keyed to the grants system ID
Award amount, term, conditions, payment schedule Grants system GL gets the commitment only when it's unconditional
Approved grant budget by line Grants system GL budget module gets a read-only copy by dimension
Journal entries, AP bills, payments, receipts GL Grants system gets status, date and amount paid back
Net asset class / restriction balance GL Grants system shows remaining restricted balance, read-only
Programme indicators and narrative reports Programme MIS or grants system GL gets nothing. Reports join the two by grant ID

That last row matters. When funders ask for spend and outcomes in one report, join them at reporting time; don't copy outcome data into the ledger. If programme data is still in spreadsheets, our guide to what a nonprofit MIS should hold covers that side.

03 · Awards, commitments and payments are three diffe

Awards, commitments and payments are three different numbers

A $300,000 three-year grant can show as $300,000 awarded, $100,000 committed and $50,000 paid on the same day. All three are correct. They answer different questions, and each one belongs in a different place.

Funders. Under ASU 2018-08, a grant is conditional when the agreement has both "a barrier that must be overcome" and a right of return or release. The unconditional portion is generally expensed, with a grants payable, when approved and communicated. Conditional tranches are disclosed, not booked, until the barrier is met.

Grantees. The same test applies. An unconditional grant is revenue, held in net assets with donor restrictions if it's restricted by purpose or time. Cash received ahead of a condition is usually a refundable advance, a liability.

So the grants system needs a field the connector reads, not a note in a PDF: each tranche marked conditional or unconditional, and an event fired when someone with authority marks the condition met.

Multi-year grants

Multi-year awards break integrations two ways. Amendments change the schedule in the grants system but not the PO or bill already in the GL. And multi-year unconditional promises may need to be recorded at present value. Agree the policy with your auditor, then make the connector carry it.

04 · Restricted funds, budget vs actual and reconcili

Restricted funds, budget vs actual and reconciliation

Restricted funds. Releasing net assets with donor restrictions, when a purpose or time restriction is met, is a GL event. If the grants system shows spend against a restricted grant, it should read that from the GL, not compute its own.

Budget vs actual. The approved budget is a grants-system fact; actuals are GL facts. Push the approved budget into the GL's budget module by the same grant and line dimensions, and run budget-vs-actual there. Federal grantees will recognise this. 2 CFR 200.302(b)(5) requires "comparison of expenditures with budget amounts for each Federal award", and (b)(3) requires records that identify "the amount, source, and expenditure" of federal funds.

Reconciliation. Monthly, per grant, match what the grants system says was paid, what the GL says was paid, and what the bank shows. Differences go to an exceptions list with an owner. At one large fundraising nonprofit we worked with, staff re-uploaded donation batches into the donor system, then reconciled the bank against those uploads by hand. The data wasn't the problem. Nobody owned the match.

05 · Integration architecture

Integration architecture

Events, not tables

Don't sync whole tables on a timer. Sync the six events that change money:

Event (in grants system) GL effect, funder GL effect, grantee
Award approved, unconditional Grant expense / grants payable Receivable / revenue (with or without restriction)
Condition met Book the newly unconditional tranche Recognise revenue; clear any refundable advance
Payment scheduled Create AP bill or payment request (n/a)
Payment made / received Clear payable (from GL back to grants) Cash / clear receivable
Amendment Adjust payable or schedule; log reason Adjust receivable / revenue; log reason
Closeout Release or cancel remaining balance Release restriction; refund if required

The Armanino Fluxx–Sage Intacct pack follows this shape: grantees become Intacct vendors, approved grants become purchase orders, and payment details flow back.

IDs, mapping, frequency and errors

  • IDs. Every record that crosses carries the grants system's ID in a GL field, backed by a cross-reference table. Never match on name.
  • Mapping. Map to GL dimensions (grant, fund/restriction, programme, function, location). QuickBooks Online uses classes and locations, Sage Intacct and NetSuite use dimensions or segments, and Zoho Books uses reporting tags (up to 10, 500 options each).
  • Frequency. Payments and approvals daily or faster; budgets on change; reconciliation monthly. Fluxx's BILL integration syncs every five minutes, but most foundations don't need faster than daily.
  • Errors. Failed events go to a log with payload, retry rule and named owner. Silent failure is how an approved grant never gets paid.

06 · Typical stacks, and how we build it on Zoho

Typical stacks, and how we build it on Zoho

Grants system Ledger What's documented Watch for
Fluxx Sage Intacct, NetSuite, QuickBooks, BILL Vendor, PO/bill, payment status Amendments after a PO exists
Foundant GLM QuickBooks Online Installments out, Paid status back Later changes: "the systems do not sync automatically"
SmartSimple / Submittable Various API or export Who owns the payment schedule
Zoho Creator Zoho Books Native, Deluge, Zoho Flow Reporting-tag discipline

When we build on Zoho, the grants workflow (applications, approvals, tranches, conditions, reporting calendar) runs as a Zoho Creator grants app and the ledger stays in Zoho Books. FundZola, our fund accounting product, tags expenses to grant, programme head and cost centre, checks overhead against each funder's ceiling, and builds utilisation reports from the same records. A person approves before anything posts.

When isn't Zoho the answer? If you're a US foundation on Sage Intacct with dimensions working, keep Intacct and fix the connector. If you're a federal-heavy grantee with indirect cost rates and Single Audit exposure, use a ledger your auditor already knows. Zoho fits when the grants side must bend to how your programmes run, or an enterprise stack doesn't match your size. If you fund individuals, see our scholarship management guide for disbursement-level controls.

07 · Failure modes we see most often

Failure modes we see most often

  1. Two owners for one fact. Payment dates edited in both systems.
  2. One GL account per grant. Hundreds of accounts, and no functional expense statement.
  3. Conditional grants booked as payables. The board sees liabilities that don't exist yet.
  4. Name-matching. "Asha Trust" and "ASHA Trust (Bengaluru)" become two vendors.
  5. Amendments outside the connector. Extended in the grants system, never in the GL.
  6. CRM treated as the grants system. A donor CRM shows pipeline, not obligations; see our nonprofit CRM comparison.
  7. No audit trail on the connector. Every write needs a user, timestamp and before/after value.

08 · Jurisdiction notes

Jurisdiction notes

Region What changes for the integration
US ASC 958-605 as amended by ASU 2018-08; net assets with/without donor restrictions. 2024 Uniform Guidance revisions apply to federal awards from 1 October 2024 (Single Audit threshold $1,000,000; equipment $10,000; de minimis indirect 15%). Check eCFR for current text.
Canada ASNPO Section 4410: deferral or restricted fund method, applied consistently, so restricted grants sit as deferred revenue or in a restricted fund. Grants to non-qualified donees must meet CRA's grantee organization requirements, including separately tracked funds.
UK Charities SORP 2026 applies to periods beginning on or after 1 January 2026, with new reporting tiers. Restricted and unrestricted funds stay separate.
India FCRA money arrives only in the designated FCRA account at SBI New Delhi Main Branch, never mixed with local funds; admin spend is capped at 20%. CSR: unspent ongoing-project funds move to an Unspent CSR Account within 30 days of year end.

09 · Integration readiness scorecard

Integration readiness scorecard

10 · Practical checklist

Practical checklist

  1. Write the ownership table.
  2. Give every grant an ID that exists in both systems.
  3. Mark each tranche conditional or unconditional.
  4. Agree recognition policy with your auditor.
  5. Put grant, fund, programme and function in dimensions.
  6. Load approved budgets into the GL by those dimensions.
  7. Write down the journal each event creates.
  8. Match organisations by ID, never by name.
  9. Set sync frequency and an error owner per event.
  10. Define the amendment workflow.
  11. Reconcile three ways, per grant, monthly.
  12. Test closeout and refunds before go-live.

11 · Common questions

Frequently asked questions

What is grant-to-accounting integration?

The connection between a grants system (award terms, conditions, schedules) and a general ledger (entries, payments, restricted balances), kept in step by a shared grant ID and a defined set of events.

Should grant budgets live in the grants system or the accounting system?

The approved budget comes from the agreement, so the grants system owns it. Push a read-only copy into the GL budget by the same dimensions and run budget-vs-actual from the GL.

Do I need a separate GL account for each grant?

Usually not. Use a few natural accounts and tag grant, fund, programme and function as dimensions, classes or reporting tags.

How does ASU 2018-08 affect integration?

It decides when a tranche hits the books. A conditional tranche stays off until the condition is met, so the grants system needs a structured "condition met" event.

How often should the grants system and GL sync?

Payments and approvals daily or faster, budgets on change, reconciliation monthly. Faster sync doesn't fix a bad mapping.

Can Zoho Books handle restricted grant funds?

Yes, through its chart of accounts and reporting tags, with FundZola adding grant-wise tagging and utilisation reports. For federal awards with indirect cost rates, confirm the setup with your auditor.

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, show you where your two systems will disagree, and hand you the field mapping. No jargon, no upselling. Across 150+ systems we've built, the integration is usually what decides whether finance trusts the numbers.

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.