Appearance
Adding Donations in Batch
This guide walks you through creating a batch of donations, either by entering them manually or importing from a spreadsheet.
Creating a New Batch
- Go to Manage > Batches
- Click Create
- Give your batch a name (e.g., "December Checks" or "Gala Silent Auction")
- Select the Donations tab
TIP
Use descriptive batch names to make them easy to find later. You can edit the batch name anytime before processing.
Adding Donations Manually
Click Add to open the donation form. The form is organized into the following sections.
Required Fields
Every donation requires these 9 fields. Fields with defaults are pre-filled for you.
| Field | Description | Default |
|---|---|---|
| Display Name | The name to display for this donation (e.g., "John Smith") | — |
| Amount | The donation amount | — |
| Currency | Currency code (locked when a campaign is selected) | Organization default |
| Created Date | When the donation was made (UTC) | Current date/time |
| Campaign | Which campaign to credit this donation to | — |
| Anonymous | Whether to hide donor information publicly | false |
| Anonymous Type | What to hide: name, amount, or both | name |
| Payment Method | How the donation was paid | none |
| Revenue Status | Payment status of the revenue record | completed |
Campaign & Context
Link the donation to a campaign and optionally to a donation form and/or fundraising page.
| Field | Description |
|---|---|
| Campaign | Which campaign to credit this donation to (required) |
| Donation Form | Which donation form to associate — also loads form-specific custom fields |
| Site | Fundraising site association |
| Project | Fundraising project association |
| Team | Fundraising team association |
| Network | Fundraising network association |
Contact/Organization
There are two ways to link a donation to existing records in your CRM:
Contact/Organization selector — Use the dedicated selector at the top of this section to explicitly search for and link to an existing contact or CRM organization.
Auto-suggest while typing — As you type in the Display Name, First Name, Last Name, or Email fields, the form searches your existing contacts in real-time and shows suggestions. Selecting a suggestion links the donation to that contact and pre-fills their details (name, email, address).
Auto-linking by email
If you provide an email address but don't explicitly link a contact, the system will search for an existing contact with that email and link to them automatically. If no matching contact is found, a new contact is created from the donor details you provide. This prevents duplicate contacts from being created when a matching email already exists.
New contact creation — If no contact is linked (either manually or via email matching) when the batch is processed, a new contact is created from the donor details you provide (name, email, address).
Donation Details
Core information about the donation.
| Field | Required | Description |
|---|---|---|
| Display Name | Yes | Donor display name — typing triggers contact search suggestions |
| Reference ID | No | External or unique identifier. If a donation already exists with this reference ID, core fields, revenue payment fields, tags, and custom values will be updated. Revenue splits, revenue credits, and tribute soft credits are only set on initial import. |
| Amount | Yes | Donation amount |
| Currency | Yes | Currency code — locked when a campaign is selected (inherits campaign currency) |
| Created Date | Yes | Date and time the donation was made (UTC). Defaults to now. Used for donor wall ordering. |
| Donation Tags | No | Tags for organizing the donation |
| Fund Designation | No | The donor's fund choice (originating from the form or resource). When set, a fund amount is required (up to the donation amount) and a matching revenue split is auto-created on the revenue record. |
| Tribute | No | Honor or memorial designation — select "In honor of" or "In memory of", then optionally provide an honoree name and/or linked contact. |
| Custom Fields | No | Custom fields configured on the selected donation form. Only appear when a donation form is selected. |
Fund Designation vs Revenue Splits
Fund Designation reflects the donor's fund choice (from the form or resource). When you set a fund designation, the system automatically creates a matching revenue split on the revenue record.
Revenue Splits (in the Revenue Details section below) are fund allocations on the revenue record that let you split across multiple funds. You can use both — the fund designation is a convenience for the common single-fund case.
Donor Details
Personal information attached to the donation record (not the contact record). These fields are also used to create a new contact if no existing contact is linked.
| Field | Description |
|---|---|
| First Name | Donor's first name — typing triggers contact search suggestions |
| Last Name | Donor's last name — typing triggers contact search suggestions |
| Donor's email address — typing triggers contact search suggestions | |
| Address | Street (line 1 and line 2), city, state, zip code, country |
Site Options
Controls how the donation appears on public fundraising sites.
| Field | Required | Description |
|---|---|---|
| Anonymous | Yes | Hide the donor's information publicly. Default: false |
| Anonymous Type | Yes (when anonymous) | What to hide. Options: name (hide name), amount (hide amount), both (hide name and amount). Default: name |
| Comment | No | Donor's public comment or note |
Revenue Details
Each donation creates a revenue record. Configure payment details and fund allocations here.
Payment Information
| Field | Required | Description |
|---|---|---|
| Payment Method | Yes | How the donation was paid. Default: none. See values below. |
| Revenue Status | Yes | Payment status. Default: completed. See values below. |
| Payment Channel | No | Where the payment was received (online, in person, mail, phone, mobile app, other) |
| Payment Reference | No | Reference number — label changes contextually (e.g., "Check Number" for checks, "Wire/ACH Reference" for bank transfers, "Receipt Number" for cash). Only shown for manual payment methods. |
| Payment Notes | No | Additional payment details |
Payment Method values (defaults shown — your organization may customize these):
| Value | Label |
|---|---|
none | None |
cash | Cash |
check | Check |
credit_card | Credit Card |
debit_card | Debit Card |
paypal | PayPal |
crypto | Cryptocurrency |
bank_transfer | Bank Transfer |
gift_in_kind | Gift in Kind |
other | Other |
Revenue Status values:
| Value | Label |
|---|---|
completed | Completed |
pending | Pending |
failed | Failed |
refunded | Refunded |
TIP
For check donations, use check as the payment method — the Payment Reference field will change to "Check Number" automatically.
Revenue Splits
Split revenue across multiple funds. Each split has a fund and an amount. The form shows the allocated total vs the donation amount to help you balance.
| Field | Description |
|---|---|
| Fund | Which fund to allocate to |
| Amount | Amount to allocate to this fund |
Click Add Split to add additional fund allocations. If a Fund Designation was set in Donation Details, its corresponding split is auto-created here.
Revenue Credits
Link additional contacts to a donation as soft or hard credits. Each credit has:
| Field | Description |
|---|---|
| Contact | The contact receiving the credit |
| Amount | Credit amount |
| Type | soft (Soft Credit) or hard (Hard Credit). Default: soft |
| Category | Optional: tribute, matching (Matching Gift), solicitor, household, or other |
Click Add Credit to add revenue credits.
Revenue Tags & Custom Fields
| Field | Description |
|---|---|
| Revenue Tags | Tags for the revenue record (separate from donation tags) |
| Revenue Custom Fields | Organization-level custom fields configured for revenue records |
Editing and Removing Rows
- Edit: Click anywhere on a row to open the form and make changes
- Delete: Click the trash icon on the right side of a row
Importing from Spreadsheet
For large batches, importing from a spreadsheet is faster:
- Click Import from Spreadsheet at the bottom of the batch
- Select your CSV or Excel file
- Map your columns to the correct fields (if needed)
- Review the imported rows
See Importing from Spreadsheet for detailed instructions on the import process.
Automatic contact linking during import
When importing from a spreadsheet, if you include an email column but no contact_id, the system automatically searches for an existing contact with that email and links them — similar to how online donations work. If no matching contact is found, a new contact is created from the donor details you provided (name, email, address).
This differs from manual entry, where you use the contact selector or auto-suggest to explicitly link a contact before processing.
Supported CSV Columns
Below is the full list of columns supported when importing donations from a CSV or Excel file.
Core (required)
| Column | Description |
|---|---|
display_name | Donor display name |
amount | Donation amount |
currency_code | Currency code (e.g., USD, CAD) |
created_at | Date and time the donation was made (e.g., 2024-01-15 14:30:00) |
campaign_id | Campaign ID to credit the donation to |
Defaults (required, pre-filled if omitted)
| Column | Default | Description |
|---|---|---|
anonymous | 0 | Whether to hide donor information publicly (0 = no, 1 = yes) |
anonymous_type | name | What to hide: name, amount, or both |
revenue_payment_method | none | Payment method (e.g., check, cash, credit_card) |
revenue_status | completed | Revenue status: completed, pending, failed, or refunded |
Revenue
| Column | Description |
|---|---|
revenue_payment_channel | Where the payment was received (e.g., online, offline) |
revenue_payment_reference | Reference number (check number, wire reference, etc.) |
revenue_payment_meta | Additional payment notes |
Donor
| Column | Description |
|---|---|
first_name | Donor's first name |
last_name | Donor's last name |
email | Donor's email address |
line1 | Street address line 1 |
line2 | Street address line 2 |
city | City |
state | State or province |
zipcode | Postal/zip code |
country | Country |
Associations
| Column | Description |
|---|---|
contact_id | Link to an existing contact by ID |
crm_organization_id | Link to an existing CRM organization by ID |
donation_form_id | Associate with a donation form |
site_id | Associate with a fundraising site |
project_id | Associate with a fundraising project |
team_id | Associate with a fundraising team |
network_id | Associate with a fundraising network |
Other
| Column | Description |
|---|---|
comment | Donor's public comment or note |
reference_id | External or unique identifier — if a donation already exists with this reference ID, core fields, revenue payment fields, tags, and custom values will be updated. Revenue splits, revenue credits, and tribute soft credits are only set on initial import. |
Fund
| Column | Description |
|---|---|
fund_id | Fund designation ID — the donor's intended fund |
fund_amount | Amount to allocate to the primary fund |
Tribute
| Column | Description |
|---|---|
tribute_type | honor (In Honor Of) or memory (In Memory Of) |
tribute_honoree_name | Name of the person being honored or memorialized |
tribute_contact_id | Link the tribute to an existing contact by ID |
Revenue Splits (numbered, via column mapping)
Split revenue across multiple funds using numbered column pairs:
| Column | Description |
|---|---|
revenue_split_fund_id_1 | Fund ID for the first split |
revenue_split_amount_1 | Amount for the first split |
revenue_split_fund_id_2 | Fund ID for the second split |
revenue_split_amount_2 | Amount for the second split |
Add more numbered pairs (_3, _4, etc.) as needed.
Revenue Credits (numbered, via column mapping)
Assign soft or hard credits to additional contacts using numbered column sets:
| Column | Description |
|---|---|
revenue_credit_contact_id_1 | Contact ID for the first credit |
revenue_credit_amount_1 | Credit amount |
revenue_credit_type_1 | soft or hard |
revenue_credit_category_1 | Optional: tribute, matching, solicitor, household, or other |
Add more numbered sets (_2, _3, etc.) as needed.
Custom Fields (numbered, via column mapping)
Add custom field values using numbered columns:
| Column | Description |
|---|---|
donation_custom_field_1 | Value for the first donation custom field |
donation_custom_field_2 | Value for the second donation custom field |
revenue_custom_field_1 | Value for the first revenue custom field |
revenue_custom_field_2 | Value for the second revenue custom field |
Add more numbered columns (_3, _4, etc.) as needed.
Tags (numbered, via column mapping)
Apply tags using numbered columns:
| Column | Description |
|---|---|
donation_tag_1 | Tag name to apply to the donation |
donation_tag_2 | Second tag for the donation |
revenue_tag_1 | Tag name to apply to the revenue record |
Add more numbered columns (_2, _3, etc.) as needed.
TIP
Revenue splits, credits, custom fields, and tags use numbered suffixes (_1, _2, etc.) and require the column mapping step during import. When you upload your file, map each numbered column to the correct field.
How Contacts Are Linked
When a donation row has no contact_id but has an email:
- Email matches an existing contact → the donation is linked to that contact.
- Email doesn't match any existing contact → a new contact is created using the row's name, address, and email.
- Multiple rows in the same batch share the same unmatched email → rows 2..N are flagged with a warning on the review screen, and all of them link to the single new contact created by the first row. Later rows' name/address fields are discarded.
TIP
Email lookup happens at upload time. If you add a contact through the UI after uploading but before processing, the batch will create a new contact instead of linking to the one you just added. Use contact_id explicitly to force a specific link, or use reference_id on the donation to keep re-imports idempotent. See Importing from Spreadsheet for details.
Reviewing Your Batch
Before processing, review your data:
- Check that amounts are correct
- Verify campaign assignments
- Confirm contact information
- Look for any error indicators
Processing the Batch
When you're ready to finalize:
- Click Process Batch
- Confirm the action
- Wait for processing to complete
Important
Batch processing cannot be undone. Once processed, each donation becomes a permanent record. Double-check your data before processing.
After Processing
Once processed:
- Donations appear in Manage > Donations
- Revenue records are created automatically
- Contacts are created/linked as specified
- Stats and reports are updated
Tips and Best Practices
- Start small - Test with a few records before importing thousands
- Use reference IDs - Makes it easy to update records later
- Review before processing - Check for duplicates and errors
- Keep your spreadsheet - Useful for troubleshooting or re-imports
- Process in batches - Split large imports into manageable chunks