If I knew that I could make the switch from the old Salesforce nonprofit Starter Pack to Convio Common Ground in less than 6 weeks, I would have made this move months ago.
Yes, it was time consuming, but not nearly as difficult as I thought it would be. I ended up using just under 7 billable hours of consulting support time. Now it’s just about tweaking little things that may not work right, and figuring out where we’ll need some Apex or VisualForce to smooth rough edges. Other than that, we’re fully up and running.
Here’s another techie-geeky and “won’t be interesting to you if you don’t know Salesforce” post… promise I’ll keep them more general in the future.
It’s been a welcome relief to break our dependence on the very limited Opportunity Contact Role to link contacts to their donations. When we receive a gift from ABC Corporation, it’s ABC Corporation that should be credited, not just John Smith who is our primary contact at ABC Corporation. When we receive a gift from Steve and Sally Smith, we need to know whether we should be crediting the family or just the individual. It was always a struggle before differentiating when a gift was from an organization or entity, and when it was from a single person. Now it’s much easier.
The best part of the switch is how much better it is to run reports. For 95% of the reports we need on transactions, we can select “Donations” or “Accounts and Contacts” as the sole report type. Everything we need to know is right there, giving us a look at our data that was such a pain to get before.
if anyone is thinking of making a similar transition, here’s some lessons I learned along the way:
Test, test, test: It’s a little disarming to not understand what will happen when a record is created or saved because you can’t see the code in the managed package. I spent a good two weeks using our real data to beat up on Common Ground, until I was confident that I could anticipate what would happen on every kind of import. David Cheng at Idealist Consulting suggested that I handle the migration this way and he was right.
I had to come up with some workarounds to make Common Ground behave the way we want it to. For example, I added an extra record type and workflows around eCommerce, to account for the fact that we sell merchandise on our website and need to track those transactions in a very different way. I also added fields to Campaign records that I could then easily push to the Opportunity using formulas on linked campaign donations.
By the time I was importing real data for the final time, I knew it would all fall into place and it did.
DemandTools Rocks: I knew this already, but wow, did I develop an even deeper appreciation for how wonderful and powerful this tool is. The good folks at CRM Fusion give this utility away to nonprofits. So grateful. There are things that DemandTools can do that the Salesforce Data uploader can’t touch. For example, there were times that I would be 3/4 of the way through carefully mapping 50 fields for an import and then realize that I missed something in the original Excel file. DemandTools let me save the configuration as a “scenario,” go back to Excel to make the necessary changes, and then reload the Excel file and the saved scenario and pick up right where I left off. Major time saver.
Ask Salesforce to lift restrictions on audit fields: When you import records to a new instance of Salesforce, the “created” and “last modified” dates are the dates that the record was created/modified in this instance of Salesforce. So years of data all with date that the records were imported. Not ideal. I could live with this on donations, where we report around “close date,” but not in Cases where everything hinges on the date the case was opened.
Salesforce will temporarily enable the ability to upload created dates, but only if you ask them by opening a support ticket. I opened a ticket on a Friday, and Salesforce enabled the fields I needed the following Monday. They turned this feature on for 2 weeks, which was plenty of time to get everything in.
Ask Salesforce to increase API limits: Anyone who was ever locked out of Twitter from a desktop client can relate to this one. Accessing Salesforce from an external application is not an all-you-can-eat buffet. Salesforce distributes API calls on a scaled basis, which for nonprofits on a basic grant like we are works out to 5,000 API calls allowed in a 24 hour period. This is typically fine for us, and I never ran into a problem with this in the 3 years before. But Common Ground requires uploads to happen in very small batch sizes. The smaller the batch size, the more calls to the server. I quickly hit the API limit.
Bad news is that I was locked out of uploading data for nearly 24 hours. Good news is that I asked Salesforce for a temporary bump up in API calls (from 5,000 to 50,000) until data migration was complete, which they granted. Never had a problem again.
I submitted a Salesforce Idea that they should just assume new organizations need more API calls temporarily to get data imported and not force organizations to hit the wall before asking for an increase.
Looking forward to working on something else for a while. 🙂