Interfund Transfers
Interfund Transfers
Component File: src/features/accounting/components/InterfundTransferManager.tsx Route / navigation: /fund-accounting/interfund-transfers Tool ID: interfund-transfers Access Level: Parent-org accounting users with write access Last Updated: April 28, 2026
Purpose
Interfund Transfers is the controlled workflow for non-sponsor-fee movement between funds. It creates a reviewable request row and posts the accounting effect through the normal balanced journal-entry path.
This workflow is for internal fund movement and reclassification. External deposits, donation assignment, sponsor-fee allocation, reimbursements, and regular expenses should continue to use their dedicated workflows.
Accounting Contract
Each posted transfer:
- records a row in
interfund_transfer_requests, - preserves source fund, destination fund, date, amount, description, memo, transfer type, and selected posting accounts,
- posts a balanced journal entry through
createJournalEntry(), - stores the resulting JE number on the transfer request.
The v1 posting surface asks finance to select the debit and credit accounts explicitly. This keeps the workflow flexible while the account-default model for due-to/due-from and net-asset transfer accounts is finalized.
Transfer Types
| Type | Intended use |
|------|--------------|
| `net_asset_transfer` | Internal net asset movement or reclassification between funds |
| `due_to_due_from` | Interfund receivable/payable style movement where due-to/due-from accounts are selected |
Controls
- Source and destination funds must be different.
- Amount must be positive.
- Debit and credit accounts are required before saving a draft.
- Posting uses the existing JE validation path, including balance checks and period-lock checks.
- Internal interfund activity should eliminate in consolidated reporting or remain unmapped for Form 990 reporting.
Related Artifacts
- Migration:
supabase/migrations/20261201020000_fund_accounting_readiness.sql - Verification SQL:
supabase/queries/verify_interfund_transfer_journal_balance.sql - Data layer:
src/lib/db/interfund-transfers.ts - Hub registry:
src/features/accounting/accountingRegistry.ts - Verification plan:
documentation/plans/active/FUND-ACCOUNTING-READINESS-IMPLEMENTATION.md
Synced from IFMmvp-Frontend documentation: pages/accounting/17-INTERFUND-TRANSFERS.md
Ready to Get Started?
See how Alignmint can simplify your nonprofit's operations. Schedule a free demo with our team and we'll walk you through everything.
Questions? Email us at steven@getalignmint.org