Funds and Fee Models
Funds
A Fund is the accounting destination for donated revenue. Funds represent agencies, programs, internal accounts, or any other entity that receives designated gifts.
| Field | Description |
|---|---|
| Name | Fund display name shown to donors and staff |
| Description | Internal description |
| Organization | The agency or organization that owns this fund |
| Code | External GL account code or integration identifier |
| Federation | Whether this fund participates in federated distribution |
| Fee Exempt | Whether transactions to this fund are exempt from processing fees |
Fund Tabs
| Tab | Content |
|---|---|
| Definition | Core fund fields |
| Designations | All donation designations to this fund |
Fee Models
A Fee Model defines how processing fees are calculated for transactions routed to this fund. Fee models are attached to Items (not directly to funds) but interact with fund configuration:
- Rate Fee Model — a percentage of the transaction amount (e.g., 3% credit card fee)
- Fixed Fee Model — a fixed dollar amount per transaction
- Shipping Fee Model — shipping cost (extends Fixed Fee Model)
- Tax Fee Model — tax calculation (extends Rate Fee Model)
Fee-exempt funds bypass fee calculation entirely, regardless of the Item’s fee model.
Write-In Designations
A write-in is a donation designation that has no fund record yet — the donor typed a free-text name (e.g., “Acme Charity”) rather than picking from the configured fund list. Write-ins surface in two places:
- PayoutBatch — Held tab. When you build a payout, any DonationOrderItem with
writeInpopulated andfund = nullis held with reasonWRITE_IN. Resolve from this tab by clicking the held line and choosing either Map to existing Fund or Create new Fund. - DonationOrderItem edit page — Resolve Write-In to New Fund. On the right-hand-side tasks panel, a link “Resolve Write-In to New Fund” appears whenever the OrderItem’s
writeInis populated andfundis null and the user hasFund:Cpermission. Opens a modal that lets you either pick an existing Organization via autocomplete or create a new Organization (name + GL code), then enter the new Fund’s name and code. Saving creates the Fund (and the Organization, if needed), sets the OrderItem’sfund, and clears thewriteIntext.
Both paths update the donor’s source record (not just the batch), so any subsequent recurring contributions flow to the chosen fund without re-holding.
Write-In Audit
Field changes on OrderItem (including fund and writeIn) are captured automatically by the AuditPostUpdateEventListener — a Hibernate PostUpdateEventListener that detects dirty properties on flush. Resolution emits two AuditLogRecord entries per OrderItem:
CHANGE: fund: FROM NULL TO: <new fund>
CHANGE: writeIn: FROM '<text>' TO: NULL
No additional action is required to maintain the audit trail.
Fund Groups
Fund Groups curate a subset of funds for display on a giving form. See Fund Groups and iGuide for configuration.