Import your data

Easily bring data into Beacon from anywhere with Beacon's flexible importing

Updated over a week ago

No matter where your data lives today, you can easily bring it into Beacon with our import feature.

Watch this video to give you a quick overview: Importing in 60 seconds!

Importing from a spreadsheet

If your data exists in spreadsheets, you can import them directly into Beacon. Watch our full guide video, or follow the steps below:

  1. Convert your spreadsheet into a CSV file. You can do this in Google Docs, Microsoft Excel, and Apple Numbers.

  2. Create an import template for the CSV, configuring how the data in your CSV file should flow into Beacon, and how duplicates should be handled. This is a fundamental step in making sure that your import is configured correctly. Read this article to learn how to set up import templates.

  3. After saving your import template, go to Import data > Run import.

  4. Choose your template, upload your CSV. You'll see that Beacon automatically checks that the file you've uploaded matches up with the template you've chosen.

  5. Start your import. Beacon will run the import immediately. Your import will usually be finished in under 1-2 minutes, although this depends on the amount of data you're importing.

Screenshot 2019-04-11 at 15.27.42

Importing from another CRM

If your data exists in another CRM, that's fine too! You'll first need to export the data from there as a CSV, and then create an import template for the data you'd like to import.

Importing from giving platforms

We have out of the box support for a growing number of giving platforms. These platforms have their own guides for importing data into Beacon.

Tips for importing

One of the useful things about Beacon's CSV importer is that you can import any kind of CSV you like!

Avoiding duplicates when importing data

When you're importing data, you want to update existing records instead of creating duplicates. See our guide here for how deduplication works in Beacon.

What exactly are you importing?

In Beacon, data is stored as "records". Records have different types, like "person", "event", "event attendee", or "payment".

When you're importing data, it's important to consider where this data should live. You can often import to several records at a time, such as importing Person details when importing Payments, but you can also import records one at a time if you have something to link them, such as an ID.

Considerations for different field types

You shouldn't need to do much offline editing before importing, but here's a few guidelines for the different field types: (also see the field types guide)

Person's name

  • We recommend splitting out full names into separate columns (first name, last name, etc) if they are available, but you can also import directly into the full name option if that's not possible

  • When mapping to a name field, you can choose to fix any name casing

  • If a person already exists (based on your deduplication settings), and you also include their first and last name, we'll intelligently "merge" any imported middle name or title into the existing name if the first & last name haven't changed.

Note: If you need to update someone's title or middle name, be sure to still map their first and last name, as otherwise it will clear the other parts of the name that are already in Beacon.

Short text

  • The maximum length of text is 255 characters. If you need longer than this, create a long text field instead.


  • The maximum length of URLs is 255 characters.

  • You can import Facebook and Twitter "handles" without specifying the full URL. (e.g. @cjhoughton, zuck)

Email address

  • Make sure email addresses are formatted correctly. Incorrectly formatted emails will not be imported.

  • Beacon will recognise and correctly import emails in any of the following formats:

  • All emails will be automatically converted to lowercase during the import.

  • If your email field allows multiple values, we'll add the new emails. If not, we'll replace the existing entry.

Phone number

  • Make sure the phone number is valid. Invalid phone numbers will not be imported.

  • Common import errors from phone numbers are from too few, or too many, numbers.

  • Beacon converts all phone numbers into the international format (e.g. +447792526879) during import.

  • If a phone number is not for the same country as your Beacon account, make sure it includes the international dialling code (e.g. an Australian number 0398765432 will not import into a UK account, but +61398765432, or 61398765432 will)

  • Beacon will import phone numbers without leading zeros (e.g. 7657889898)

  • Spaces, brackets, and the letter 'O' instead of zero, will all be ignored.

  • Phone numbers with extensions (e.g. "0203 8614 519 ext:3454") or notes (e.g. "Call mornings 0203 8614 519") will not be imported.

  • You can import multiple phone numbers from the same cell separated by commas (,), pipes (|), or semicolons (;). The first number will be set as Primary, and the rest as Secondary phone numbers.

  • If your phone field allows multiple values, we'll add the new numbers. If not, we'll replace the existing entry.

Dropdown list

  • The values in the cell should match the allowed values in your field (case insensitive)

  • If the above isn't possible (or convenient) then you can set up "option" mappings to set dropdown options for cell values (e.g. when email opt-in is "Yes", set contact consent option to "Email")

  • You can import to multi-dropdown lists - just put the values in the same spreadsheet cell, separated by any of:

    • Comma ,

    • Pipe |

    • Semicolon ;

    • A new line

    • For example: "Green, blue; orange | black"

  • If your dropdown list allows multiple options to be selected, we'll merge the new values uploaded with the ones that are already set. If not, we'll replace the existing entry.


  • Checked = when the column is: 1, true, yes, y (case insensitive)

  • Unchecked = when the column is: 0, false, no, n (case insensitive)

  • If no value in the cell, it will use the field's default value

Date (and time)

  • Dates and times can be imported in almost any format!

  • Date separators supported:

    • Slash /

    • Hyphen -

    • Period .

    • Space

  • Main formats supported:

    • Numbers (1/1/2021)

    • Numbers and words (1-Jan-2021)

    • Full words (1st January 2021)

    • ISO 8601 (2021-01-01 14:30)

  • Days, months, years can all be full (01 03 2019) or short (1.3.19) interchangably.

  • Time formats supported:

    • 24 hour time - 13:00

    • 24 hour time (short) - 13

    • Military time - 1300

    • 12 hour time - 1:00PM

    • 12 hour time (short) - 1pm

  • Dates and times should be together in the one cell (e.g. 1st Jan 2021 15:35)

  • Times must also include a date.

  • Dates and times imported to a date-only field will import only the date.

  • If you use a date format not listed here, Beacon may flag it as an invalid date when uploading your spreadsheet, but will still try a 'best guess' approach and attempt to import it.


  • Only valid numerical numbers will be imported. Text values like "five" will be skipped.


  • Rating fields are simply numbers - e.g. 3/5 stars is simply stored as '3'

  • Numeric values will be rounded to the nearest integer during import (rating fields do not support "partial" values such as 3.5).

  • After rounding, if the value is not within the allowed range (e.g. 1-5) it will be skipped.


  • Unlike spreadsheets, percentages in Beacon are stored as numbers 1-100+, rather than 0-1+ i.e. "90" = "90%".

  • You can import with a percentage symbol in the cell.


  • You can import either full units with a decimal (e.g. "1.80" for £1.80), or the sub-units without a decimal (e.g. "180" for 180 pence) by toggling 'Use sub-unit formatting'.

  • If you're importing data in a currency other than your default account currency, the cell should contain either the currency symbol (£, $ or € only) or the currency "ISO code" (GBP, USD, EUR only).

  • You can also set the currency of the amount from another column, by mapping that column to the the field's 'Currency'. This should be the 3-letter ISO code.

  • Currency values imported without a symbol or ISO code in the cell, or imported from another cell, will be imported using your default currency.

Link to a user

  • The name in the spreadsheet column should match the full name or email address of an active user in your Beacon account (case insensitive)

  • If the user field allows multiple values, we'll merge the new user(s) with the existing one(s). If not, we'll replace the existing entry.

Point to another record

  • When you import records that point to other records (e.g. Payments point to People), try to use the most unique field possible. An email address is usually the best option.

  • If the linking field allows multiple values, we'll merge the new value(s) with the existing one(s). If not, we'll replace the existing entry.

  • You can only point at one record at a time through each field - so you can't point a Person to two Organisations in the one import.


  • Addresses should ideally be split out into columns for its component parts:

    • Line 1

    • Line 2

    • City

    • Region

    • Country

    • Postal code

  • If you have a UK address in a single column, you can map to 'Address > Full' and Beacon will split the address using known UK cities and counties.

  • Beacon intelligently merges addresses if they are already set on a given record. For UK addresses, the "should we merge?" question is based on a postcode match. For international addresses, this is based on the address line one AND postal code matching.

  • If there isn't a match, and the field allows multiple addresses, we'll add it as an additional address. If not, we'll replace the existing entry.

Did this answer your question?