Skip to main content

GrantPipe + Xero Integration

Published: Last updated: Reviewed: Sources: developer.xero.com developer.xero.com developer.xero.com developer.xero.com xero.com

TLDR

Xero's tracking categories are the cleanest path to restricted-fund segregation for nonprofits under $1M revenue. GrantPipe connects via Xero's OAuth 2.0 API, posts journal lines with tracking categories matching each restricted fund, and keeps donor contacts synchronized — so month-end close stops being a manual reconciliation exercise.

Xero’s tracking categories give nonprofits a practical path to restricted-fund reporting without redesigning a chart of accounts. GrantPipe’s Xero integration closes the gap between the donor CRM and the general ledger — authentication through OAuth 2.0, two-way donor-to-contact sync, and journal posting with tracking category options attached to every fund dimension.

What the integration does

GrantPipe authenticates to Xero through Xero’s OAuth 2.0 developer API. An admin authorizes the connection from GrantPipe Settings, selects the correct Xero organization, and GrantPipe stores a tenant ID and rotating refresh token. From that point, the integration reads your tracking category structure and maps each GrantPipe restricted fund to a category option.

Financial posting runs one way: GrantPipe to Xero. That keeps the general ledger authoritative and prevents the double-entry problems that come from bidirectional financial sync. For each posted journal, GrantPipe attaches the tracking category option corresponding to the fund, so Xero’s Profit and Loss by Tracking report shows restricted activity without additional manual coding.

Donor-to-contact sync runs both ways. A GrantPipe donor with a matching Xero contact email is automatically linked. New donors without a match become new Xero contacts on first sync.

Roadmap status

This integration is on the GrantPipe roadmap. The architecture is designed, the Xero OAuth 2.0 app registration is in place, and the data-mapping layer mirrors the pattern used by the QuickBooks Online integration. The Xero integration will ship as part of the accounting integrations milestone. If you are evaluating GrantPipe and Xero is your general ledger, contact the team to discuss timeline.

Data flows

  • Donors → Xero contacts (two-way, nightly)
  • Donations → Xero journal entries (one-way GrantPipe → Xero, nightly)
  • Restricted fund → tracking category option (mapping table, updated on change)
  • Grant revenue → Xero account codes (per revenue type, configurable)

Sync frequency is nightly by default with a manual trigger available in Settings.

Setup steps

  1. Connect via OAuth 2.0 from Settings → Integrations → Xero
  2. Select the correct Xero organization
  3. Review your existing tracking categories and map restricted funds to options
  4. Run the donor-to-contact reconciliation wizard
  5. Configure chart-of-accounts mapping for donations, pledges, and grants
  6. Run a 14-day test sync and confirm journal entries in Xero
  7. Enable nightly production sync and subscribe the finance owner to the reconciliation email

Common use cases

The finance team at a typical $1M–$3M nonprofit using Xero runs two restricted funds: a government grant fund and a major-donor restricted fund. Both map to tracking category options. After GrantPipe sync, the Xero Profit and Loss by Tracking report shows each fund’s revenue and expense balance in a single view — no pivot tables, no manual re-coding.

Development staff enter gifts in GrantPipe during the week. Finance reviews the Xero reconciliation email each morning and sees a running total of what posted overnight. Month-end close moves from a multi-day reconciliation to a review of the GrantPipe summary.

Limitations and gotchas

Xero’s two-category constraint is the most significant limitation. If your organization already uses both tracking categories for internal purpose codes, you will need to restructure before the GrantPipe integration can post fund dimensions. The setup wizard surfaces this issue before any data is written.

Multi-currency grant tracking requires Xero Premium. Organizations receiving grants in multiple currencies — common for international nonprofits — will need the Premium plan to post foreign-currency journal entries correctly.

Xero’s API rate limit (60 calls per minute per organization) means large historical backfills are paced across multiple sync windows. Expect a multi-day backfill for organizations with more than two years of donation history.

Pricing implications

Xero’s Standard plan ($47/month US, 2025 pricing) includes tracking categories and covers most nonprofit use cases. If your grants require multi-currency posting or Xero Projects for cost tracking, upgrade to Premium. GrantPipe’s own pricing is not affected by which Xero plan you run — the integration is included with GrantPipe’s standard subscription.

Start a free trial

Start a trial.

Free resource

Get the Nonprofit Grant Compliance Checklist

A practical checklist for post-award grant compliance: restricted funds, reporting cadence, audit prep, and common failure points. Delivered by email.

Email is required for delivery. We'll send the resource to your inbox.

Email is required because the download link is delivered by email, not on-page.

Xero Standard plan is listed at $47/month for unlimited users (US pricing, 2025)

Source: Xero US pricing page

Xero's Developer API has a rate limit of 60 calls per minute per organization for standard connections

Source: Xero Developer Documentation — API Limits

Q&A

Why does GrantPipe use journal entries rather than invoices in Xero?

Invoices work well for pledged grants with stated due dates, but create noise for operating gifts. Journal-entry mode keeps the Xero general ledger clean while still attaching tracking category options so fund-level reporting works. You can request invoice-mode posting for specific pledge funds.

Q&A

Can I use GrantPipe if I already have a tracking category used for something else?

Yes, but carefully. Xero allows only two active tracking categories. If both are occupied, you will need to retire one or consolidate options before GrantPipe can post fund dimensions. The setup wizard shows your current category structure before you commit.

Q&A

Does GrantPipe support Xero's Projects feature for grant tracking?

Xero Projects is on the roadmap as an optional layer for grant-level cost tracking. The current integration uses tracking categories, which cover most restricted-fund reporting needs without requiring Xero Projects access.

Frequently asked

Frequently Asked Questions

Which Xero plan is required for the integration?
Xero's tracking categories feature is available on all paid Xero plans (Starter, Standard, Premium). However, tracking categories are limited to two active categories per organization, so plan your category structure before connecting.
Does GrantPipe support two-way sync with Xero?
Donor-to-contact sync is two-way: new donors created in GrantPipe become Xero contacts, and contacts created in Xero with a matching email are linked back. Financial posting is one-way from GrantPipe to Xero to keep the general ledger authoritative.
How are restricted funds mapped in Xero?
Each GrantPipe restricted fund maps to a Xero tracking category option. When GrantPipe posts a journal line, the tracking category option is attached so Xero's reports can break out restricted fund activity without additional chart-of-accounts complexity.
Can I post to Xero in real time or only nightly?
Nightly by default. Admins can trigger a manual sync at any time from Settings. Real-time posting per transaction is on the roadmap for a future release.
What happens if I exceed Xero's two-category limit?
Xero limits organizations to two active tracking categories. If both are already in use for non-GrantPipe purposes, you will need to retire one or restructure your category scheme before GrantPipe can post fund dimensions. GrantPipe flags this during the setup wizard.
Is the Xero App Marketplace listing required?
No. GrantPipe connects directly via Xero's OAuth 2.0 developer API. You authorize the connection from GrantPipe Settings using your Xero admin credentials.