Cloud for Good
Close this search box.

Migrating from Common Ground to NGO Connect: Tips for Migration

Switching between two systems is always a tough process. Between the data migration, getting used to something new, and having to change the way you and your team does things, it’s enough to keep you on an old system for years after you probably should have moved off.  For Common Ground customers, however, the switch is inevitable and decisions have to be made since that product is being retired.  If you are in the middle of making this decision, a good piece of change management advice: stick to a Salesforce solution.  Moving from a Salesforce based solution to another Salesforce based solution is like moving from one kitchen to another. They both have the basics: stove, fridge, sink, oven. The pots, pans, and silverware might be different, but getting used to the bells and whistles is much easier than having to learn a whole new system. Luckily, Salesforce gives us lots of options. The Non-Profit Starter Pack and NGO Connect are two of them. Both have their pluses and minuses (see a comparison here), but that’s not what I’m here today to talk about. I’m here because I recently helped a client through a transition from Common Ground to NGO Connect, and I’d like to share a couple of tips for those of you who have already made the decision and are getting ready for migration.

  1. Pledges: Common Ground has a separate object for Pledges.  Payments on these pledges are actually Opportunity records linked back to the Pledge record.  My client definitely wanted to keep the parent Pledge record.  Luckily, NGO Connect uses Payments linked to a Parent Opportunity to track installments on a pledge.  Bringing these over to NGO Connect was made slightly more difficult due to the fact that when a Parent Opportunity is created, a payment record is automatically created.  The way I got around this was to import the Pledge records from Common Ground.  The Giving and the Transactions are both created in NGO Connect.  I then imported all the installments from Common Ground, with the Parent Opportunity filled in with the newly created Pledge.  After all Pledges and Installments are in NGO Connect, there should be one Donation record, one Payment record and as many installments as were in Common Ground.  The last step is to delete the automatically created Payment.
  2. Speaking of deleting records, along the way, during the data migration phase, you may have a need to mass delete Opportunity records. This may even be a need outside of the implementation.  If mass deleting, make sure that you’re only deleting out the actual Giving Record Types and not the Transaction.  Transaction record types will be deleted automatically by NGO Connect.  So if you try to delete a Transaction record, you’ll get the following error:

Error: rC_Giving.Opportunity_BeforeDelete: execution of BeforeDelete caused by: System.DmlException: Delete failed. First exception on row 0 with id 006o0000005vUoTAAU; first error: SELF_REFERENCE_FROM_TRIGGER, Object (id = 006o0000005vUoT) is currently in trigger rC_Giving.Opportunity_BeforeDelete, therefore it cannot recursively delete itself: [] (rC_Giving)

Just make sure that you are only deleting Giving records and not Transaction records and you’ll be golden.

  1. Designations. These are used in Common Ground to allocate parts of a donation to a specific account.  NGO Connect calls these Special Allocations and the Designations are actually General Accounting Units (GAUs).  They’re more robust in NGO Connect, but for the first import, you’ll want to import all Designations (cx__Designation__c) into the General Accounting Units object (rC_Giving__GAU__c). After that, import the Donation Designations (cx__Donation_Designation_Relationship__c) into the Special Allocations object (rC_Giving__Opportunity_Allocation__c). NGO Connect allows you to specify a specific percentage or fixed amount to different GAUs, so if you haven’t been splitting them up, you’ll need to import each Allocation at 100%.
  2. Salutations. These are mostly managed at the Account level in Common Ground. There are various ways that you can format the Salutations of a couple, with and without the suffixes and first and last names.  In NGO Connect, Salutations are handled by a separate object.  If Salutations are important to manage for your system, you’ll want to export these from the account level from Common Ground and import them into the Salutations object (rC_Bios__Salutation__c).  Salutations exist on the Account and the Contact level in NGO Connect, so you’ll want to explore how your environment will use them.

Changing systems is always a bit harrowing, but sometimes we have to get thrown into the water to learn how to swim.  If you are considering a switch, let us know and we can help with the migration from one system to another, including data transfers, training and customization.   The jump doesn’t have to be so painful.

Here are some other articles that may come in handy: