Skip to content

Preparing your CSV

A .CSV file is a spreadsheet saved in a simpler format. CSV stands for “comma separated values”. Anything you can open in Excel, Numbers, Google Sheets, or LibreOffice can be saved as one.

Every importer page links a CSV template for its record type. Download it, put your data in, and you skip most of the guesswork. Column names in the template match what the importer expects.

One piece of data per column. First name and last name in separate columns. Street, city, state, and postal code in separate columns. A single “Address” column containing everything can’t be mapped usefully — and it’s the main reason contacts don’t appear on the contact map.

A header row. The first row should be column titles. The importer has a Use first row as titles checkbox, ticked by default.

Dates as YYYY-MM-DD. 2025-03-14. Unambiguous in every locale, which 03/14/25 is not.

Amounts as plain numbers. 250 or 250.00. Not $250, not 250 USD, not 1,250 — thousands separators break parsing.

Yes/no fields as Y or N.

One row per record. One row per contact, one row per gift.

Worth doing in the spreadsheet, where it’s fast:

  1. Add an organisation ID column if you don’t have one — email addresses work. This is the single highest-value thing you can do. See Importing overview.

  2. Split combined name columns. “Smith, Robert” needs to become two columns.

  3. Normalise the vocabulary. If your source uses “EFT”, “ACH”, and “Bank” for the same thing, pick one — otherwise you get three gift types.

  4. Remove summary rows. Exports often end with a totals row. It’ll import as a contact called “TOTAL”.

  5. Check for stray blanks in required columns. A gift row with no amount fails.

In Excel: File → Save As, change the format to Comma Separated Values (.csv), save.

In Numbers: File → Export To → CSV.

In Google Sheets: File → Download → Comma-separated values.

If names with accents or non-Latin characters come through as garbage, the file was saved in the wrong encoding. Save as CSV UTF-8 — Excel offers it as a separate option from plain CSV.

For a large or unfamiliar import, cut the file down to ten rows first. Import those, look at the result, then do the rest. Ten wrong records take a minute to fix; four thousand don’t.

Each importer has an Overwrite data with blank entries checkbox, off by default.

  • Off — blank cells in your CSV leave the existing value alone. Almost always what you want.
  • On — blank cells erase existing values.

Turn it on only when you deliberately want to clear fields in bulk, and take an export first.