Skip to content

This article guides you through migrating recurring donations from an external system into Raisely, while ensuring MoveData matches them to your existing Salesforce recurring donation records rather than creating duplicates.

Context#

When your organisation migrates recurring donations to Raisely from another payment platform, MoveData receives new subscription data and creates recurring donation records in Salesforce. Because MoveData has no knowledge of your existing Salesforce records, you need to configure the Platform Key so MoveData can match the incoming Raisely subscriptions to your existing records.

Without this configuration, MoveData creates new recurring donation records, resulting in duplicates.

Before You Begin#

  • Your Raisely integration must be set up and active in MoveData. See Setting Up Raisely.
  • You need administrator access to Raisely and Salesforce.
  • You should be familiar with Duplicate Rules in MoveData.
  • Coordinate timing with Raisely to control when recurring donations are imported.

Danger

This process involves modifying live recurring donation records. We recommend performing these steps in a Salesforce sandbox first. See Setting Up in a Sandbox.

Steps#

Step 1: Identify Recurring Donations Being Migrated#

Create a list of the recurring donation records in Salesforce that correspond to subscriptions being migrated to Raisely.

  • Build a Salesforce report for easy access and review throughout the process.
  • Save this report -- you will refer to it in later steps.

Step 2: Understand How MoveData Matches Recurring Donations#

MoveData matches recurring donation records using the Platform Key field:

  • Raisely recurring donations contain a Subscription UUID (for example, 977c3600-50c6-11ed-8a6f-53e6db3905ae).
  • MoveData prefixes the Subscription UUID with raisely: to create a Platform Key value (for example, raisely:977c3600-50c6-11ed-8a6f-53e6db3905ae).
  • MoveData stores this value on the Platform Key field:
    • NPSP: npe03__Recurring_Donation__c.md_npsp_pack__Platform_Key__c
    • Nonprofit Cloud: GiftCommitment.Platform_Key__c
  • If a match on Platform Key is found, MoveData uses the existing record.
  • If no match is found, MoveData creates a new record.

You need to set the Platform Key value on all recurring donation records identified in Step 1.

Step 3: Understand How MoveData Matches Contact Records#

MoveData matches contacts using your Salesforce Duplicate Rules. When processing Raisely data, MoveData attempts to match against existing Contact records. If no match is found, a new Contact is created.

Warning

Ensure that the contact information in the Raisely import file aligns with the contact information on your existing Salesforce records. If email addresses or names differ, MoveData may create duplicate contacts or encounter validation errors such as Can't Change Household Account on Recurring Donation.

Key consideration: Raisely requires an email address for the person record associated with each imported recurring donation. If your existing contacts do not have email addresses, and Raisely assigns one, you must add the same email address to the Salesforce Contact record.

Step 4: Simulate Testing and Implement Changes#

The standard MoveData business logic applies when processing recurring donations from Raisely. You may need to customise this logic for your migration. Common fields that need attention:

Field Consideration
Date Established / Effective Start Date If your Salesforce record is months or years old, but Raisely issues a created date of today, MoveData will update this field. You may want to protect it.
Effective Date Similar to Date Established -- check whether MoveData's default behaviour suits your needs.
Campaign MoveData may associate the recurring donation with a different campaign.

Test with a small number of records first. Add business rules in your MoveData flows to support your desired behaviour, then repeat until the results match your expectations.

Step 5: Disable Subscription Webhooks and Import with Paused Status#

  1. In Raisely, remove all subscription webhook events from the campaign(s) receiving the imported recurring donations.
  2. Instruct Raisely to import the recurring donations with a status of Paused.

This prevents MoveData from processing the imports before you have set the Platform Keys.

Step 6: Export Subscription UUIDs and Set Platform Keys#

  1. In Raisely, export Subscription UUIDs via Reports > Create a Report > Regular Donation Schedules.
  2. For each recurring donation, create the Platform Key value by prefixing the Subscription UUID with raisely:.
  3. Update the Platform Key field on the corresponding Salesforce recurring donation records identified in Step 1.

Step 7: Enable Webhooks and Activate Subscriptions#

  1. Re-enable subscription webhook events on the campaign(s) in Raisely.
  2. Instruct Raisely to update the subscription statuses to Active.
  3. Monitor the resulting records in Salesforce to confirm MoveData is matching to your existing recurring donations.

Verify It Worked#

  1. Open the Notifications tab in the MoveData app in Salesforce.
  2. Check that subscription notifications are processing without errors.
  3. For each migrated recurring donation, confirm:
    • The Platform Key field is populated with the correct raisely: value.
    • No duplicate recurring donation records were created.
    • The Contact association is correct.

Other Considerations#

  • If contact records associated with existing recurring donations do not contain email addresses, and Raisely has assigned one, ensure the same email address is present on the Salesforce Contact record.
  • If you have unusual recurring donation schedules (for example, bi-annual or custom intervals), test these permutations before the full migration.
  • Consider using a Salesforce report to monitor for duplicates after the migration completes.
Ask MoveData AI
Ask about setup, configuration, or troubleshooting
How can I help you with MoveData today?