Data Migration

Things look different?  Several of Funraise's features have been updated since the release of this video.
Things look different?  Several of Funraise's features have been updated since the release of this video.

Hello. In this video, we'll walk through the process to import both Supporters and Transactions into Funraise. This process is commonly referred to as a data migration and is used to bring your historic data from a previous platform into Funraise.

Before we get started, it's important to note that structuring and importing data can be complex and will require patience even if you're a data expert.

An import is final. Funraise's team does not provide support for undoing or cleaning up a bulk import. Be sure to double-check your data before importing.

It's also good to first understand that a historic import consists of two record types, Supporters and Transactions. This tutorial will show how to format and import both of these record types.

All right, let's jump in.

The first step is to access Funraise's import templates and take a second to understand how they are formatted. You can find links to these import templates at our knowledge base.

The import template includes two sheets. You'll import data for Supporters into the Supporters tab in Transactions into the Transactions tab. Each sheet has column headers and notes with definitions. Most columns are not required.

We won't walk through each column in this video because you can find a detailed table with definitions for each column in our documentation.

OK, once we have a good understanding of the data that can be imported into Funraise, we're ready to start preparing our import file. You will likely have hundreds or thousands of records, but for this example, we've just added five Supporters and five Transactions.

As you can see, not all columns are required, so it's OK to leave none required columns blank. Before moving on, it's important to point out two very special columns. First, in the Supporters tab is import external ID. This is your previous platform's ID for your supporter records.

Although this field is not required for an import, it is critical to populate if you plan to import both Supporters and Transactions.

Second, in the Transactions tab is Supporter import external ID. This is also your previous platform Supporter I.D. for these transactions. You won't actually import this field when you upload transactions. It's just here, so we can later use it to cross-reference and populate Funraise's supporter ID columns on our Transactions.

Alrighty, after organizing and double-checking our data, we're ready to begin importing into Funraise. You'll need to import supporter records first. This is because when you import new supporters, Funraise creates new, unique IDs for these records. This Supporter ID is a required field for a transactions import.

So first, we'll import Supporters, then copy the newly created supporter IDs to our transaction records before importing them. Let's go ahead and download our Supporter sheet into a .csv that can be uploaded into Funraise. Before exporting, remove any empty rows. Now, let's jump into Funraise.

Inside Funraise, access your settings page by clicking your profile icon in the top right and then find imports. Here, you'll see a list of your historic imports. Click New Import. You can specify the type of record either Supporter or Transaction; we'll start with Supporter.

You can also select the import action. For a historic migration you'll select Add new records, but it's good to know that you can also use this tool to bulk update records in the future.

When you're ready, click Upload.

When the import model appears, click upload data from file and select the file. We'll ask if the first row contains column headers, and if you're using the template, then the answer is yes.

Next, you'll see all of the column mappings. This is where you can confirm or edit the field mappings. If you're using the template, your column should be mapped correctly automatically. You'll just need to confirm each mapping.

If you don't have any data in a particular column from the template, you can click to ignore the column. After confirming mappings, click review. On the review screen, you'll have an opportunity to preview each row in the import. If there are validation errors, the cell will be highlighted red and you can fix the error in-line without having to upload a new sheet.

After any errors are resolved, click continue and submit the important. The import will remain in a pending status until it is complete. When the import is complete, you'll receive an email with a link to the file that contains the results of the import. This results data-sheet is critical for our next step.

After receiving and downloading the results .csv, create a new sheet in your import template and copy the data. Here we're looking at an example of the results .csv. The columns in the sheet include the road number, whether or not the supporter was successfully created in Funraise, the new Funraise Supporter ID, which is labeled as the Imported Record ID and the Import External ID.

These new Funraise Supporter IDs will be mapped to our transaction records so that Funraise can assign transactions to the correct supporters. This step will require a VLOOKUP formula, which we'll create together.

Now, let's jump back to our transaction sheet to get our bearings. Our goal with this step is to populate the Supporter ID column for our transaction records. To do that, we'll use the Supporter Import External ID to find and populate the corresponding and newly created Funraise Supporter IDs.

The first thing we'll need to do is switch the order of the columns on our Supporter Import Results tab. This is because a VLOOKUP, Formula reads left to right. And we're technically vertically looking for the Imported Record ID by searching for the Import External ID. So just make sure that the Imported Record ID column is to the right of the Import External ID column. And although it's not required, it may be helpful to remove the additional column. So we're just looking at the two columns we need to reference.

Alright, now with our columns in the right order, let's jump back over to the Transactions tab. Our VLOOKUP formula will need to exist and all the Supporter ID cells. So we can write it in the first cell and then copy it down.

We'll start by defining our formula. You can enter equals VLOOKUP and open and close parentheses. The next step will be to add our arguments inside those parentheses. The first argument is the search key, which in our case is B2, because we'll be using the data in this cell to search for the corresponding Supporter ID.

The next argument is the range. Where we will be looking for this new ID. For our example, we'll need to define the range of another sheet because we've added our results .csv to another tab. To do that, we can enter the name of the sheet with an exclamation point, followed by the columns in the range. Which in our case is A through B.

The next argument is the index. The index is the column number of the range that has the value we're searching for. In our example, this is the second column. And finally, we can declare if this list is sorted or not. And it is not, so false is appropriate.

Great. With our formula in place, we can double-check the results and then drag this formula down to the remainder of the cells. Now, when we import these transactions, they'll be assigned to the correct supporters.

Let's export the sheet and jump over to Funraise. Don't forget to delete any empty rows before exporting. Inside Funraise will follow the same process as before to upload our transaction records. From imports, click New Import. Select Transactions as the record type and make sure the action is set to Add new records. Click Upload data from File and select your Transactions import file.

You'll also need to confirm or edit the mappings for the Transaction import. Be sure to ignore any columns without data. You'll notice when reviewing mappings that there is not a field for Supporter Import External ID, although this field exists on the import template. This is intentional.

You should not import this column. The only reason this column exists on the import template is so that you can VLOOKUP between the new and old supporter IDs. You want to make sure that you ignore this column when uploading your data. After all, mappings are confirmed.

Click Review. If there are any validation errors in your data, you will see them here and be able to fix them in-line. Once your import is ready, you can click to submit the upload. And that's it.

Now your Supporters and their Transactions are all in the right place.

Happy fundraising!

Show More
Some of the features in this lesson may not be included in every awesome Funraise plan.

Looking for Help?

Access to articles and documentation on how to be a pro Funraise-er

Go to Support