Skip to content

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

  1. Go to Manage > Batches
  2. Click Create
  3. Give your batch a name (e.g., "December Checks" or "Gala Silent Auction")
  4. 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.

FieldDescriptionDefault
Display NameThe name to display for this donation (e.g., "John Smith")
AmountThe donation amount
CurrencyCurrency code (locked when a campaign is selected)Organization default
Created DateWhen the donation was made (UTC)Current date/time
CampaignWhich campaign to credit this donation to
AnonymousWhether to hide donor information publiclyfalse
Anonymous TypeWhat to hide: name, amount, or bothname
Payment MethodHow the donation was paidnone
Revenue StatusPayment status of the revenue recordcompleted

Campaign & Context

Link the donation to a campaign and optionally to a donation form and/or fundraising page.

FieldDescription
CampaignWhich campaign to credit this donation to (required)
Donation FormWhich donation form to associate — also loads form-specific custom fields
SiteFundraising site association
ProjectFundraising project association
TeamFundraising team association
NetworkFundraising 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.

FieldRequiredDescription
Display NameYesDonor display name — typing triggers contact search suggestions
Reference IDNoExternal 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.
AmountYesDonation amount
CurrencyYesCurrency code — locked when a campaign is selected (inherits campaign currency)
Created DateYesDate and time the donation was made (UTC). Defaults to now. Used for donor wall ordering.
Donation TagsNoTags for organizing the donation
Fund DesignationNoThe 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.
TributeNoHonor or memorial designation — select "In honor of" or "In memory of", then optionally provide an honoree name and/or linked contact.
Custom FieldsNoCustom 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.

FieldDescription
First NameDonor's first name — typing triggers contact search suggestions
Last NameDonor's last name — typing triggers contact search suggestions
EmailDonor's email address — typing triggers contact search suggestions
AddressStreet (line 1 and line 2), city, state, zip code, country

Site Options

Controls how the donation appears on public fundraising sites.

FieldRequiredDescription
AnonymousYesHide the donor's information publicly. Default: false
Anonymous TypeYes (when anonymous)What to hide. Options: name (hide name), amount (hide amount), both (hide name and amount). Default: name
CommentNoDonor's public comment or note

Revenue Details

Each donation creates a revenue record. Configure payment details and fund allocations here.

Payment Information

FieldRequiredDescription
Payment MethodYesHow the donation was paid. Default: none. See values below.
Revenue StatusYesPayment status. Default: completed. See values below.
Payment ChannelNoWhere the payment was received (online, in person, mail, phone, mobile app, other)
Payment ReferenceNoReference 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 NotesNoAdditional payment details

Payment Method values (defaults shown — your organization may customize these):

ValueLabel
noneNone
cashCash
checkCheck
credit_cardCredit Card
debit_cardDebit Card
paypalPayPal
cryptoCryptocurrency
bank_transferBank Transfer
gift_in_kindGift in Kind
otherOther

Revenue Status values:

ValueLabel
completedCompleted
pendingPending
failedFailed
refundedRefunded

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.

FieldDescription
FundWhich fund to allocate to
AmountAmount 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:

FieldDescription
ContactThe contact receiving the credit
AmountCredit amount
Typesoft (Soft Credit) or hard (Hard Credit). Default: soft
CategoryOptional: tribute, matching (Matching Gift), solicitor, household, or other

Click Add Credit to add revenue credits.

Revenue Tags & Custom Fields

FieldDescription
Revenue TagsTags for the revenue record (separate from donation tags)
Revenue Custom FieldsOrganization-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:

  1. Click Import from Spreadsheet at the bottom of the batch
  2. Select your CSV or Excel file
  3. Map your columns to the correct fields (if needed)
  4. 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)

ColumnDescription
display_nameDonor display name
amountDonation amount
currency_codeCurrency code (e.g., USD, CAD)
created_atDate and time the donation was made (e.g., 2024-01-15 14:30:00)
campaign_idCampaign ID to credit the donation to

Defaults (required, pre-filled if omitted)

ColumnDefaultDescription
anonymous0Whether to hide donor information publicly (0 = no, 1 = yes)
anonymous_typenameWhat to hide: name, amount, or both
revenue_payment_methodnonePayment method (e.g., check, cash, credit_card)
revenue_statuscompletedRevenue status: completed, pending, failed, or refunded

Revenue

ColumnDescription
revenue_payment_channelWhere the payment was received (e.g., online, offline)
revenue_payment_referenceReference number (check number, wire reference, etc.)
revenue_payment_metaAdditional payment notes

Donor

ColumnDescription
first_nameDonor's first name
last_nameDonor's last name
emailDonor's email address
line1Street address line 1
line2Street address line 2
cityCity
stateState or province
zipcodePostal/zip code
countryCountry

Associations

ColumnDescription
contact_idLink to an existing contact by ID
crm_organization_idLink to an existing CRM organization by ID
donation_form_idAssociate with a donation form
site_idAssociate with a fundraising site
project_idAssociate with a fundraising project
team_idAssociate with a fundraising team
network_idAssociate with a fundraising network

Other

ColumnDescription
commentDonor's public comment or note
reference_idExternal 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

ColumnDescription
fund_idFund designation ID — the donor's intended fund
fund_amountAmount to allocate to the primary fund

Tribute

ColumnDescription
tribute_typehonor (In Honor Of) or memory (In Memory Of)
tribute_honoree_nameName of the person being honored or memorialized
tribute_contact_idLink the tribute to an existing contact by ID

Revenue Splits (numbered, via column mapping)

Split revenue across multiple funds using numbered column pairs:

ColumnDescription
revenue_split_fund_id_1Fund ID for the first split
revenue_split_amount_1Amount for the first split
revenue_split_fund_id_2Fund ID for the second split
revenue_split_amount_2Amount 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:

ColumnDescription
revenue_credit_contact_id_1Contact ID for the first credit
revenue_credit_amount_1Credit amount
revenue_credit_type_1soft or hard
revenue_credit_category_1Optional: 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:

ColumnDescription
donation_custom_field_1Value for the first donation custom field
donation_custom_field_2Value for the second donation custom field
revenue_custom_field_1Value for the first revenue custom field
revenue_custom_field_2Value 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:

ColumnDescription
donation_tag_1Tag name to apply to the donation
donation_tag_2Second tag for the donation
revenue_tag_1Tag 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:

  1. Click Process Batch
  2. Confirm the action
  3. 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

  1. Start small - Test with a few records before importing thousands
  2. Use reference IDs - Makes it easy to update records later
  3. Review before processing - Check for duplicates and errors
  4. Keep your spreadsheet - Useful for troubleshooting or re-imports
  5. Process in batches - Split large imports into manageable chunks

Unified Fundraising + CRM