This week has been all about migrating contact and donation data into Salesforece. The job was to migrate about 300 contacts and their donation history from a legacy application, along with Excel, into Salesforce. Not a super big job but still a long process.
1. Export the data from the legacy application.
I needed the raw data. The good news is that end user was kind enough to generate a spreadsheet with that data. The bad news was that every line was based on the donation transaction. This meant that each row not only contained the donation information but also the contact details. Basically, a lot of duplicates. I spent some time filtering out the data and building a contact sheet and a donations sheet in Google Docs.
2. Importing Contact Information.
Now that I had the contact import sheet ready, its was easy to import them into Salesforce but using the Data Import Wizard. (Settings > Data Import Wizard)
3. Generate a report that have your new contacts and the Salesforce Contact ID
Here is were the hard part comes. I now needed to associated each donation, which is an opportunity in Salesforce, with the related contact ID. This meant that I needed to get a list of contact ID's. To do this, I used Salesforces's reporting engine to crate a report that had all this info. I then exported it to a CSV and imported into Google Sheets.
4. Adjust the import sheet.
At this point I had cleaned the donation data and had a list of all the contacts with the associated id's and needed to merge the data. In hindsight, I might of created a little script that merged the two bits of info but there was only about 300 records and had a short timeline so I did this part manually.
I also needed to create an account name to be associated with the opportunity (i.e. donation). I did this by adding a formula to the sheet that took the last name of the donation and added "family" to it.
5. Import the donations.
Now that I had the donations in a raw CSV file and ready to import. I used the free tier of a third party app called dataloader.io to import the info in as an opportunity.
I had the opportunity to attend the Salesforce Raleigh NC Nonprofit community Lunch n; Learn today and listen to Manish Aggarwal, Director, Community Cloud Practice at Salesforce, introduce us to Salesforce Communities. From what I understand, the idea behind the Communities engine is to easily build a client facing interface to Salesforce. I'm just learning about the product but it sounds interesting.
One thing that Manish briefly mentioned was how it could assist with the on-boarding process for channels. In my opinion, this might be overkill for small nonprofits but could be quite useful when they move to the next level. I also see it quite useful in the the traditional business world.
I also had the opportunity to talk and share stories with a few of the other attendees. This has to be one of the best parts of these meeting for me. One thing that I picked up was how another larger scale nonprofit was adding "Success Story" to their activity metrics. This simple process allows management to easily query their customer base when marketing is looking for "Success Story" information.
I'm going to start playing with this. I have a few ideas of how some of the nonprofits that I work with would find value in this information.