Skip to main content

'Mapping' Existing NPSP Recurring Donation Records to Classy Recurring Donations

Background/Use Case

This guide is intended for Salesforce organization admins who utilize the Classy for Salesforce integration, and have recently migrated or switched to recurring donation plans in Classy, and already have data on those plans in Salesforce under the NPSP recurring donation object. This guide cannot encapsulate all possibilities that an organization could encounter due to the customizability of Salesforce, and therefore the Classy for Salesforce support team is ultimately not responsible for mapping existing, historical non-Classy data to Classy data in a Salesforce instance.


Please proceed at your own risk.


Required - Knowledge Check & Prerequisites

The articles above will be referenced, and you must have an understanding of how the Classy for Salesforce integration handles recurring donations, along with the multiple fields it uses to map to a NPSP Recurring Donation Object. The Classy for Salesforce team does not offer guidance on NPSP configuration or training, and recommends one reaches out to Salesforce support for any NPSP-centric settings.


Please note:
  • Classy Recurring Donation Plans will not populate in Salesforce as the Classy Recurring Profile Object until there is a successful transaction in Classy. If the transaction count is 0 in Classy for the recurring plan, it will not be in Salesforce.
  • This means that some recurring donation plans will NOT be able to be mapped until they process with their first transaction in Classy and generate in Salesforce.

Steps

After installing the Classy for Salesforce integration and the Classy for NPSP packages and connecting your instance to Classy:

  1. Navigate: App Launcher > Classy Control Panel V2 > Settings > NPSP
  2. Locate Create & Update NPSP Recurring Donations. Ensure this setting remains disabled until the completion of this guide.
  3. Click Save.
  4. Ensure that all data from Classy is synced over, (the transactions for the recurring plans) using the Data Sync Tool

Gathering the Active Classy Recurring Profiles from Salesforce:

  1. Open Salesforce inspector Export option.
  2. Enter this SOQL query into the query field and press Enter:
select Id, name, stayclassy__sf_contact_id__c, stayclassy__sf_contact_id__r.Name, stayclassy__sf_contact_id__r.AccountId   from stayclassy__sc_recurring_profile__c WHERE stayclassy__status__c = 'Active' AND classy_npsp__Recurring_Donations__c = null

  1. Copy the results to an Excel or CSV sheet.

Gathering the existing, Active NPSP Recurring Profiles from Salesforce:

  1. Open Salesforce inspector Export option.
  2. Enter this SOQL query into the query field and press Enter:
select Id, name, npe03__Contact__c, npe03__Contact__r.Name, npe03__Contact__r.AccountId  FROM npe03__Recurring_Donation__c WHERE npsp__Status__c != 'Closed'

  1. Copy the results to an Excel or CSV to the same sheet above on a different tab.

Index Matching the Data to Map a Classy Recurring Profile to NPSP Recurring Donation Object:

Helpful guide on index matching: https://exceljet.net/articles/index-and-match

The purpose of index matching the Classy and NPSP objects is to link them together to be able to import the data into Salesforce to update the NPSP recurring object.

  1. Create a new column on the NPSP Recurring Donation Tab and title it "Match to Classy" or something easy for you to identify what you are trying to index match. For example: =INDEX('Classy Recurring Profile'!B:C,MATCH($C2,'Classy Recurring Profile'!C:C,0))excel.png
  2. You now have a NPSP Recurring Donation Salesforce Object ID matched to a Classy Recurring Profile ID, which is what you will need for next steps.

Mapping your existing NPSP Recurring Donation Plans to Classy Profiles

Utilizing the data prepared in the block of steps above, you will need to prepare two separate CSVs for import into Salesforce.

NPSP Recurring Donation Import

  1. The first import will update the NPSP Recurring Donation Object with the Classy Recurring Profile Id. The following headers will need to exist representing the fields you need to import:
    1. Id (this is the NPSP Recurring Donation Object Salesforce ID, e.g. a0b5f000000vj8kAAA)
    2. classy_npsp__Classy_Recurring_Profile_ID__c (This is the Classy Identifier of the recurring profile you matched to the NPSP record on via contact ID, e.g '789321' )
  2. Once a spreadsheet is generated with these headers, you may simply copy the relevant information from our index matched sheet, so the NPSP recurring Salesforce Object Ids and the Classy Recurring Profile Id on the same row can be copied to the new sheet, like so: num2.png
  3. Using Salesforce inspector, select Data Import: . . num3.png
  4. Configure the following fields on the Data import page:
    1. Action: Update
    2. Object: npe03__Recurring_Donation__c
    3. Format: Pick the format of the sheet prepared in the first step.
    4. Data: Copy the Data from your prepared sheet.
    5. Batch Size: 200 (default)
    6. Threads: 1
  5. You may now press Import, which will perform a batch update of all NPSP Recurring Donations in the file and link the Classy Recurring Profile

Classy Recurring Donation Import

  1. The second import will update the Classy Recurring Profile Object with the NPSP Recurring Id. The following headers will need to exist representing the fields you need to import:
    1. Id (this is the Classy Recurring Profile Object Salesforce ID, e.g. a0Q5f000001X7u7EAC)
    2. classy_npsp__Recurring_Donations__c (This is the Classy Identifier of the NPSP Recurring Donation Object you matched to the Classy Record record on via contact ID, e.g a0b5f000000vj8kAAA )
  2. Once a spreadsheet is generated with these headers, you may simply copy the relevant information from our index matched sheet, so the Classy Recurring Profile Salesforce Object Id and the NPSP Recurring Profile Salesforce Object Id on the same row can be copied to the new sheet, like so: num2-2.png
  3. Using Salesforce inspector, select Data Import:

dataimport.png

  1. Configure the following fields on the Data import page:
    1. Action: Update
    2. Object: stayclassy__sc_recurring_profile__c
    3. Format: Pick format of the sheet prepared in first step.
    4. Data: Copy and paste the Data from your prepared sheet (including headers).
    5. Batch Size: 200 (default)
    6. Threads: 1
  2. You may now press Import, which will perform a batch update of all Classy Recurring Profiles in the file and link the NPSP Recurring Donation object.

Final Steps

  1. Navigate: App Launcher > Classy Control Panel V2 > Settings > NPSP
  2. Locate Create & Update NPSP Recurring Donations. ENABLE this setting.
  3. Click Save
Additional Notes
  • Plans migrated to Classy that have no charge in Classy cannot be mapped until there is at least one successful transaction in Classy.
  • This process can be completed as many times as one desires until all existing plans have been mapped.
  • The Salesforce Inspector plugin is not required to use this guide, but vastly improves the efficiency of the mapping. Viable alternatives for the queries include Salesforce reports or other third party programs.
  • Salesforce Data Loader can be used in lieu of the Data Importer function of Salesforce inspector, in much the same manner as described above.