Skip to main content

Import donors and donations from a CSV file

import donations, bulk import, upload donors, CSV upload, offline donations, template, import errors, errors file, import status, receipt mode, date format, teudat zehut, bank details, migrate donors

If you're just starting out, you might not have many donors in our system yet. You can import all your current donors and donations from a CSV file.

How donors are matched

You import a list of *donations*. For every donation you enter, at minimum, the donor's email address. We use the email address to identify the donor:

  • If the email address is *not yet* linked to one of your donors, we create a new donor and add the donation to their profile.

  • If the email address *already* belongs to one of your donors, we add the donation to that donor's profile.

We never overwrite information that you or the donor entered before. For example, a donor exists under [email protected] with the first name "Jon". You now import a donation for [email protected] with the first name "Ralph". The donor stays "Jon". If you import information the donor doesn't have yet (for example, a phone number), we add it to their profile.

The same applies inside one file. If you import several donations for a new donor and spell the name differently, we only use the first row:

emailc

fnamec

lnamec

sum

currency

Jon

Smith

100

NIS

Jonny

Smith

50

NIS

Dave

Cohen

100

USD

Here, both donations go to one donor named "Jon Smith".

How to import donations

  1. Go to Manage › CRM › Bulk import › Donors and donations. The Bulk import of donations page opens.

  2. Click Download CSV Template. The file has every column name and a few sample rows.

  3. Fill in one row per donation. Delete the sample rows before you upload.

  4. Save the file as CSV. If you use Excel and your file has Hebrew text, choose "CSV UTF-8".

  5. Back on the page, fill in the options:

    • Notification Email (optional): we email a summary to this address when the import finishes.

    • Select Date Format: choose dd/MM/yyyy or MM/dd/yyyy to match the dates in your file.

    • Receipt mode (Israeli charities only): choose None, Receipt or Receipt and email.

  6. Click Select file and choose your CSV file.

  7. Click Upload.

To see which codes to use in each column, click Special values on the page, or see Bulk import - special values.

You need the CRM permission to use this page. See Create and Manage Users.

After you upload: follow the import

The import runs in the background, so you can leave the page. The list under the upload form shows each file you uploaded:

  • File Name and Type

  • Status and Stage: where the import is now

  • Processed: rows handled so far, out of the total

  • Successful: rows imported

  • Created, Started and Finished: when the import was queued, started and ended

  • Receipt: the receipt mode you chose

  • Errors File: a download link, shown when some rows were not imported

The errors file lists the rows that were not imported. Each row ends with its line number and the reason. Fix those rows and upload them again as a new file.

Which columns are required?

  • emailc is required in every row. It must be a valid email address.

  • sum, currency and frequency go together. If a row has one of them, it needs all three.

  • For shekel (NIS) donations to charities with Section 46 approval, some payment columns are also required. See "Payment details" below.

Column names must match the template exactly. Columns can be in any order, and you can delete columns you don't use.

Template columns

Column

What to put

Required?

emailc

Donor's email address

Yes

fnamec

First name

No

lnamec

Last name

No

titlec

Title, for example Mr or Ms

No

addressc

Address

No

address2c

Second address line

No

cityc

City

No

countryc

Country name or code (see special values)

No

statec

U.S. state or Canadian province (see special values)

No

zipc

Zip or postal code

No

phonec

Phone number

No

dob

Date of birth, in the format you chose in Select Date Format

No

gender

Gender (see special values)

No

comments

Donor comments

No

facebookc

Facebook URL

No

linkedinc

LinkedIn URL

No

twitterc

Twitter URL

No

dnc

Do not contact: 1 or true, 0 or false

No

sum

Donation sum

With currency and frequency

currency

Currency code, for example NIS or USD (see special values)

With sum and frequency

frequency

1 = one-time, 2 = monthly, 3 = yearly

With sum and currency

installments

Number of installments

No

campaign_url

Your campaign's one-word page name, for example "dogs" for .../join/dogs

No

campaign_message

The message to show on the campaign page

No

show_name

1 = show the donor's name on the campaign page

No

show_sum

1 = show the donation sum on the campaign page

No

show_message

1 = show the donor's message on the campaign page

No

donation_date

Date of the donation, as day/month/year, for example 31/12/2024

No

project_id

The project's ID in our system

No

payment_method

Payment method code, 1–8 (see special values)

See "Payment details"

teudat_zehut_number

Donor's Israeli ID number, 8 or 9 digits

No

bank_name

Bank code (see special values)

See "Payment details"

bank_branch

Branch number, up to 3 digits

See "Payment details"

bank_account

Account number, digits only

See "Payment details"

checks_number

Check number, digits only

See "Payment details"

credit_card_number

Last 4 digits of the card

See "Payment details"

credit_card_type

Card type (see special values)

See "Payment details"

credit_card_expiration

Card expiry as MM/YY, for example 08/27

See "Payment details"

dcf1 … dcf20

Donation custom fields

No

cf1 … cf20

Donor custom fields

No

Donations to a campaign

  • Put the campaign's page name in campaign_url. If no campaign of yours has that name, the donation is still imported, but not linked to a campaign.

  • show_name, show_sum and show_message decide what appears on the campaign page. Enter 1 to show it. Leave it empty or enter 0 to hide it.

  • campaign_message is used only when the donation is linked to a campaign.

Donations to a project

Enter the project's number in project_id. You'll find it in the ID column of Settings › Organization › Projects/Allocations. If the number isn't one of your projects, the donation is imported without a project.

Payment details (shekel donations to Section 46 charities)

These rules apply when the currency is NIS and your charity has Section 46 approval:

  • payment_method 1 (credit card): fill in credit_card_number (last 4 digits), credit_card_type and credit_card_expiration (MM/YY).

  • payment_method 2 (check): fill in bank_name, bank_branch, bank_account and checks_number.

  • payment_method 4 (bank transfer): fill in bank_name, bank_branch and bank_account.

teudat_zehut_number is used only for NIS donations. For other currencies it is ignored.

If a required payment field is missing or in the wrong format, that row is not imported. The errors file tells you which field to fix.

Custom fields

  • Donation custom fields (dcf1 to dcf20): extra information saved on the donation itself, not on the donor. The template includes dcf1 to dcf10. You can add columns up to dcf20.

  • Donor custom fields (cf1, cf2 …): saved on the donor's profile. First create the field in Manage › CRM › Custom Fields. Use the name shown in its Short name column (for example cf1) as the column name. See Custom fields.

Did this answer your question?