Skip to content

Adding Pledges in Batch ​

This guide walks you through creating a batch of pledges, either by entering them manually or importing from a spreadsheet.

Creating a New Batch ​

  1. Go to Data > Batch Import
  2. Click Create and confirm — the batch is named with the date and time; rename it on the batch page if you like (e.g., "Annual Appeal Pledges")
  3. Under What do you want to import?, choose Pledges

TIP

Use descriptive batch names to make them easy to find later. You can edit the batch name anytime before processing.

Adding Pledges Manually ​

Click Add to open the pledge form. Fill in the required fields and any optional information.

Required Fields ​

FieldDescription
KindPledge, Grant, or Invoice (defaults to Pledge). All three are scheduled and paid the same way; the kind is how the promise is labelled and filtered.
Display NameThe donor's display name
Total AmountThe full pledge amount (e.g., $1,200 for a $100/month pledge). Must be greater than 0.
CurrencyLocks to the campaign's currency once a campaign is chosen
PeriodNumber of installments (e.g., 12 for monthly over a year). A whole number greater than 0.
IntervalPayment frequency: monthly or yearly
Start DateWhen the first installment is due
Created DateWhen the pledge was made
CampaignWhich campaign to credit

TIP

The system calculates the installment amount automatically: Total Amount ÷ Period = Installment Amount. For example, a $1,200 pledge with 12 monthly installments = $100/month.

Contact/Organization ​

There are two ways to link a pledge 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 pledge 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). The exception is a pledge from an organization: when a CRM organization is linked, no contact is created.

A person or an organization, not both

A pledge comes from either a contact or a CRM organization. A row that links both is refused when the batch is processed. Link the donor, and add the other party as a soft credit.

Optional Fields ​

FieldDescription
Reference IDA unique identifier for this pledge (useful for updates)
First/Last NameIndividual name fields
EmailDonor's email address
AddressStreet, city, state, zip, country
CommentNotes about the pledge
AnonymousHide the donor's name publicly
Donation FormWhich form to associate (if any)
Site/Project/Team/NetworkFundraising page associations
TributeHonor or memorial designation
Pledge TagsAdd tags for organization
Custom FieldsAny custom fields configured for the donation form

Expected Revenue Details ​

Each pledge creates an expected revenue record. You can optionally set payment details:

FieldDescription
Payment MethodExpected payment method (none, cash, check, credit card, debit card, PayPal, cryptocurrency, bank transfer, gift in kind, other — defaults shown; your organization may customize these)
StatusExpected status (pending, completed, partial, voided)
Payment ChannelOnline or offline
Payment ReferenceCheck number, wire reference, receipt number, etc.
Payment NotesAdditional payment details
FundWhich fund to allocate expected revenue to
Fund AmountAmount to allocate to the fund (defaults to full pledge amount)
Expected Revenue TagsTags for the expected revenue record
Expected Revenue Custom FieldsAny custom fields configured for expected revenue

TIP

For pledges paid by check, use "check" as the payment method and enter the check number in the Payment Reference field when payments are received.

Expected Revenue Credits ​

Link additional contacts or organizations to a pledge as soft or hard credits. Each credit has:

FieldDescription
Contact/OrganizationWho receives the credit — a contact or a CRM organization (one required)
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 expected revenue credits.

Expected Revenue Solicitors ​

Solicitors track who secured the pledge. Each solicitor has:

FieldDescription
Contact/OrganizationThe solicitor — a contact or a CRM organization (one required)
AmountAttributed amount (for reporting)

Click Add Solicitor to add expected revenue solicitors.

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 pledges 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 pledges from a CSV or Excel file.

Core (required) ​

ColumnDescription
display_nameDonor display name
total_amountFull pledge amount, greater than 0 (e.g., 1200.00 for a $100/month × 12 pledge). A value that can't be read is cleared and flagged, and the batch can't be processed until you fix it.
currency_codeCurrency code (e.g., USD, CAD). Imported as given, even if it differs from the campaign's currency.
periodNumber of installments, a whole number greater than 0 (e.g., 12). Invalid values are cleared and flagged the same way.
intervalPayment frequency: monthly or yearly. Any other value is imported as monthly without a warning.
start_dateWhen the first installment is due (e.g., 2024-01-15)
created_atDate and time the pledge was made (e.g., 2024-01-10 10:30:00)
campaign_idCampaign ID to credit the pledge 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
kindpledgepledge, grant, or invoice (capitalization doesn't matter). A row with any other value is refused at upload with an error naming the value, and never reaches the batch.

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_idThe organization that made the pledge, by its CauseVox ID or its reference ID. The organization must already exist or be in the same batch; if a row runs before that organization is saved, it fails — click Resume batch once the batch finishes. An organization pledge gets no contact, so leave contact_id empty.
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 pledge already exists with this reference ID, core and expected revenue payment fields will be updated. If more than one pledge already has it, the row is refused. Expected revenue splits, credits, solicitors, and tribute soft credits are only set on initial import.

Expected Revenue ​

ColumnDescription
expected_revenue_payment_methodOne of your organization's payment methods, by value or label (e.g., check, Cash, bank_transfer). Any other value refuses the row at upload.
expected_revenue_statusExpected revenue status (e.g., pending, completed)
expected_revenue_payment_channelWhere the payment was received (e.g., online, offline)
expected_revenue_payment_referenceReference number (check number, wire reference, etc.)
expected_revenue_payment_metaAdditional payment notes

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). Any other value refuses the row at upload.
tribute_honoree_nameName of the person being honored or memorialized. When no tribute_contact_id is given, one contact is created for the honoree.
tribute_contact_idLink the tribute to an existing contact by ID instead of creating one from the name

Expected Revenue Splits (numbered, via column mapping) ​

Split expected revenue across multiple funds using numbered column pairs:

ColumnDescription
expected_revenue_split_fund_id_1Fund ID for the first split
expected_revenue_split_amount_1Amount for the first split
expected_revenue_split_fund_id_2Fund ID for the second split
expected_revenue_split_amount_2Amount for the second split

Add more numbered pairs (_3, _4, etc.) as needed.

Expected Revenue Credits (numbered, via column mapping) ​

Assign soft or hard credits to additional contacts using numbered column sets:

ColumnDescription
expected_revenue_credit_contact_id_1Contact ID for the first credit
expected_revenue_credit_crm_organization_id_1CRM organization ID for the first credit (a credit needs a contact or an organization)
expected_revenue_credit_amount_1Credit amount
expected_revenue_credit_type_1soft or hard. Blank means soft
expected_revenue_credit_category_1Optional: tribute, matching, solicitor, household, or other

Add more numbered sets (_2, _3, etc.) as needed.

Expected Revenue Solicitors (numbered, via column mapping) ​

Record who secured each pledge using numbered column sets:

ColumnDescription
expected_revenue_solicitor_contact_id_1Contact ID for the first solicitor
expected_revenue_solicitor_crm_organization_id_1CRM organization ID for the first solicitor (a solicitor needs a contact or an organization)
expected_revenue_solicitor_amount_1Attributed amount

Add more numbered sets (_2, _3, etc.) as needed.

Custom Fields (numbered, via column mapping) ​

Add custom field values using numbered columns:

ColumnDescription
pledge_custom_field_1Value for the first pledge custom field
pledge_custom_field_2Value for the second pledge custom field
expected_revenue_custom_field_1Value for the first expected revenue custom field
expected_revenue_custom_field_2Value for the second expected revenue custom field

Add more numbered columns (_3, _4, etc.) as needed.

Tags (numbered, via column mapping) ​

Apply tags using numbered columns:

ColumnDescription
installment_profile_tag_1Tag name to apply to the pledge
installment_profile_tag_2Second tag for the pledge
expected_revenue_tag_1Tag name to apply to the expected revenue record

Add more numbered columns (_2, _3, etc.) as needed.

TIP

Expected revenue splits, credits, solicitors, 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 ​

A row with a crm_organization_id is an organization pledge: no contact is linked or created, even if the row has an email. A row that has both a crm_organization_id and a contact_id is flagged on the review screen and refused at processing.

When a row has no contact_id, no email and no organization, it's matched on the donor's name, ignoring capitalization: first the first and last name (when the row has them), then, if that finds no contact, the display name. An anonymous pledge's display name is never used; an anonymous pledge with no first or last name gets its own contact. A placeholder name (any word of it is "Anonymous" or "Anon", in any capitalization) is never matched either: the row is flagged "Name looks anonymous" and gets its own contact. One matching contact links the pledge. Two or more flag the row, and processing refuses it until you set its contact_id. When no contact has that name, one new contact is created and shared by every row in the batch with the same name.

When a pledge row has no contact_id but has an email:

  • Email matches an existing contact → the pledge 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. Use contact_id explicitly to force a specific link, or use reference_id on the pledge for idempotent re-imports. See Importing from Spreadsheet for details.

Reviewing Your Batch ​

Before processing, review your data:

  • Check that amounts are correct
  • Verify period and interval combinations
  • Confirm start dates
  • 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 pledge becomes a permanent record. Double-check your data before processing.

After Processing ​

Once processed:

  • Pledges appear in Manage > Pledges
  • Expected revenue records are created automatically
  • Installment schedules are generated
  • 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. Verify schedules - Double-check period and interval combinations
  5. Set correct start dates - This determines when installments are due
  6. Keep your spreadsheet - Useful for troubleshooting or re-imports

Unified Fundraising + CRM